ホームページ >テクノロジー周辺機器 >AI >自然言語処理技術におけるテキスト類似度計算問題
import numpy as np from gensim.models import Word2Vec def sentence_similarity(sentence1, sentence2, model): vec1 = np.mean([model[word] for word in sentence1 if word in model], axis=0) vec2 = np.mean([model[word] for word in sentence2 if word in model], axis=0) similarity = np.dot(vec1, vec2) / (np.linalg.norm(vec1) * np.linalg.norm(vec2)) return similarity # 加载预训练的Word2Vec模型 model = Word2Vec.load('path/to/word2vec.model') # 示例句子 sentence1 = '我喜欢吃苹果' sentence2 = '我不喜欢吃橙子' similarity = sentence_similarity(sentence1, sentence2, model) print('句子相似度:', similarity)ドキュメント レベルでは、ドキュメントは単語頻度行列または TF-IDF ベクトルとして表すことができ、その後、単語間の類似性を計算します。それらは計算されています。以下は、TF-IDF ベクトルを使用してドキュメントの類似性を計算するサンプル コードです:
from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity def document_similarity(document1, document2): tfidf = TfidfVectorizer() tfidf_matrix = tfidf.fit_transform([document1, document2]) similarity = cosine_similarity(tfidf_matrix[0], tfidf_matrix[1]) return similarity[0][0] # 示例文档 document1 = '我喜欢吃苹果' document2 = '我不喜欢吃橙子' similarity = document_similarity(document1, document2) print('文档相似度:', similarity)2. テキストの類似性計算のアプリケーション シナリオテキストの類似性の計算は、幅広いフィールドに適用できます。アプリケーションの値。以下にいくつかの一般的なアプリケーション シナリオを示します。
以上が自然言語処理技術におけるテキスト類似度計算問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。