我正在开发一个小型图书馆自动化软件,我需要确定一个单词位于English或Turkish。示例场景是这样的:
我的一位朋友建议我“连接谷歌翻译并使用它”,这似乎是合理的,但是没有连接外部服务或数据库的算法对我来说更合适。 (我也搜索土耳其语/英语特定字符,如ç,ş,İ/ w,x来决定)因此我正在搜索算法来完成这项工作,可能基于字母频率或类似的东西。文学中有什么可用的吗?提前致谢。 (我使用php,mysql,如果它很重要)
答案 0 :(得分:3)
如果您正在测试的样本很小(单个单词或短语),那么简单的启发式(如字母频率)就不会非常有用,因为英语短语“Jazz Quizzes”可能符合许多人的个人资料语言比英语更容易。
你可以使用bigraph和trigraphs(2和3个字母的组合)的频率,因为英语和土耳其语是完全无关的,只有组合只出现在一个组合中。
然而,更有可能的是,您将不得不使用来自两种语言的实际单词的数据库。在这种情况下,您可能最好使用第三方API或数据库,而不是全力以赴构建自己的语料库,实施统计算法等。
答案 1 :(得分:2)
根据评论。
请检查: Detect language from string in PHP
或:
http://wiki.apache.org/solr/LanguageDetection
Solr可以为您提供概率语言(例如,这句话是90%英语或10%土耳其语)