开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):自然语言处理的基本介绍】
课程地址:https://edu.aliyun.com/course/3112108/lesson/19278
自然语言处理的基本介绍
内容介绍:
一、课程目标
二、自然语言处理定义
三、自然语言处理的发展趋势
四、自然语言处理的数据基础
五、自然语言处理的技术基础
六、总结
一、课程目标
• 区分自然语言理解和自然语言生成的工作内容
• 区分现代汉语与英语在词性和用法上的差别
• 应用最大分词算法和最短路径分词算法对简单文本进行分词处理
• 依据词性标注规范对简单文本进行词性标注处理
• 应用无监督关键词提取算法和有监督关键词提取算法对简单文本进行关键词提取处理
• 应用BIOES标注法对简单文本进行命名实体标注处理
• 应用基于规则的语法结构分析方法对简单文本进行句法分析处理
• 应用离散式词向量法和分布式词向量法对简单文本进行文本向量化处理
• 区分常见的自然语言理解技术(如文本分类、情感分析、文本纠错、问答系统等)
• 区分常见的自然语言生成技术(如文本标签生成、文本摘要生成、智能创作等)
• 使用阿里云自然语言处理NLP平台实现文本分类
二、自然语言处理的定义
1、自然语言处理中的“自然语言”指的是什么?
在下列选择项中,你认为那些属于“自然语言”?(ABC)
A. 汉语 B.英文 C.普通话
自然语言是指人类使用的在社会生活中自然形成的语言。
除自然语言之外,还存在编程语言,编程语言是人类跟计算机沟通的语言。所以单说语言是错误的,要加上自然、加上限定范围。
自然语言处理是指用计算机来识别、理解、计算分析、生成自然语言的过程。
识别自然语言是指认出并识别;理解自然语言是指明白其中语义;可以对自然语言进行计算分析并生成自然语言。
自然语言研究方向分为两类:一类是自然语言理解、另一类是自然语言生成。自然语言理解是机器怎样理解文本内容,希望机器不仅仅是简单地计算分析,还要知道语义是什么。自然语言理解是是推荐、问答、写作等系统的必备模块。
自然语言生成是将非语言格式的数据转换成人类可以理解的语言格式,是翻译、写作等系统的必备模块。就是产生语言,产生语言来源的数据可能不是语言,要加工成为人类理解的语言。
三、自然语言处理的发展趋势
1、在智能人机交互方面,自然语言是人跟机器沟通的媒介。人直接跟机器沟通负担很大,要了解计算机、了解仪器,学习机器的语言,希望机器更懂人的语言,这个研究发展方向是希望机器能更好的理解人的语言。机器能够更好地理解人类的自然语言,人机交互的体验感会大大提升。多语言交互是从不同的语言理解上升到不同文化的理解。不同的语言背后有不同的文化背景,人机交互也要透过字面的内容理解不同文化背后的语言想表达的内容,这是智能人机交互发展的方向。
2、第二个方向是多模态融合。多模态融合指的是视频,图像、文本、语音等模态的全面融合,自然语言包含的不仅仅是自然语言的文本。在沟通与人的时候,很多内容都会透露出信息,与人沟通的时候,如果只是文字的沟通,会不全面,可能会带来一些误会。语音会好一点,语音会带有音调、情绪,可以表现出来。视频则可以看出面部的表情和细微的动作,多模态融合在对话系统产品中应用效果显著,如果只是文字的对话系统,这个过程会比较枯燥,如果对话系统变成了语音,是有温度的声音,如果对话系统变成了视频,虚拟人在对话的时候语音跟面部表情带来的感受是不同的。
3、第三个方向是解决方案建设。大公司做的自然语言处理适用一些通用的场景,但是每一个细分的场景,垂直的领域都有特定的需求,和相应的场景数据。就像学习的时候,不同的专业所要学习的英语的词汇、含义都不相同,会有区别。自然语言在不同的场景使用的时候有差别,需要针对特定的领域做解决方案的建设,效果会比通用的自然语言场景更好。
4、第四个方向是形成行业知识库。用自然语言处理的技术结合已有的知识和技术提高非结构化数据理解能力,从自然语言里非结构化的数据里抽取出知识、语义,基于过去已知知识来进行推理,理解行业事件知识。自然语言处理在理解文本、理解自然语言,深入的理解它的语义之后,能够对文本非结构化的数据,从中抽取知识,做知识图谱等,以上是自然语言的发展趋势。
在了解自然语言处理之后,对文本数据“手机淘宝是一款APP”进行划分,按字划分为:手、淘、宝、是、已、款、A、P、P;按词划分为:手机、淘宝、是、一款、APP。可见自然语言处理是可以进行多轮的划分。
四、自然语言处理的数据基础
1、大多数的深度学习或者是其他类型的积极学习的任务,自然语言处理要有优质的定型数据集才能正常的运作。定型数据集是大量已知数据的集合,通常需要特定领域的专业知识。要懂得以何种方式来收集有意义的信息,定型数据集在人工智能模型的训练过程中起到一个基准的作用。在自然语言处理的这个学科里面要用到语料库,语料库是大量已知语料数据的集合,它在自然语言处理模型的定型中起到了基准的作用。语料库要求里面的内容是真实出现过的语言材料,语料库在收集了大量语言材料之后,要经过整理,让它具有既定的格式和标记。语料库是做自然语言处理的重要资源,对一种语言的研究,用了语料库之后,所得到的结果是可以推广到整个语言上去。可以认为语料库是对语言的一个很好的抽样,语料库里面都是大量的文本,像下面这个图里面列出来。
文本是由很多的段落来组成的;段落是由句子组成;句子是由字和词组成的;若要获得最小单位的字或词,需要由外而内一层一层剥开。语料库并不是语言材料简单的堆砌、或者是随意的集合,而是有着严格要求的有序的语料集合。
2、常用的语料库有很多,常用的语言都会有语料库。
(1)中文语料库包含国家语委现代汉语语料库、古代汉语语料库、分词库国家语委是国家语言文字委员会,它做了现代汉语的语料库,提供了在线检索的网站,它收集了从1919年到2002年内出现的语料,大约有1亿个字符,里面的标注语料有五千万标注,数据量很大。古代汉语语料库能按照关键字查,也能按照朝代查。除此之外,它还提供了分词、词性标注、字频统计等功能,可以在线使用。中文还需要分词库,分词库包含各行各业的词汇。
(2)英文语料库包含布朗语料库和停用词库。布朗语料库是第一个在计算机语言学处理中使用的通用英语语料库,由美国布朗大学创建,语料库里有大概500多个文本,每个文本超过2000次,整个语料库是超过100多万次。尽管现在理论和技术水准看来,这个语料库的资料和平衡方式可能会相对粗糙,但是这个语料库一直是英语平衡语料库的标准,它代表了通用英语样本,里面的采样来自小说、新闻、宗教文本。停用词库是指NLTK,是一个自然语言处理包。在NLP领域、自然语言处理领域是常用的Python库。
3、现代汉语与英语的区别
把名词、动词、形容词、副词列出,它们在句子里面的角色是做主语、宾语、谓语、定语、状语,连线起来之后,可以很明显的看到汉语会复杂很多。在汉语里面,名词、动词、形容词,它的语法功能是相互交错的,这种情况在英语里面很少出现,基本上不会出现。而在汉语里面,一类词往往充当多种句子成分,一种成分往往也不是某一类词专有的。名词作谓语的例子,八月一日建军节,建军节是名词,但是这里面它做的是谓语。名词还可以作状语,我明天下午很忙,下午是名词做了状语。现代汉语的这种特点为计算机处理带来了麻烦。很难通过先识别它的词性,然后再进行直接语法分析。
4、现代汉语的特点
从语音、词汇、语法看现代汉语的特点,这些特点相对于其他语言,主要是英文而言。
(1)首先是语音方面,现代汉语没有辅助音。现代汉语的音节的界限分明,乐音较多,加上声调高低变化、语调抑扬顿挫,因此它的音乐性强,没有副辅音。英文有副辅音,比如 next spring,这就导致了next spring 辅音连在一起。汉语中元音占优势,一个音节中可以没有辅音,但不能没有元音,这是汉语在语音方面特点。词汇方面,汉语的构词法简单。由于汉语中有意义的单音节语素大部分都能充当词根语素,词缀语素少,而且造词能力较弱。因此,汉语中运用复合法组合词根语素构成合成词的情况很多。
(2)在汉语里双音节词占优势,频率最高的1万个词中,单音节词占24%,双音节词占63%;过去很多单音节词,逐步都被双音节词代替。双音节的词用单音节可以表达,比如桌子、冬天、教师,日常表达过程中,双音节词越来越多。在词汇发展的过程中还有一些多音节词被缩减成双音节词,比如彩色电视机,被缩减成彩电,变成双音节词。在现代汉语语法方面,有很多特点,现代汉语常用语序和虚词表达语法语音的主要手段。比如我和老师、我的老师,“和”表示的是并列关系,“的”表示偏正关系,由于虚词“和”和“的”的不同,表示语法的关系和意义差别很大。
第二个特点是语法结构简单,在现代汉语里面词、短语和句子的结构原则基本一致。无论是词数组成词、词组成短语,或者是短语组成句子,都有主谓、动宾、补充、偏正、联合五种基本语法结构关系。现在汉语词类非常丰富,除了名词、动词、数词外,还有语气词、量词等。一般数词和名词结合的时候,都要加一个量词,而且不同的名词,加的量词也不一样。语气词经常出现在句末,表示语气细微的差别。以上是现代汉语在语音、词汇和语法方面的一些特点。
五、自然语言处理的技术基础
1、在自然语言处理的技术体系中,主要分成NLP基础技术、NLP核心技术、NLP+和垂直应用,其中NLP是自然语言处理的意思。自然语言处理技术同时会跟大数据、云计算、机器学习、深度学习、领域知识、用户画像等一些相关的技术有相交。自然语言处理的基础技术包含词法分析、句法分析、语义分析,这是从不同的方面,不同的层次,对自然语言进行处理,这是后续的自然语言处理的一个基础。
自然语言处理的核心技术有机器翻译、情感分析、智能问答、文本生成、文本分类、自动摘要等,这些都是以词法、句法、语义分析为基础的。NLP+是自然语言处理的扩展,比如搜索推荐、语音对话、商业智能等,会用到 NLP 核心技术。
自然语言处理的垂直应用场景可以用在法律、医疗、教育等。总的来说,自然语言处理的技术体系很复杂,涉及到的知识领域也非常多。
2、自然语言处理从工作流程可以分为词法分析、句法分析、语义分析三个层次,也是三个阶段。
词法分析是将句子、段落、文章长文本分解为以字词为单位的数据结构,方便后续的处理分析工作。第一步分词,把长的文本分成一个一个词。词性标注,分完词之后词性到底是什么,用计算机处理出来。分完词,做完词性标注之后,要进行句法分析,句法分析是识别句子所包含的字词组合以及这些组合之间的关系,构成句法结构。
需要的知识是关键词提取,分析句子,怎样将关键词抽取出来;命名实体识别,从一段文本找出来实体;语法分析,分出主谓宾、状语等。
在分析语法结构时,就可以进行语义分析,分析单词、词组、句子、段落整体所包含的意义,需要要用到文本向量化的知识。
词法、句法和语义分析的过程,跟人去读句子、读段落、读文章是类似的。看到文章,先要去认识字,然后拆分成词,知道这个词意思,知道里面的主谓宾,才理解这个句子,读懂这个句子之后,要理解它的语意。
六、总结
通过本节的学习,掌握以下内容:
1、自然语言处理的定义
自然语言处理是指计算机识别、理解、计算分析、生成自然语言的过程;它的研究方向是自然语言理解和自然语言生成。
2、自然语言处理的发展趋势
自然语言处理的发展趋势向着智能人机交互、多模态融合、解决方案建设、形成行业知识库4个方向发展。
3、自然语言处理的数据基础
语料库:在语言的实际使用中真实出现过的语言材料,一般具有既定格式与标记。
现代汉语和英语的主要区别:汉语中名词,动词、形容词的语法功能是相互交错的。
4、自然语言处理的技术基础
自然语言处理的技术基础是词法分析、句法分析、语义分析。