<分区>
嗯,我知道这个问题被问了很多次,但我仍然无法用“可用”解决方案解决它。希望对如何在 python 中检测我的句子是英语有任何进一步的想法或概念。可用的解决方案:
- 语言检测器(在 ruby 中而不是在 python 中:/)
- Google Translate API v2(不再免费,我出于学术目的做这个项目时每月必须支付 20 美元。礼貌限制:0 个字符/天)
- python 的语言识别(未找到源代码,链接在下面。automatic-language-identification)
- Enchant (它不适用于 python 2.7?我是 python 的新手,有什么指南吗?我打赌这就是我需要的)
- 来自 NLTK 的 Wordnet(我不知道为什么缺少“wordnet.synsets”,只有“wordnet.Synset”可用。解决方案中的示例代码对我也不起作用 T_T,可能又是版本控制问题?)
- 将英文单词存储到列表中并比较该单词是否存在(是的,这是一种糟糕的方法,而句子来自 Twitter 并且..你知道的 :P)
可行的解决方案
最后经过一系列的尝试,下面是可行的解决方案(替代上面的列表)
- Wiktionary API(使用Urllib2和simplejson来解析它。然后查找键是否为-1表示该词不存在。否则是英文。当然,要在twitter中使用必须将您的词预处理成无特殊@#,?! 之类的字符。关于如何找到 key 将引用这里。Simplejson and random key value )
- 来自 Dogukan Tufekci 的回答(打勾)(弱点:如果句子长度少于 20 个字符,则必须安装 PyEnchant 否则它将返回 UNKNOWN。虽然 PyEnchant 不支持 Python 2.7,这意味着无法安装并且无法正常工作少于20个字符的句子)
引用