我需要从Facebok和Twitter中提取帖子和推文到我们的数据库进行分析。我的问题是系统只能处理英文句子(短语)。那么如何从我的数据库中删除非英文帖子,推文。
如果您确实知道NLP中的任何算法都可以这样做,请告诉我。
谢谢和问候
答案 0 :(得分:4)
通常最好避免自动语言识别 - 例如,https://dev.twitter.com/docs/api/1/get/search表示返回的推文包含可能有用的字段iso_language_code
。
如果这还不够好,你必须要么
答案 1 :(得分:2)
获取英文字典,查看文本中的大多数单词是否在其中。由于您正在查看在线文本,请务必包含常用的俚语和缩写。
如果将字典存储在trie数据结构中,则可以非常快速地运行。
我认为花哨的NLP对于这项任务来说有点过分。如果语言不是英语,则无需识别语言,因此您只需使用英语的一些简单特征测试您的文本。
答案 2 :(得分:2)
我尝试在推文上使用标准库进行语言检测。你会得到很多漏报,因为在名字,表情符号等方面有很多非标准字符。在信噪比较低的小帖子中,这个问题更为严重。
主要问题不是算法而是过时的数据源。我建议从Twitter抓取/流式传输一个新的。 Twitter中的语言标志基于地理信息,因此在所有情况下都不起作用。 (中国人仍然可以在美国上中文)。我建议使用很多说英语的人的白名单并收集他们的帖子。
答案 3 :(得分:2)
我写了一个小小的推文语言分类器(无论是英语还是非英语),如果我记得正确的话,它的准确率是95 +%。我认为这只是天真的贝叶斯+ 1000个训练实例。将其与位置信息相结合,您可以做得更好。
答案 4 :(得分:1)
答案 5 :(得分:1)
您是否尝试过LSI(潜在语义索引)的SVD(单值分解)& LSA(潜在语义分析)?见:http://alias-i.com/lingpipe/demos/tutorial/svd/read-me.html