本文主要介绍了一种能够考虑词语之间位置关系的方法,即n-gram模型。传统的one-hot、词袋模型以及TF-IDF等方法并未考虑词语的位置关系,而n-gram模型则通过相邻词语的组合来建立索引,从而更好地反映词语之间的联系。
在构建字典时,传统方法通常为每个单词创建一个索引。然而,采用n-gram模型(例如2-gram)时,相邻的两个词将共同构成一个索引。假设我们有以下语料库:
接下来,我们将每两个词作为一个单元进行索引,结果如下:
通过这种方法建立的索引,可以使文本通过向量形式表示时,反映出词语之间的相对位置关系。例如,只有当“John”和“likes”出现在一起时,它们在向量中的值才会为1,从而将这两个词紧密关联起来。
n-gram模型的优点在于它能够考虑到词语的顺序和位置关系,但其缺点也很明显:随着n值的增加,词汇表会变得越来越小,导致一些较少出现的短语无法被有效捕捉。
尽管n-gram模型能够捕捉到词语的位置关系,但由于它是离散的表示方法,因此对于捕捉词语间的复杂关系仍显不足。例如,“酒店”和“宾馆”虽然非常相似,但在这种离散表示下,它们的向量差异可能并不大。因此,我们需要采用分布式的表示方法来更好地捕捉词语之间的关系。未来的文章将介绍分布式表示的词编码方式。