1

在 java 和 python 中有几个 api,也尝试了一些在线演示,但所有 api 都将句子作为一个整体,并给出了一个整体可能的语言。就我而言,我在同一行上有多种语言需要检测,并且要消除除英语以外的其他语言,同时保持句子的含义完整。

例子:

  1. 对化粪池安全。/ Sans danger pour les fosses septiques。储存在阴凉,干燥的地方。/ Ranger dans un endroit frais et sec.
  2. 4X 浓缩清洁效果更佳* 4X PLUS CONTENTRÉ POUR MIEUX NETTOYER*
  3. 无磷酸盐 无磷酸盐
  4. 为 / Importé pour PROCTER & GAMBLE INC., TORONTO, ON M5W 1C5 进口
4

1 回答 1

0

我相信您从阅读评论中获得的方向是最好的解决方案:“我已经尝试将整个句子标记为单词并检查每个单词的语言”。但是,您应该考虑开发一个词袋算法

简单地说,你会计算句子中所有单词的出现次数,并将它们存储在一个列表中,其中包含它们所属的语言的索引。但是,当您在可能共享单词的单个句子中检测多种语言时,您将需要多个列表,语言单词出现次数最多的列表将确定句子每个部分的语言。

This is an English sentence written in english,dans un endroit frais et sec
[english:english:2][this:english:1][is:english:1][an:english:1][sentence:english:1][written:english:1][in:english:1]
[dans:french:1][un:french:1][endroit:french:1][et:french:1][sec:french:1]

this->beginning->list index 0, sentence->end of english->list index 3

但是,这仍然可能会在您的示例中产生错误,因为样本空间越小,结果就越不准确:

对化粪池安全。/ Sans danger pour les fosses septiques。储存在阴凉,干燥的地方。/ Ranger dans un endroit frais et sec. (所有单词只出现一次,这无助于通过单词数来确定语言,只能通过它们连续属于哪种语言的总和来确定语言

无论如何,希望这种有意义,并希望它以某种方式帮助您找到解决方案。随时发表评论,我会尽力帮助您解决您的问题。

于 2016-07-19T08:48:43.823 回答