【发布时间】:2010-09-20 09:42:25
【问题描述】:
有没有办法(程序、库)大致知道文档是用哪种语言编写的?
我有一堆混合语言的文本文档 (~500K) 要导入支持 i18n 的 CMS (Drupal)..
我不需要完美匹配,只需要一些猜测。
【问题讨论】:
标签: nlp classification language-detection
有没有办法(程序、库)大致知道文档是用哪种语言编写的?
我有一堆混合语言的文本文档 (~500K) 要导入支持 i18n 的 CMS (Drupal)..
我不需要完美匹配,只需要一些猜测。
【问题讨论】:
标签: nlp classification language-detection
似乎有一个 Perl 模块:Lingua::Identify
保罗。
【讨论】:
有一种非常简单的方法可以做到这一点,因为您拥有需要识别的所有不同语言的语料库数据。这称为 n-gram 建模。不过,我认为 Lingua::Identify 已经这样做了,所以这是你最好的选择,而不是自己实现。
【讨论】:
Google Translation API 很酷,并且有一个 REST 接口。但是我需要向它发送很多 BIG 文档(是的,我可以使用摘录),即使 Google 是 Google,我也不认为这 公平。
文件也不是我的,我会问我的客户是否可以将它们发送给第三方(即使 G 迟早 会得到它们;))。
我想我会走 Perl 路径...
【讨论】:
通过在 Google 上搜索“determine language of document”,我发现了许多可以帮助您的不同网站。第一页上的第三个链接最终将我带到了 Google Code API 中的 function,这正是您所需要的。
【讨论】:
我会说你最好的选择是寻找你正在寻找的语言所独有的关键词——文章之类的东西。例如,“Un”将同时出现在西班牙语和法语中,但“une”可以识别为法语,而“unos”例如可以识别为西班牙语。变音符号也很有用——你会在西班牙语和葡萄牙语中看到“ñ”,在法语中看到“ç”,还有其他一些……诸如此类。
edit - Paul 的解决方案可能是最好的;看起来它使用了我概述的方法,以及一些额外的方法。
【讨论】: