如何判断纯文本文件是用什么语言编写的?[已关闭]

2022-09-01 17:14:25

假设我们有一个文本文件,内容如下:“Je suis un beau homme ...”

另一个:“我是一个勇敢的人”

第三个用德语写成:“Guten morgen。Wie geht's ?”

我们如何编写一个函数来告诉我们:第一个文件中的文本是英文的,第二个文件中的文本是法语等?

欢迎链接到书籍/开箱即用的解决方案。我用Java编写,但如果需要,我可以学习Python。

我的评论

  1. 我需要添加一个小注释。文本可能包含不同语言的短语,作为整体的一部分或由于错误。在经典的垃圾中,我们有很多例子,因为贵族成员是多语言的。因此,概率可以更好地描述这种情况,因为文本的大多数部分都是用一种语言写的,而其他部分可能是用另一种语言编写的。
  2. 谷歌API - 互联网连接。我宁愿不使用远程功能/服务,因为我需要自己做或使用可下载的库。我想对这个话题做一个研究。

答案 1

有一个名为JLangDetect的软件包,它似乎完全符合您的要求:

langof("un texte en français") = fr : OK
langof("a text in english") = en : OK
langof("un texto en español") = es : OK
langof("un texte un peu plus long en français") = fr : OK
langof("a text a little longer in english") = en : OK
langof("a little longer text in english") = en : OK
langof("un texto un poco mas largo en español") = es : OK
langof("J'aime les bisounours !") = fr : OK
langof("Bienvenue à Montmartre !") = fr : OK
langof("Welcome to London !") = en : OK
// ...

编辑:正如Kevin所指出的,在org.apache.nutch.analysis.lang软件包提供的Nutch项目中也有类似的功能。


推荐