使用 NLTK 将两个字符串匹配在一起?
Matching two strings together using NLTK?
所以我正在尝试编写一个程序来接收 2 个字符串,例如:
"I like pizza better cold"
和
"I really enjoy pizza when it is chilled"
并找出这两个东西与类似的东西相比是否相互匹配:
"I like pizza better cold"
和
"Pizza really sucks."
以上不匹配。
我已经找到了可用于 Python 的 NLTK 语言来执行此操作。我只是想知道是否有人以前从事过类似的工作并有任何建议? NLTK 是要走的路吗?我应该使用什么功能或规格?
我正在考虑将字符串拆分为标记,然后挑选形容词和名词作为标记的主要方法,然后可能使用情感分析算法来确定它是否是积极的,然后根据此匹配字符串...
这只是我为了好玩而进行的一个小副项目,所以在这里做任何事情都会有好处:)
干杯,
威尔
根据你的问题,你想比较两个句子,然后大概找出它们匹配的百分比。
要查找句子之间的相似性,您可以使用 Jaccard Similarity
或 Cosine Similarity
。
余弦相似度参考这个How to calculate cosine similarity given 2 sentence strings? - Python
如果余弦相似度小于则句子不相似但如果接近1则句子相似
NLTK 可用于查找句子中单词的同义词,以便您可以从句子中获取语义。
要查找同义词,您可以使用以下代码:
from nltk.corpus import wordnet as wn
wn.synsets(your word)
所以我正在尝试编写一个程序来接收 2 个字符串,例如:
"I like pizza better cold"
和
"I really enjoy pizza when it is chilled"
并找出这两个东西与类似的东西相比是否相互匹配:
"I like pizza better cold"
和
"Pizza really sucks."
以上不匹配。
我已经找到了可用于 Python 的 NLTK 语言来执行此操作。我只是想知道是否有人以前从事过类似的工作并有任何建议? NLTK 是要走的路吗?我应该使用什么功能或规格?
我正在考虑将字符串拆分为标记,然后挑选形容词和名词作为标记的主要方法,然后可能使用情感分析算法来确定它是否是积极的,然后根据此匹配字符串...
这只是我为了好玩而进行的一个小副项目,所以在这里做任何事情都会有好处:)
干杯, 威尔
根据你的问题,你想比较两个句子,然后大概找出它们匹配的百分比。
要查找句子之间的相似性,您可以使用 Jaccard Similarity
或 Cosine Similarity
。
余弦相似度参考这个How to calculate cosine similarity given 2 sentence strings? - Python
如果余弦相似度小于则句子不相似但如果接近1则句子相似
NLTK 可用于查找句子中单词的同义词,以便您可以从句子中获取语义。
要查找同义词,您可以使用以下代码:
from nltk.corpus import wordnet as wn
wn.synsets(your word)