首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么英语机器学习模式不能直接应用于从右到左的语言,如阿拉伯语、印地语和乌尔都语。

为什么英语机器学习模式不能直接应用于从右到左的语言,如阿拉伯语、印地语和乌尔都语。
EN

Data Science用户
提问于 2019-05-08 03:32:38
回答 2查看 96关注 0票数 0

我有一个Logistic回归模型,当与英语数据集一起使用时,它工作得很好。但是,当我以不同的语言传递相同格式的数据集时,(语言是从右到左的乌尔都语,UTF-8编码的)模型无法预测。

我知道,对于乌尔都语、阿拉伯语和印地语,预处理是不同的,但即使是单独执行,模型也根本无法预测。

我想知道为什么同一模型不能直接在不同的语言上执行。好的或坏的结果是另一个话题。我如何建立一个可扩展到足以在英语和阿拉伯语上执行的模型?这样做的限制是什么?

EN

回答 2

Data Science用户

发布于 2019-06-07 10:29:20

我们需要更多地了解你的模型是如何工作的。Logistic回归意味着模型使用乙状体函数将数字输入转换为数字输出。但你的输入不是数字,而是文字。

这意味着在进行Logistic回归之前,您已经在做一些事情来将文本转换为数字。所以你的问题有点让人困惑。

另外,您是否正在培训英语文本模型,并在单独的英语测试集上进行评估,然后再对阿拉伯语文本进行第二个模型的培训,并对阿拉伯语测试数据进行评估?如果你试着在一种语言上训练一个模型,然后在另一种语言上对它进行评估,它就行不通了。

你用的是哪个图书馆?NLTK?斯克洛?所有这些都有简单的文本分类器。

您可能使用的是一个单词包模型,其中每个单词都被赋予一个ID并转换成一个稀疏的向量,整个文档被转换成一个长的向量,其大小是您的词汇表的长度。您可能正在使用tf*国防军阶段,它对诸如"the“这样的单词进行加权,其权重比内容词的权重要低。

如果你改变语言,像这样的模型不一定会中断。然而,有几点你需要知道:

  1. 将有一个代币化阶段。阿拉伯语标记特别不同于英语,因为一些前缀和后缀被附加到没有空格的单词(例如,al-ال、介词" to“li-لِ等)。您需要正确地替换标记化阶段。
  2. 如果有一个停止词删除阶段,您应该用新语言的列表来替换停止词。
  3. 如果有一个满足感阶段,你需要找到一个阿拉伯语/印地语/乌尔都语,狐猴或词干。否则,你会有一个稀疏性的问题,例如,一个单词的拐点会出现在测试文本中,而你的模型不会识别它,因为这个词出现在训练文本中的另一个拐点中。
  4. 有些语言在单词之间不使用空格,比如英语,很明显的例子是汉语,但是我不认为这对你提到的语言来说是个问题。

无论语言是RTL还是LTR,对分类器都没有影响,因为这只会影响浏览器或文字处理器在屏幕上显示文本的方式。在阿拉伯语文本文件中,字节与英文文本文件的顺序相同。

但是,任何模型体系结构都可以很好地与任何语言一起工作,前提是预处理能够正确地适应该语言。如果您使用基于字符的模型和神经网络,您甚至可以建立一个对任何语言都有效的模型,而不必担心是否要适应预处理,例如伯特有一个多语言预训练模型,可以直接在几乎任何语言上运行。然而,这些模型往往更大,需要一台强大的计算机,甚至是GPU。

如果您希望使用您提到的四种语言中的任何一种语言来处理文本,您可以培训四个单独的模型,并有一个语言标识组件,该组件首先识别语言并将输入传递给正确的模型。

票数 1
EN

Data Science用户

发布于 2019-05-08 08:55:59

我不完全理解你对某些语言的逻辑回归任务的背景。但我会给你一个总体情况。

任何与语言相关的东西都必须考虑两件主要的事情--句法和语义。

这两件事因语言不同而完全不同。例如,如果你试着逐字翻译英语说法语,它可能看起来很好,但在语义上(语法意义)它可能看起来完全没有意义。

语言是一个“序列”,序列中的顺序非常重要。因此,不管模型试图在多维数据空间中学习哪种语言,即使预处理是正确的,使用一种语言也不能正确地映射到另一种语言。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/51585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档