shibing624/similarity

similarity: Text similarity calculation Toolkit for Java. 文本相似度计算工具包,java编写,可用于文本相似度计算、情感分析等任务,开箱即用。

解決する課題

このプロジェクトは、単語から段落に至るまで、異なる粒度でテキスト文字列間の類似度スコアを計算するためのJavaベースのツールキットを提供します。また、感情分析や、単語埋め込みを使用した近似語の検索ツールも提供します。

仕組み

このライブラリは、テキストの長さに応じて分類されたさまざまなアルゴリズムを実装しています:

  • 単語: Cilinエンコーディング、中国語意味論的手法、編集距離などのメソッドを使用します。
  • フレーズ: 共有される文字とその位置に基づいて類似度を計算します。
  • 文章: 形態素類似度(品詞と語順の組み合わせ)およびさまざまな編集距離アルゴリズムを採用しています。
  • 段落: コサイン類似度(TF-IDFおよび品詞の重み付けを使用)、Jaccard、ユークリッド距離、およびハミング距離を用いたSimHashを利用します。
  • 感情: HowNet意味プリミティブツリーに基づいて単語の極性を分析します。
  • 近似語: Word2vecを統合し、ベクトルベースの類義語推奨を行います。

対象者

これらのNLPアルゴリズムをゼロから実装することなく、テキスト類似度測定、感情分析、または類義語発見をアプリケーションに統合する必要があるJava開発者。

ハイライト

  • 多粒度サポート: 単語、フレーズ、文章、段落専用のアルゴリズム。
  • 低結合: メンテナンスを容易にするために、内部モジュールは疎結合に設計されています。
  • 遅延読み込み: パフォーマンスを向上させるため、モデルは必要なときにのみロードされます。
  • カスタマイズ可能: Word2vecのカスタムコーパスでのトレーニングをサポートしています。
  • 包括的な距離指標: 段落比較用にJaro-Winkler、Manhattan、Sørensen–Dice係数を含んでいます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト