如何找出哪些单词在两种不同的语言中具有相同的含义?

人工智能 自然语言处理 统计人工智能
2021-11-06 14:03:28

想象两种只有这些词的语言:

Man = 1,
deer = 2, 
eat = 3,
grass = 4 

你会从这些词中形成所有可能的句子:

Man eats deer.
Deer eats grass.
Man eats.
Deer eats.

德语:

Mensch = 5,
Gras = 6, 
isst = 7, 
Hirsch = 8

可能的德语句子:

Mensch isst Hirsch.
Hirsch isst Gras.
Mensch isst.
Hirsch isst.

您将如何编写一个程序来确定哪些单词在英语和德语中具有相同的含义?

有可能的。

所有单词都从可以使用它们的句子中的信息中获得含义。与其他词的联系定义了它们的含义。

我们需要编写一个程序来识别一个单词在两种语言中以相同的方式连接到其他单词。然后它会知道这两个词必须具有相同的含义。

如果我们取“鹿”(2)这个词,它的英文结构是这样的

1-3-2
2-3-4

德语 (8):

5-6-8
8-6-7

我们在两种语言中得到相同的结构(模式):8 和 2 都位于第一个和最后一个位置,并且中间词在两种语言中是相同的,另一个词在两种语言中是不同的。因此我们可以得出 8=2 的结论,因为这两个元素以相同的方式与其他元素连接。

也许我们只需要编写一个非常好的程序来识别类比,我们就会走上创造人工智能的正确轨道?

4个回答

你是在暗示这样的想法是新颖的,而且这样的工具不存在。但是这个想法非常流行,并且有很多工具。

我们需要编写一个程序来识别一个单词在两种语言中以相同的方式连接到其他单词。然后它会知道这两个词必须具有相同的含义。

您正在描述已知自然语言处理 (NLP) 任务的本质,例如单词对齐(链接具有相同含义的不同语言的单词),当然还有机器翻译。

在学习机器翻译模型时,我们确实发现了不同语言中的哪些词(或词的一部分,或词的序列)具有相同的含义。

以下是我建议进一步研究该主题的一些概念:

  • 单词对齐,一个著名和流行的工具的例子是fast_align
  • 词嵌入,word2vec是一种广泛使用的工具
  • 具有序列到序列模型的现代机器翻译,众所周知的工具是fairseq,或Sockeye

这不是已经Word2Vec和其他word-embedding技术已经使用的。You know your word by the company it keeps是一个已经存在了一段时间的想法。

对于这个例子,下面的函数会做: TSAI.Analogies.FindAnalogy(List ex1, List ex2, List ex3, out List ex4) ex1 对 ex2 就像 ex3 对 ex4 一样。找出ex4。

用 ex2 中的值填充 ex4。对于 ex3 中的每个值:根据 ex1 中与 ex2 中重复的相同位置的值,找出我们必须将该值复制到 ex4 中的哪些位置。

假设仅与其他词的联系就定义了它们的含义是错误的。

给一个人工智能一百本小说,它仍然不知道“猫”这个词是什么意思。

向 AI 展示一张猫的图片,图片下方带有“猫”字样,它会立即知道。

通过这种方式,AI 需要通过经验而不是其他单词的组合来知道最少数量的单词。从那时起,它也许能够推断出新词的含义。

就像,如果我给你一百本中文小说,你永远也看不懂中文。我给你看一本中文绘本,也许你有机会。