使用【python】写【文本相似度分析】的代码,提供给我一个,键盘输入“1”然后按“”ENTER“”,循环指令
时间: 2024-10-22 09:15:39 浏览: 26
在Python中,我们可以使用`nltk`库中的`cosine_similarity`函数来进行文本相似度分析,这里我将给出一个简单的示例。首先,你需要安装`nltk`库,如果还没有安装,可以运行`pip install nltk`。
```python
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
# 获取用户输入
while True:
user_input = input("请输入两个文本字符串(按'q'退出): ")
if user_input.lower() == 'q':
break
# 分词、移除停用词并转换成向量
def preprocess(text):
stop_words = set(stopwords.words('english'))
tokens = word_tokenize(text)
filtered_text = [token for token in tokens if token not in stop_words]
return filtered_text
text1 = preprocess(user_input.split()[0])
text2 = preprocess(user_input.split()[1])
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform([' '.join(text1), ' '.join(text2)])
# 计算余弦相似度
cosine_sim = np.dot(tfidf_matrix[0], tfidf_matrix[1].T) / (np.linalg.norm(tfidf_matrix[0]) * np.linalg.norm(tfidf_matrix[1]))
similarity_score = cosine_sim.item()
print(f"文本1与文本2的相似度分数: {similarity_score}")
阅读全文