python - 用python检测英文文本

标签 python api python-2.7 nlp

<分区>

嗯,我知道这个问题被问了很多次,但我仍然无法用“可用”解决方案解决它。希望对如何在 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个字符的句子)

引用

最佳答案

你可以试试 guess_language我通过 Miguel Grinber's The Flask Mega Tutorial 找到的图书馆.看起来它支持 Python 2 和 3,所以应该没问题。

关于python - 用python检测英文文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15261004/

相关文章:

python - 如何在Python中逐字输入一行?

python - 从YouTube channel 逐页获取所有视频

android - 适用于 Android 的 Instagram 自定义 URL 方案

api - 适用于Sonatype Nexus v3.x的REST API

google-app-engine - Google App Engine 上的 500 服务器错误,不知道为什么

python - 在 Django 中实现长时间运行的子进程的最佳方式?

python - 如何默认隐藏wxpython状态栏

工作日的 Python 日期范围生成器

python - 刽子手程序的缺陷

python - 在 matplotlib 中将科学记数法指数移动到 y 轴的右侧