2 回答
TA贡献1836条经验 获得超4个赞
在比较之前,您必须对文本进行标准化。首先决定是否four或是4您的规范形式并将所有字符串转换为该形式。
例如,如果four是标准形式,然后写入代码来替换1与one,213与two hundred and thirteen,等等,并且不与这些进行比较。
实际上,我认为标准化为4而不是four因为在某些语言中表达数字的方法不止一种。通过优选4,可以将所有等效转录标准化为一种单一形式。
TA贡献1860条经验 获得超8个赞
我现在尝试使用 NLTK 库来更有效地将字符串拆分为单词列表。此外,我尝试查找每个单词的同义词并比较同义词是否匹配。这仍然不能真正解决任务,所以我想知道我还能尝试什么。
我使用这两个库:
from nltk.tokenize import word_tokenize
from nltk.corpus import wordnet
拆分单词很简单:
s1_set = word_tokenize(list1)
现在我尝试查找单词的同义词并采用第一个找到的同义词。我将它附加到一个名为“wl1”的空列表中。我之前检查过,是否找到任何同义词,因为情况并非总是如此。
for i in range(0, (len(s1_set)-1)):
#Find synonym of word in s1_set index i
t1 = wordnet.synsets(s1_set[i])
#Ensure t1 isn't empty
if t1:
wl1.append(t1[0].lemmas()[0].name())
然后我再次像上面的第一篇文章一样逐字比较。这种方法也不能令人满意地解决我的问题。谁能想到更好的方法?
添加回答
举报
