自然语言处理(Natural Language Processing 简称 NLP)是人工智能领域非常重要的一部分,作为计算机科学中一门重要的学科,研究它的目的是为了解决人机对话问题,通俗理解就是让智能设备理解并生成人类语言。
关注“AI人工智能客栈”回复关键字获取学习资源
关注公众号“AI人工智能客栈”,回复关键词 “python人工智能视频” “人工智能书籍” “人工智能发展报告” 获得更多资料 干货持续更新中,欢迎关注,欢迎取关。
现在对NLP的研究和处理,一般分为以下4个方面:
1、把研究问题在语言学上形式化,使之能以一定的数学形式严密而规整的表示出来;
2、然后把严密而规整的数学形式表示为算法,使之在计算上形式化;
3、再根据算法编写程序,使算法可以在智能设备上运行;
4、最后对根据算法所建立的自然语言处理系统进行测评,不断改进质量和性能来满足用户需求;
《从人机交互的角度看自然语言处理》一文中对自然语言处理进行了如下定义:
自然语言处理可以定义为研究在人与人交际中以及人与计算机交际中的语言问题的一门科学。自然语言处理要研制表示语言能力和语言应用的模型,建立计算框架来实现这样的语言模型,提出相应的方法来不断的完善这样的语言模型,根据这样的语言模型设计各种实用系统,并探讨这些实用系统的测评技术。
然而建立自然语言处理模型的实用系统需要不同平面的知识:
声学和韵律学: 描述语言的节奏、语调和声调的规律,说明语音怎么形成音位;
音位学: 描述音位的结合规律,说明音位怎样形成语素;
形态学: 描述语速的结合规律,说明语素怎样形成单词;
词汇学: 描述词汇系统的规律,说明单词本身固有的语义特性和语法特性;
句法学: 描述单词或词组之间的结构规则,说明单词或词组怎样形成句子;
语义学: 描述句子各个成分之间的语义关系,这样的语义关系是与情景无关的,说明怎样从构成句子的各个成分推导出整个句子的语义;
话语分析知识: 描述句子与句子之间的结构规律,说明怎样由句子形成话语或对话;
外界世界的常识性知识: 描述关于语言使用者和语言使用环境的一般性常识,例如,语言使用者的信念和目的,说明怎样推导出这样的信念和目的内在和结构;
学术界关于NLP所涉及的知识结构也众说纷纭,一般而言都包括词汇学、句法学、语义学和语用学等知识。以上描述的主要是语言学方面的知识,但NLP是一个交叉学科,更是涉及了方方面面的知识领域:
计算机科学: 给NLP提供模型表示、算法设计、计算机实现的技术;
数学: 给NLP提供形式化的数学模型和形式化的数学算法;
心理学: 给NLP提供人类语言行为的心理模型和理论;
哲学: 给NLP提供关于人类的思维和语言的更深层次的理论;
统计学: 给NLP提供基于样本数据来预测统计的更深层次的技术;
电子工程: 给NLP提供信息论的理论基础和语言信号处理技术;
生物学: 给NLP提供大脑中人类语言行为机制的理论;
NLP的主要研究范围与方向有以下几个方面:
1、信息检索
2、机器翻译3、文档分类4、问答系统5、信息过滤6、自动文摘7、信息抽取8、文本挖掘9、舆情分析10、机器写作11、文本朗读12、语音合成13、语音识别14、自动分词15、词性标注16、句法分析17、自然语言生成18、信息抽取语音识别技术的五大难题
难题 | 难点 |
---|---|
自然语言理解 | 拆分语句、理解规则 |
语音信息量大 | 不同对象,同一对象不同时间、态度 |
发音 | 同音字 |
语言环境 | 影响重音、语调、语速 |
噪声、干扰 | 识别率低 |
常见的文本主要为以下3种三种:
自由文本
结构化文本
半结构化文本
自然语言处理的文本一般为自由文本,对自由文本常见的操作为:
1、分词:
我们一般处理的自由文本有中文、英文等,词为文本的基本单位,然而分词当然是NLP中最重要的步骤。分词算法分为词典方法和统计方法,其中基于词典和人工规则的方法是按照一定的策略将待分析的词与词典中的词条进行匹配(包括正向匹配、逆向匹配和最大匹配)。统计方法是基本字符串在语料库中出现的统计频率,典型的算法有HMM、CRF等,其中CRF相比HMM有更弱的上下文无相关性假设,理论上效果更好一些。
英文以空格为分割符,因此不需要进行分词的操作(片面看法,特殊情况仍然需要分词操作),例如一些复合词也需要识别。
2、词性标注
对于词性标注,首先需要定义词性的类别:如名词、动词、形容词、连词、副词、标点符号等等。词性标注是语音识别、句法分析、信息抽取技术的基础技术之一,词性标注是标注问题,可以采用最大熵、HMM、CRF等具体算法进行模型的训练。在自动问答系统中,为了提高用户问题匹配后端知识库的召回率,对一些关键词进行过滤,包括连词、副词对于全文检索系统理论上可以通过对用户输入的查询条件进行词性过滤,但由于全文检索是基于词袋的机械匹配,并采用IDF作为特征值之一,因此词性标注的效果不大。
3、句法分析
句法分析的目的是确定句子的句法结构,主谓宾、动宾、定中、动补等。在问答系统和信息检索领域有重要作用。
4、命名实体识别
命名实体识别是定位句子中出现的人名、地名、机构名、专有名词等。命名实体属于标注问题,因此可以采用HMM、CRF等进行模型的训练。基于统计的命名实体需要基于分词、词性标注等技术。实体命名定义了五大类型:设施(FAC)、地理政治实体(GPE)、位值(LOC)、人物(PER)。在实际应用中,可以根据自己的业务需求,定义实体类别,并进行模型训练。
5、实体关系抽取
实体关系抽取是自动识别非结构化文档中两个实体之间的关联关系,属于信息抽取领域的基础知识之一。近年来,搜索领域流行的知识图谱技术是构建实体关系。实体关系抽取有多种方式,包括规则匹配、有监督学习、无监督学习。其中有监督学习需要预先定义实体关系类别,通常将问题建模为分类问题。有监督学习需要预先人工标注语料库。
自动翻译包括机器翻译和语音机翻译这两个方面。自动翻译的过程必须经历这三个过程:
第一分析句子;该阶段对翻译的过程起着决定性的作用。第二转换:根据第一的分析结果将源语言的结构转换成目标语言对应的结构。第三生成:完成目标语言的译文,形成最终译文。
在第一阶段分析句子的过程中主要包括以下五个层次的分析,才能实现优质的翻译结果:
层次 | 概述 | 详细描述 |
---|---|---|
1 | 字母转义 | 更换原词中的字母 |
2 | 词与词的翻译 | 使用词典 |
3 | 语法翻译 | 鉴别语法结构 |
4 | 语义翻译 | 注意词的语义和搭配关系 |
5 | 语境翻译 | 联系上下文 |
关注“AI人工智能客栈”
关注公众号“AI人工智能客栈”,回复关键词 “python人工智能视频” “人工智能书籍” “人工智能发展报告” 获得更多资料 干货持续更新中,欢迎关注,欢迎取关。