神经语言模型(NLM)是一类用来克服维数灾难的语言模型,使用词的分布式表示对自然语言序列建模。不同于基于类的n-gram模型,神经语言模型在能够识别两个相似词,且不丧失将每个词编码为彼此不同的能力。
神经语言模型(Neural Language Model,NLM)是一类用来克服维数灾难的语言模型,它使用词的分布式表示对自然语言序列建模。不同于基于类的 n-gram 模型,神经语言模型在能够识别两个相似的词,并且不丧失将每个词编码为彼此不同的能力。神经语言模型共享一个词(及其上下文)和其他类似词。
语言模型(language model)定义了自然语言中标记序列的概率分布。根据模型的设计,标记可以是词、字符、甚至是字节。标记总是离散的实体。最早成功的语言模型基于固定长度序列的标记模型,称为 n-gram。一个 n-gram 是一个包含 n 个标记的序列。基于 n-gram 的模型定义一个条件概率——给定前 n−1 个标记后的第 n 个标记的条件概率。神经语言模型是由 Bengio 等人在 2003 年提出的,共享一个词(及其上下文)和其他类似词和上下文之间的统计强度。模型为每个词学习的分布式表示,允许模型处理具有类似共同特征的词来实现这种共享。例如,如果词 dog 和词 cat 映射到具有许多属性的表示,则包含词 cat 的句子可以告知模型对包含词 dog 的句子做出预测,反之亦然。因为这样的属性很多,所以存在许多泛化的方式,可以将信息从每个训练语句传递到指数数量的语义相关语句。维数灾难需要模型泛化到指数多的句子(指数相对句子长度而言) 。该模型通过将每个训练句子与指数数量的类似句子相关联克服这个问题。
词向量通常指通过语言模型学习得到的词的分布式特征表示,也被称为词编码,可以非稀疏的表示大规模语料中复杂的上下文信息。分布式词向量可以表示为多维空间中的一个点,而具有多个词向量的单词在空间上表示为数个点的集合,也可以看作在一个椭球分布上采集的数个样本。
词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。词嵌入的方法包括人工神经网络、对词语同现矩阵降维、概率模型以及单词所在上下文的显式表示等。在底层输入中,使用词嵌入来表示词组的方法极大提升了 NLP 中语法分析器和文本情感分析等的效果。