2

我正在开发一个小型图书馆自动化软件,我需要确定一个单词是英语还是土耳其语。一个示例场景是这样的:

  • 用户输入书名。
  • 确定它是土耳其语还是英语。
  • 将语言组合框设置为相应的语言以帮助用户填写表格。

我的一个朋友建议我“连接到谷歌翻译并使用它”,这似乎是合理的,但不连接外部服务或数据库的算法更适合我。(我还搜索土耳其语/英语特定字符,如ç、ş、İ/w、x 来决定)因此我正在搜索一种算法来完成这项工作,可能基于字母频率或类似的东西。文学中有什么可用的吗?提前致谢。(如果很重要,我使用php,mysql)

4

2 回答 2

3

如果您要测试的样本很小(单个单词或短语),那么简单的启发式方法(如字母频率)就不会很有用,因为英文短语“Jazz Quizzes”可能更适合许多语言的配置文件比英语。

您可能可以使用双字母和三字母的频率(2 和 3 字母组合),因为英语和土耳其语完全不相关,以至于组合仅出现在一个中。

然而,更有可能的是,您将不得不使用来自两种语言的实际单词的数据库。在这种情况下,您可能最好使用第三方 API 或数据库,而不是全力构建自己的语料库、实现统计算法等。

于 2013-04-07T21:20:20.923 回答
2

根据评论。

请检查: Detect language from string in PHP

或者:

http://wiki.apache.org/solr/LanguageDetection

Solr 可以给你概率的语言(例如这句话是 90% 英语或 10% 土耳其语)

于 2013-04-07T21:22:29.300 回答