如何確定 Python 中文字文檔之間的相似性?

Patricia Arquette
發布: 2024-10-23 06:52:02
原創
129 人瀏覽過

How Can You Determine the Similarity Between Text Documents in Python?

確定文本相似度

在自然語言處理(NLP) 中,確定兩個文本文檔之間的相似度至關重要。最常見的方法是將文件轉換為 TF-IDF 向量並計算餘弦相似度。

實作 TF-IDF 和餘弦相似度

在 Python 中,Gensim scikit-learn 套件提供了 TF-IDF 和餘弦相似度的實作。以下程式碼使用scikit-learn 將文件轉換為TF-IDF 向量併計算它們的成對相似度:

<code class="python">from sklearn.feature_extraction.text import TfidfVectorizer

# Load documents
documents = [open(f).read() for f in text_files]

# Create TF-IDF vectorizer
tfidf = TfidfVectorizer().fit_transform(documents)

# Compute pairwise similarity
pairwise_similarity = tfidf * tfidf.T</code>
登入後複製

解釋結果

Pairwise_similarity 是稀疏的表示文檔之間相似度分數的矩陣。每個文件與其自身的相似度為 1,因此這些值被屏蔽掉。下面的程式碼尋找與給定輸入文件最相似的文件:

<code class="python">import numpy as np

# Input document index
input_idx = corpus.index(input_doc)

# Mask out diagonal and find the most similar document
np.fill_diagonal(pairwise_similarity.toarray(), np.nan)
result_idx = np.nanargmax(pairwise_similarity[input_idx])

# Get the most similar document
similar_doc = corpus[result_idx]</code>
登入後複製

其他方法

Gensim 為文字相似性任務提供了附加選項。另一個值得探索的資源是[這個 Stack Overflow 問題](https://stackoverflow.com/questions/52757816/how-to-find-text-similarity- Between-two-documents)。

以上是如何確定 Python 中文字文檔之間的相似性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!