从NB到语言模型

1. 引言:朴素贝叶斯的局限性

我们知道朴素贝叶斯的局限性来源于其条件独立假设,它将文本看成是词袋子模型,不考虑词语之间的顺序信息,就会把“武松打死了老虎”与“老虎打死了武松”认作是一个意思。那么有没有一种方法提高其对词语顺序的识别能力呢?有,就是这里要提到的N-gram语言模型。

2. N-gram语言模型是啥?

2.1从假设性独立到联合概率链规则

照抄我们垃圾邮件识别中的条件独立假设,长这个样子:

为了简化起见,我们以字母表示每一个词语,并且先不考虑条件“S”。于是上式就变成了下面的独立性公式。

贝叶斯与垃圾邮件

1. 引言

贝叶斯方法是一个历史悠久,有着坚实的理论基础的方法,同时处理很多问题时直接而又高效,很多高级自然语言处理模型也可以从它演化而来。因此,学习贝叶斯方法,是研究自然语言处理问题的一个非常好的切入口。

2. 贝叶斯公式

贝叶斯公式就一行:

而它其实是由以下的联合概率公式推导出来:

其中叫做先验概率,叫做后验概率,叫做联合概率。
贝叶斯最核心的公式就这么些。

自然语言处理与词嵌入

词嵌入

one-hot 向量将每个单词表示为完全独立的个体,不同词向量都是正交的,因此单词间的相似度无法体现。

换用特征化表示方法能够解决这一问题。我们可以通过用语义特征作为维度来表示一个词,因此语义相近的词,其词向量也相近。

将高维的词嵌入“嵌入”到一个二维空间里,就可以进行可视化。常用的一种可视化算法是 t-SNE 算法。在通过复杂而非线性的方法映射到二维空间后,每个词会根据语义和相关程度聚在一起。相关论文:van der Maaten and Hinton., 2008. Visualizing Data using t-SNE

词嵌入(Word Embedding)是 NLP 中语言模型与表征学习技术的统称,概念上而言,它是指把一个维数为所有词的数量的高维空间(one-hot 形式表示的词)“嵌入”到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。对大量词汇进行词嵌入后获得的词向量,可用于完成 命名实体识别(Named Entity Recognition) 等任务。

命名实体识别

命名实体识别

命名实体识别(Named EntitiesRecognition, NER)是自然语言处理(Natural LanguageProcessing, NLP)的一个基础任务,常用在信息抽取、信息检索、机器翻译、问答系统中。

命名实体是命名实体识别的研究主体,一般包括3大类(实体类、时间类和数字类)7小类(人名、地名、机构名、时间、日期、货币和百分比)命名实体。

评判一个命名实体是否被正确识别包括两个方面:

  • 实体的边界是否正确
  • 实体的类型是否标注正确
    主要错误类型包括文本正确,类型可能错误;反之,文本边界错误,标记的类型正确。

命名实体识别的主要技术方法分为:

  • 基于规则和词典的方法
  • 基于统计的方法
  • 二者混合的方法等。

基于规则的方法多采用语言学专家手工构造规则模板,选用特征包括统计信息、标点符号、关键字、指示词和方向词、位置词(如尾字)、中心词等方法,以模式和字符串相匹配为主要手段,这类系统大多依赖于知识库和词典的建立。

基于统计机器学习的方法主要包括:隐马尔可夫模型(HiddenMarkovMode,HMM)、最大熵(MaxmiumEntropy,ME)、支持向量机(Support VectorMachine,SVM)、条件随机场( ConditionalRandom Fields,CRF)等。