繁体   English   中英

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

[英]Removing non-english words from a sentence in python

我已编写了将查询发送到Google并返回结果的代码。 我从这些结果中提取摘要(摘要)以进行进一步处理。 但是,有时这些片段中会出现非英语单词,我不希望它们出现。 例如:

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

我只想在这句话中加上“不加强调”的字眼。 我怎样才能做到这一点? 谢谢

PyEnchant对您来说可能是一个简单的选择。 我不知道它的速度,但是您可以执行以下操作:

>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.check("Hello")
True
>>> d.check("Helo")
False
>>>

您可以在此处找到一个教程,该教程还提供了一些返回建议的选项,您可以再次为其他查询或其他内容提供建议。 另外,您可以检查结果是否为latin-1(is_utf8()准分子,不知道is_latin-1()是否也是如此,也许可以使用Enca之类的方法来检测文本文件的编码,这取决于他们的语言。)

您可以将收到的单词与英语单词词典进行比较,例如BSD系统上的/ usr / share / dict / words。

我认为google的结果大部分在语法上是正确的,但如果不是,则可能必须研究词干才能与字典匹配。

您可以使用PyWordNet。 这是WordNet的python接口。 只需在空白处分割句子,然后检查字典中是否有每个单词。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM