从python中的句子中删除非英语单词

时间:2010-10-27 09:11:13

标签: python unicode non-english

我编写了一个代码,可以向Google发送查询并返回结果。我从这些结果中提取片段(摘要)以供进一步处理。但是,有些时候非英语单词出现在这些片段中,我不想要它们。例如:

/\u02b0w\u025bn w\u025bn unstressed \u02b0w\u0259n w\u0259n/ 

我只想要这句话中“不重读”的字眼。 我怎样才能做到这一点? 感谢

3 个答案:

答案 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接口。只需将你的句子分成白色空格,并检查每个单词是否在字典中。