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 係數。
相關
- 專案
- 專案
- 專案
- 專案
- 專案