自然语言处理(NLP)是人工智能领域一个十分重要的研究方向。NLP研究的是实现人与计算机之间用自然语言进行有效沟通的各种理论与方法。
本文整理了NLP领域常用的16个术语,希望可以帮助大家更好地理解这门学科。
1.自然语言处理(NLP)
自然语言处理,简单来说就是构建人与机器之间沟通的桥梁,以实现人机交流的目的。
自然语言处理有两大核心任务:自然语言理解(NLU)与自然语言生成(NLG)。
2.Attention 机制
Attention的本质是从关注全部到关注重点。将有限的注意力集中在重点信息上,从而节省资源,快速获得最有效的信息。
3.Encoder-Decoder 和 Seq2Seq
Encoder-Decoder是一类算法的统称,在这个框架下可以使用不同的算法来解决不同的任务。Encoder-Decoder很好的诠释了机器学习的核心思路:
将现实问题转化为数学问题,通过求解数学问题,从而解决现实问题。
Seq2Seq(是Sequence-to-Sequence的缩写),字面含义为:输入一个序列,输出另一个序列。这种结构最重要的地方在于输入序列和输出序列的长度是可变的。
4.词干提取与词形还原
词干提取(Stemming)是去除单词的前后缀得到词根的过程。词形还原(Lemmatisation)是将单词的复杂形态转变成最基础的形态。
5.分词(Tokenization)
分词是自然语言处理的基础任务,将句子、段落分解为字词单位,方便后续的处理与分析。
6.词性标注(Part Of Speech)
词性标注是自然语言处理过程中一项非常重要的基础工作。简单来说就是在给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程。
词性标注常用的4种方法分别为:基于规则、基于统计、基于规则+统计、基于深度学习。
7.成分句法分析
成分句法分析是指对输入的单词序列判断其构成是否合乎给定的语法,分析出合乎语法句子的句法结构。
8.词向量|词嵌入(Word Embedding)
词向量是自然语言处理中一个重要的环节,是一些语言处理模型的统称。从概念上讲,它涉及从每个单词一维的空间到具有更低维度的连续向量空间的数学嵌入。
9.Word2vec
Word2vec是词向量方式之一,是将词转化为可计算、结构化向量的过程。
CBOW和Skip-gram是Word2vec常用的两种训练模式。
10.依存句法分析(Constituency-based Parse Trees)
在自然语言处理中,用词与词之间的依存关系来描述语言结构的框架称为依存语法。利用依存句法进行句法分析是自然语言理解的重要技术之一。
11.自然语言生成(NLG)
自然语言生成主要是将非语言格式的数据转换成人类可以理解的语言格式,如文章、报告等,主要有两种形式:文本到语言的生成、数据到语言的生成。
NLG在情感分析、聊天机器人、语音识别、机器翻译领域有着广泛的应用。
12.自然语言理解(NLU)
自然语言理解就是希望机器具备人一样的语言理解能力,但是由于语言具有多样性、歧义性等多种原因,目前NLU还远达不到人类的表现。
13.自然语言处理工具包(NLT)
在自然语言处理领域,NLT是最常使用的一个Python库,包含Python模块,数据集和教程等内容。
14.Transformer
Transformer是一个完全基于注意力机制的编解码器模型,它抛弃了之前其它模型引入注意力机制后仍然保留的循环与卷积结构,而采用了自注意力(Self-attention)机制,在任务表现、并行能力和易于训练性方面都有大幅的提高。
15.文本挖掘(Text Mining)
文本挖掘主要是从数据中寻找有价值的信息,来发现或者解决一些实际问题。
16.命名实体识别(Named Entity Recognition)
命名实体识别(NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。简单的讲,就是识别自然文本中的实体的边界和类别。