使用【python】写【文本相似度分析】的代码 地牢闯关
时间: 2024-10-13 13:12:42 浏览: 27
在Python中,我们可以使用多种库来进行文本相似度分析,其中最常用的是NLTK(Natural Language Toolkit)和gensim。下面是一个简单的例子,我们将使用nltk的`cosine_similarity`来计算两个文本之间的余弦相似度:
```python
from sklearn.feature_extraction.text import TfidfVectorizer
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
import string
# 函数用于预处理文本(移除停用词和标点)
def preprocess(text):
stop_words = set(stopwords.words('english'))
text = ''.join([word for word in text if word not in string.punctuation and word.lower() not in stop_words])
return text
# 示例文本
text1 = "这是一段示例文本"
text2 = "这是另一段相似的文本"
# 预处理文本
preprocessed_text1 = preprocess(text1)
preprocessed_text2 = preprocess(text2)
# 创建TF-IDF向量表示
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform([preprocessed_text1, preprocessed_text2])
# 计算余弦相似度
similarity_score = cosine_similarity(tfidf_matrix[0:1], tfidf_matrix)[0][1]
print("文本1和文本2的相似度为:", similarity_score)
阅读全文