我编写了一个代码,可以向Google发送查询并返回结果。我从这些结果中提取片段(摘要)以供进一步处理。但是,有些时候非英语单词出现在这些片段中,我不想要它们。例如:
/\u02b0w\u025bn w\u025bn unstressed \u02b0w\u0259n w\u0259n/
我只想要这句话中“不重读”的字眼。 我怎样才能做到这一点? 感谢
答案 0 :(得分:3)
PyEnchant可能是一个简单的选择。我不知道它的速度,但你可以做以下事情:
>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.check("Hello")
True
>>> d.check("Helo")
False
>>>
找到了一个教程here,它还提供了返回建议的选项,您可以再次使用其他查询或其他内容。另外你可以检查你的结果是否在latin-1(is_utf8()中,不知道是否is_latin-1()也可以,也可以使用类似Enca的东西来检测文本文件的编码,他们的语言知识的基础。)
答案 1 :(得分:1)
您可以将收到的单词与英语单词词典进行比较,例如/ usr / share / dict / words在BSD系统上。
我猜大多数情况下googles结果在语法上是正确的,但如果没有,你可能需要研究词干以便与你的词典相匹配。
答案 2 :(得分:1)
您可以使用PyWordNet。这是WordNet的python接口。只需将你的句子分成白色空格,并检查每个单词是否在字典中。