人工智能导论 课件 胡玉荣 第1-9章 自然语言处理- 综合实践项目_第1页
人工智能导论 课件 胡玉荣 第1-9章 自然语言处理- 综合实践项目_第2页
人工智能导论 课件 胡玉荣 第1-9章 自然语言处理- 综合实践项目_第3页
人工智能导论 课件 胡玉荣 第1-9章 自然语言处理- 综合实践项目_第4页
人工智能导论 课件 胡玉荣 第1-9章 自然语言处理- 综合实践项目_第5页
已阅读5页,还剩281页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1人工智能导论第5章自然语言处理5.1自然语言处理概述5.2自然语言处理技术与方法5.3语料库和语言知识库5.4自然语言处理的典型应用235.1自然语言处理概述5.1.1自然语言处理的概念5.1.2自然语言处理的发展历史45.1.1自然语言处理的概念

自然语言,就是我们每个正常人类每天说的话、写的字、以及其他各种以语言形式记录的内容等等。如:说话、社交平台的聊天记录、笔记、博客、新闻、文献、铭文、石刻……

理解自然语言,对于人类似乎是自然而然的,甚至不费吹灰之力。然而,对于目前“万能”的计算机系统来说却是个老大难问题。1.什么是自然语言?

(1)词汇量

编程语言:关键词数量有限且确定。如C:32个,Java:50个。

自然语言:以汉语为例,《现代汉语常用词表(草案)》一共收录56008个词条。此外可随时创造各类新词,可以使用的词汇量无穷无尽……

2.自然语言vs.编程(人工)语言我们太熟悉自己的语言,就像水对鱼来讲是透明的一样,所以我们可能很难体会到语言的复杂程度。通过比较自然语言与人工语言,看看计算机理解我们的语言到底有多难.55.1.1自然语言处理的概念classCompany(object):

def__init__(self,founder,logo)->None:

self.founder=founder

self.logo=logoapple=Company(founder=‘乔布斯’,logo=‘apple’)

通过classCompany这个结构读取apple.founder和apple.logo来获取苹果公司的创始人和标志。“苹果的创始人是乔布斯,它的logo是苹果”,计算机分析如下:

1)分词:“苹果/的/创始人/是/乔布斯,/它/的/logo/是/苹果”;2)第一个“苹果”指的是苹果公司,而第二个“苹果”指的是带缺口的苹果logo;“乔布斯”是一个人名;它”指代的是苹果公司;3)苹果公司与乔布斯之间的关系是“的创始人是”,与带缺口的苹果logo之间的关系为“的logo是”。

这些结论涉及中文分词、命名实体识别、指代消解和关系抽取等自然语言处理任务。这些任务目前的准确率都达不到人类水平。可见,人类觉得很简单的一句话,要让计算机理解起来并不简单。

(2)是否结构化(信息具有明确的结构关系)编程语言:结构化

(如类与成员、数据库中的表与字段,语法规则,都可通过明确的机制来读写。)自然语言:非结构化(规则性弱)65.1.1自然语言处理的概念自然语言处理(NaturalLanguageProcessing:NLP)是研究用机器处理人类语言的理论和技术以实现在人与人以及人与计算机之间利用自然语言进行交互的一门学科,是目前人工智能领域非常火热的分支。NLP主要研究如何有效地实现自然语言通信的算法、模型、计算机系统,通过计算机对自然语言的音、形、义等各种信息进行处理和分析,实现对自然语言不同层次如字、词、句、篇章的操作与加工。

3.什么是自然语言处理

实现人与计算机之间的自然语言通信与交互一般包含两方面的内容:

一方面是自然语言理解(NaturalLanguageUnderstanding:NLU),即计算机要能理解人类语言的含义;(懂人话)

另一方面是自然语言生成(NaturalLanguageGenerating:NLG),即计算机要能生成人类可以理解的语言,通过自然语言表达其想法和意图与人交互。(说人话)75.1.1自然语言处理的概念

例1.你有个问题,要去某搜索引擎搜答案。你在搜索框中输入问题,搜索框可不是你的人类朋友,瞬间Get你的意思——搜索引擎要在暗地里疯狂分析你想表达什么意思,这期间就会用到NLP的各种技术:中文分词、命名实体识别、实体链接、指代消解、知识图谱等。

4.自然语言处理典型应用场景你还发现哪些自然语言处理应用?

例2.大家买东西或者寄快递的时候经常会把自己的“姓名手机号地址”一股脑粘贴到一个方框里,系统就会自动分开,用的也是NLP。

例3.假如你是个外语渣渣,看学术文章(baguaxinwen)、产品说明书的时候你得找机器帮你翻译,这活儿也得靠NLP。85.1.1自然语言处理的概念

(1)文本分类计算机按照一定的分类准则或体系对文本数据集自动分类,给出不同文本隶属类别的标识。文本分类最初研究的是针对不同类型的海量新闻按照其主题进行文本分类,如识别为时政类、经济类、体育类、军事类、娱乐类等。

(2)信息检索根据用户输入的检索关键词,从大量的文本数据集合中按照一定规则进行匹配,查找出符合的信息。

(3)信息提取从文本中抽取出所包含的关键、重要信息,比如主题、事件、时间、地点、人物、数字、专有名词等。95.1.1自然语言处理的概念

(4)自动摘要主要研究如何利用计算机对大量文档自动进行总结并给出内容摘要。NLP技术可以对较长的文档创建简洁、准确的摘要,尽可能减少用户阅读时间,提高处理文档的效率。(5)文本生成指计算机像人一样使用自然语言写作。依据输入的不同,文本自动生成技术主要包括文本到文本的生成、图像到文本的生成、数据到文本的生成等。文本生成技术现在已经应用到机器新闻写作、机器写诗、检查报告生成、法院审理判决书等领域。(6)机器翻译利用计算机将输入的一种自然语言文本翻译成另一种自然语言文本。105.1.1自然语言处理的概念

(7)语音识别与生成语音识别可以将人的语音信号通过计算机识别转换成文本表示。语音生成是指将书面文本经计算机识别后自动转换成对应的语音表示。目前已经应用到语音助手、智能家居、机器人、视频游戏等各个领域。(8)情感分析对文本进行分析、处理和抽取、归纳,以衡量其中的主观情绪,发现其中的观点倾向情感分析通过用户反馈信息有助于了解用户对产品或者服务的满意情况,通过搜索识别文本中的情绪观点可以帮助改进产品服务,减少负面影响。目前已经应用到电影评论、美食点评、产品广告、节目收视率等多个方面。(9)信息过滤通过计算机系统分析各类文本内容,自动识别、标注、过滤符合特定条件的文档信息。一般用于信息安全和防护、网络内容管理、垃圾邮件过滤等方面。115.1.1自然语言处理的概念

(10)个性化推荐基于自然语言处理技术的个性化引擎,学习分析大规模历史记录数据,关联用户的位置、年龄、职业、浏览或购买记录等个性化信息,识别出用户的兴趣爱好,理解用户的意图,协助用户找到感兴趣的信息并优先呈现给用户,实现精准推荐。目前已经广泛应用于新闻服务领域的个性化新闻阅读推送,电子商务领域的产品或服务推荐,娱乐方面的电影、音乐、游戏推荐,社交网络的好友推荐等。

(11)自动问答利用计算机以自然语言的形式自动回答用户通过自然语言提出的问题。125.1.1自然语言处理的概念5、NLP在人工智能中的阶段与地位机器在感知智能方面已越来越接近于人类目前认知智能的发展从技术上看,它只相当于5岁左右儿童的认知水平135.1.1自然语言处理的概念自然语言处理是计算机如何处理和分析自然语言的科学,是当前人工智能领域最重要(也是最难的)的研究方向之一。实际上,自然语言处理不是一个单独的研究领域,它拥有众多研究分支,从文本输入到图像、音频输入,从词法到语法,再到语义,不同分支之间的差异,可能比NLP和其他深度学习方法的差异还大。比尔·盖茨:“自然语言处理是人工智能皇冠上的明珠”145.1.1自然语言处理的概念6、NLP产业及就业需求155.1.1自然语言处理的概念AI薪资水平和就业前景分析165.1.2自然语言处理的发展历程自然语言处理经历了从逻辑规则到统计模型的发展之路20世纪50年代是人工智能与自然语言处理的萌芽期,出现了许多奠基性的工作。20世纪80年代之前的主流方法都是基于规则的形式语言理论,根据数学中的公理化方法研究自然语言,采用代数和集合论把形式语言定义为符号序列,由专家手工编写领域相关的规则集。20世纪80年代之后,统计模型给人工智能和自然语言处理领域带来了革命性的进展,人们开始标注语料库用于开发和测试NLP模块:1988年隐马尔可夫模型被用于词性标注,1990年IBM公布了第一个统计机器翻译系统,1995年出现第一个健壮的句法分析器(基于统计)。2010年之后语料库规模、硬件计算力都得到了很大提升,为神经网络的复兴创造了条件。但随着标注数据的增加,传统模型的准确率提升越来越不明显,人们需要更复杂的模型,于是深层的神经网络重新回归研究者的视野。175.1.2自然语言处理的发展历程

1.20世纪50年代到70年代——基于规则方法阶段

上个世纪五十年代著名的图灵测试:人和机器进行自然语言交流评估能否区分对方是人和机器,如果人无法判断和自己交流的对象是人还是机器,则说明这个机器具有智能。在这一阶段,自然语言处理的一个典型方法是专家知识系统,通过行业专家利用专业知识制定表示和逻辑推理规则。此后一直到20世纪80年代,基于规则形式的语言理论研究占据了主导地位,这些规则驱动的方法也被称为理性主义方法。理性主义方法重在设计一定的规则,通过数学工具描述形式语言,使用有限的规则描述无限的语言现象,将相关知识和推理机制融入自然语言处理系统,建立所谓的普遍语法。185.1.2自然语言处理的发展历程

2.20世纪70年代到21世纪初——基于统计方法阶段

以构建语料库使用大量数据样本进行统计学习的方法逐渐发展起来,这些以数据为驱动的方法面向实践应用,被称为经验主义方法。这个阶段的经验主义方法以统计模型为主,代表有隐马尔可夫模型、最大熵模型、支持向量机、条件随机场、贝叶斯网络、决策树、浅层神经网络等。经验主义方法通过使用一定的数据进行训练,自动学习并调整模型参数,可以更好地处理不确定性,并可进行一定的模型迁移推广。经验主义方法的思想认为人的思维需要靠丰富的信息输入才能更好地学习自然语言的结构和规律,强调感知和学习能力,所以重在联想、概括、统计、识别等操作。从20世纪90年代开始到2010年左右,经验主义方法的研究一直处于主流。优点:第二阶段的自然语言技术与系统效果更好,鲁棒性有了一定提高。缺点:模型容量不够大,算法、结构还不够强大,特别是需要借助于人工设计特征作为模型学习的基础。从一定程度来说,特征设计成为统计自然语言处理方法的一个主要瓶颈。195.1.2自然语言处理的发展历程

3.2008年到2019年——基于深度学习方法阶段深度学习带来了技术和范式的革新,有力推动了自然语言处理进入第三个发展阶段,形成新的一轮热潮。深度学习方法成为当前自然语言处理中最热门的研究方向,是各类自然语言处理应用任务的主要选择,如大多数信息检索、语音识别、机器翻译、机器问答、个性化推荐等系统都是基于深度学习方法,取得了惊艳的效果。以深度神经网络为代表的深度学习技术依赖复杂强大的模型结构和学习能力,能够通过大量数据学习自主提取特征,无需人工参与特征工程,实现了“从头开始NLP”。这种端到端的模型架构比早期的统计学习模型更易于设计,并且深度神经网络模型一般可以适用于不同的任务,便于推广。205.1.2自然语言处理的发展历程自然语言处理正与计算机视觉、语音识别等融合,形成多模态人工智能。例如结合文本与图像、视频等信息,实现更全面自然的人机交互,像视觉问答系统可理解图像内容并作答。

4.2019年至今——多模态与实用化阶段自然语言处理发展历经规则驱动、数据驱动到深度学习驱动,在语言理解、生成和交互等方面成就显著,将继续推动人工智能发展。随着模型规模扩大,优化预训练模型训练效率、降低计算成本成研究热点,同时研究人员也在探索将其应用于医疗、金融、教育等实际领域解决问题。215.2自然语言处理技术与方法5.2.1自然语言处理的层次5.2.2自然语言处理的技术5.2.3自然语言处理的方法225.2.1自然语言处理的层次

自然语言处理整体框架:包括三部分,内容信息、自然语言技术、知识库。如图5-1所示,其过程:(1)需要构建一个知识库,包含实体、概念及它们之间的关系。(2)通过自然语言模型来理解和处理文本数据。(3)根据知识库推理得出信息,实现问题回答、文本分类等功能。这一过程涉及数据预处理、特征提取和模型应用等关键步骤,旨在让计算机更好地理解人类语言。图5-1

自然语言处理的系统结构235.2.1自然语言处理的层次

自然语言处理的处理对象一般有图像、语音还有文本,但无论是图像还是语音,经过识别都是转化成文本之后再进行处理,所以文本处理是自然语言处理中最重要的一项任务。无论是婴儿牙牙学语还是小学生学习写字,都是按照字、词、句这样的顺序,所以自然语言的处理层次也由下而上分为字词级分析、段落级分析和篇章级分析,如图5-2所示。图5-2

自然语言处理任务的层次245.2.1自然语言处理的层次1.数据输入源

自然语言处理系统的输入源一共有3种,即语音、图像与文本。其中,语音和图像虽然正引起越来越大的关注,但受制于存储容量和传输速度,它们的信息总量还是没有文本多。2.词法分析

中文分词、词性标注和命名实体识别这3个任务都是围绕词语进行的分析,所以统称词法分析。词法分析的主要任务是将文本分隔为有意义的词语(中文分词),确定每个词语的类别和浅层的歧义消除(词性标注),并且识别出一些较长的专有名词(命名实体识别)。255.2.1自然语言处理的层次

3.信息抽取

根据这些单词与标签,我们可以抽取出一部分有用的信息,从简单的高频词到高级算法提取出的关键词,从公司名称到专业术语,其中词语级别的信息已经可以抽取不少。我们还可以根据词语之间的统计学信息抽取出关键短语乃至句子,更大颗粒度的文本对用户更加友好。

4.语法分析

句法分析分为句法结构分析和依存关系分析两种。以获取整个句子的句法结构为目的的称为完全句法分析,而以获得局部成分为目的的语法分析称为局部分析,依存关系分析简称依存分析。265.2.1自然语言处理的层次

自然语言处理的流程和任务:自然语言处理的任务是将待处理文本处理为不同信息形式,这些信息从不同层面表达文本的语义,自然语言处理一般流程如图5-3所示。

一方面,人们根据语言专家的知识制定出语言规则集,计算机根据这些规则对文本进行加工和处理,即基于规则的自然语言处理。另一方面,基于机器学习的自然语言处理方法则需要先采集和收集语料,并对语料进行人工标注,然后使用统计方法、机器学习方法和深度学习方法,让机器自动学习这些语料,最终得到模型。图5-3

自然语言处理的流程275.2.2自然语言处理的技术

1.中文分词

1)中文分词的概念分词(WordSegmentation)就是将连续的字(或单词)序列按照一定的规范按序重新组合成词(或词组)序列的过程。英文大部分文本都以空格为自然分割,但是中文除了字、句、段落有明显的分割,词语之间没有明显形式上的分割。计算机的切词处理过程就是分词。计算机自动识别出句子中的词,在词间加入分隔符。整个过程看似简单,然而实践起来却很复杂。中文分词的困难与中文特殊的基本文法有关系,具体表现在:

285.2.2自然语言处理的技术(1)中文由于继承自古代汉语的传统,词语之间没有分隔。古代汉语中除了联绵词和人名地名等,词通常就是单个汉字,所以当时没有分词书写的必要,而现代汉语中双字或多字词居多,一个字不等同于一个词。(2)在中文里,“词”和“词组”边界模糊。现代汉语的基本表达单元虽然为“词”,且以双字或者多字词居多,但由于人们认识水平的不同,对词和短语的边界很难去区分。(3)中文分词的主要困难在于分词歧义。例如,根据词典,句子“毕业的和尚未毕业的都在”可能分词为“毕业/的/和/尚未/毕业/的/都在”,也可能分词为“毕业/的/和尚/未/毕业/的/都在”。此外,未登录词、分词粒度等都是影响分词效果的重要因素。295.2.2自然语言处理的技术

2)基于规则的中文分词方法基于规则的分词是一种机械分词方法,主要是通过维护词典,在切分语句时,将语句的每个字符串与词表中的词进行逐一匹配,找到则切分,否则不予切分。

正向最大匹配(MaximumMatch,MM)的基本思想是:假定词典中最长的词包含k个汉字,首先,将待分词句子的前k个字作为匹配字串查找词典,若词典中存在这样的一个k字词,则匹配成功,这个匹配字串被作为一个词从句子上切分出来;如果词典中找不到这样的一个k字词,则匹配失败。如果匹配失败,再重新将待分词句子的前k-1个字组成字串重新进行匹配处理。如此进行下去,直到匹配成功或匹配字串为单字为止,这样就完成了一轮匹配。然后,继续对剩下未分词句子进行匹配处理,直到句子被扫描完为止。

305.2.2自然语言处理的技术

例如,现有词典的最长词的长度为5,词典包含“南京市长”和“长江大桥”这样的四字词。采用正向最大匹配对句子“南京市长江大桥”进行分词。首先匹配前5个字“南京市长江”,发现词典中没有该词,于是缩小长度,匹配前4个字“南京市长”,词典中存在该词,于是该词被确认切分。再将剩下的“江大桥”按照同样方式切分,得到“江”“大桥”,最终分为“南京市长”、“江”、“大桥”3个词。

逆向最大匹配(ReverseMaximumMatch,RMM)的基本原理与MM方法相同,不同的是分词切分的方向与MM法相反。逆向最大匹配法从被处理文档的末端开始匹配扫描,每次取最末端的k个字作为匹配字串,若匹配失败,则去掉匹配字串最前面的一个字,继续匹配。相应地,它使用的分词词典是逆序词典,其中的每个词条都将按逆序方式存放。在实际处理时,先将文档进行倒排处理,生成逆序文档。然后,根据逆序词典,对逆序文档用正向最大匹配法处理即可。比如之前的“南京市长江大桥”,按照逆向最大匹配,最终得到“南京市”、“长江大桥”。315.2.2自然语言处理的技术

由于汉语中偏正结构较多,若从后向前匹配,可以适当提高精确度。曾有统计结果显示,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。所以,逆向最大匹配法比正向最大匹配法的误差要小。

双向最大匹配法(Bi-directionMatching)是将正向最大匹配法得到的分词结果和逆向最大匹配法得到的结果进行比较,然后按照最大匹配原则,选取词数切分最少的作为结果。很显然,若采用双向最大匹配法,“南京市长江大桥”最终得到“南京市”、“长江大桥”。5.2.2自然语言处理的技术32

3)基于统计的中文分词方法基于统计的自然语言处理方法都需要有一个经过人工标注的数据集。针对分词,通常使用B、M、E和S四个英文符号标注每一个汉字在一个词语中的作用,其中,B、E、M分别表示词语的第一个字、最后一个字和中间的字,S表示独字词语。例如,“我们是中国人”,可标注为“我B们E是S中B国M人E”,对应的分词为“我们/是/中国人”。如果能收集到大量人工标注过的分词数据,就可以对其中的汉字和它们的标注进行统计。基于统计的分词,一般要做两步处理。首先,对语料进行标记,建立统计语言模型,这个模型可用于对新句子进行分词;然后,在需要对新句子进行分词时,先把句子切分成不同的分词形式,然后根据先验概率评价所有的分词形式,评价最高的分词形式作为最优分词结果输出。335.2.2自然语言处理的技术

若待分词句子是“我们是中国人”。由于首位只能为B或S,B后只能跟M或E,M只能跟在B的后面,E只能跟在M和B后面,因此,这个句子的分词标注可能为“BEBEBE”或“BMEBME”等有限种标注。计算机根据统计分词模型对每一个标注进行评价,评价的目的是计算哪一个标注在自然语言中出现概率最大。假设仅考虑相邻两个字之间的搭配习惯,就可以通过统计语料库中两个汉字之间的搭配频率,从而计算出待标注句子的最优搭配,即分词结果。345.2.2自然语言处理的技术

2.词性标注词性是词语最基本的语法属性,也称为词类。词性标注指计算机判定句子中的每个词的语法范畴,确定其词性并加以标注的过程。常见的词性如动词、名词和形容词。表示人、地点、事物以及其它抽象概念的名称即为名词,表示动作或状态变化的词为动词,描述或修饰名词属性、状态的词为形容词。例如,句子“这儿是个非常漂亮的公园”的标注结果应是“这儿/代词是/动词个/量词非常/副词漂亮/形容词的/结构助词公园/名词”。

词性标注需要有一定的标注规范,例如,名词、形容词、动词分别用n、adj、v进行表示。中文领域尚无统一标注标准,较为主流的是北大词性标注集和宾州词性标注集两类,两类标注方式各有千秋。

很多中文词可能有多个词性。虽然有些字以声调区分词性,但是汉语文本通常并不标注声调。词在不同句子里代表的语法成分可能截然不同,词性也就可能不同,这为词性标注带来很大的困难。

355.2.2自然语言处理的技术

不过,大多数词语,尤其是实词,最多有两个词性,且其中一个词性的使用频次远远大于另一个,所以选择高频词性进行标注已能实现80%以上的准确率,能够覆盖大多数场景,满足基本的应用要求。365.2.2自然语言处理的技术

3.命名实体识别

与分词、词性标注一样,命名实体识别(NamedEntitiesRecognition,NER)也是自然语言处理的一个基础任务,是信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术必不可少的组成部分。

命名实体识别的目的是识别句子中的人名、地名、组织机构名等实体。命名实体数量是不断增加的,通常不可能在词典中穷尽列出,其构成方法具有多种多样的规律,因此,通常需要独立处理对这些词的识别。

实体一般分为3大类(实体类、时间类和数字类)和7小类(人名、地名、组织机构名、时间、日期、货币和百分比)。数量、时间、日期、货币等实体识别通常可以采用模式匹配的方式,但是人名、地名、机构名较复杂,因此命名实体识别的研究主要以识别这三种实体为主。

375.2.2自然语言处理的技术

命名实体识别包括实体边界划分和实体类型识别。在英文中,命名实体一般具有较为明显的形式标志(如英文实体中的每个词的首字母要大写),因此,英文实体识别相对容易很多,主要难点是对实体类型的识别。但是,对于中文,识别实体类型和识别实体边界都非常困难

中文命名实体识别主要有以下4个难点:1)各类命名实体的数量众多。根据对人民日报1998年1月的语料库(共计2,305,896字)进行的统计,共有人名19,965个,而这些人名大多属于未登录词。2)命名实体的构成规律复杂。人名的构成规则各异,中文人名识别又可以细分为中国人名识别、日本人名识别和音译人名识别等;机构名的组成方式也更为复杂,机构名的种类繁多,各有独特的命名方式,用词也相当广泛,只有结尾用词相对集中。385.2.2自然语言处理的技术

3)嵌套情况复杂。一个命名实体经常和一些词组合成一个更复杂的命名实体。比如人名中包含着地名,地名中也经常包含着人名,这种嵌套现象在机构名中最为明显。机构名不仅经常包含了地名,而且还可能包含了其它机构名,互相交织在一起的。4)长度不确定。与人名、地名相比,机构名的长度和边界更加难以确定。常见的中国人名一般是二至四字,常用地名也多为二至四字。但是机构名长度变化极大,少到只有两个字的简称,多到几十字的全称。在实际语料中,10字以上的机构名占了相当一部分比例。基于规则的命名实体识别方法使用词典加规则,是早期命名实体识别中最行之有效的方法。手工制定规则,构造命名实体库,并对每条规则进行权重赋值。395.2.2自然语言处理的技术

4.句法分析

1)基本概念句法分析是从单词串得到句法结构的过程,而实现该过程的工具或程序被称为句法分析器(Parser)。句法分析的主要任务是识别出句子所包含的句法成分以及这些成分之间的关系,一般以句法树来表示句法分析的结果,如图5-3所示。句法分析主要有以下两个难点:图5-3句法分析树(1)歧义。自然语言区别于人工语言的一个重要特点就是它存在大量的歧义现象。(2)搜索空间。句法分析是一个极为复杂的任务,用于模型训练的句法树个数随语料库中句子的增多呈指数级增长,导致搜索空间巨大。因此,研究人员必须设计出合适解码器,以确保能够在可以容忍时间内搜索到模型的最优解。405.2.2自然语言处理的技术

句法分析方法也可以简单地分为基于规则的方法和基于统计的方法。基于规则的方法利用语言学专家的知识来构建,在处理大规模真实文本时,会存在语法规则覆盖有限、系统可迁移差等缺陷。统计句法分析模型本质是一套面向候选树的评价方法。如图5-4所示,同一句话可能存在两个不同的句法树,该模型会给正确的句法树赋予一个较高的分值,而给不合理的句法树赋予一个较低的分值,这样就可以借用候选句法树的分值进行消歧。图5-4句法分析树415.2.2自然语言处理的技术

2)上下文无关文法

一门语言一定有语法(也称文法),也就是词语形成句子的规则。上下文无关文法(Context-FreeGrammar,CFG),即乔姆斯基2型文法,是一种语法的形式化表达方式,它将语法表示为4元组G=(N,T,S,R),其中:(1)N是“非终结”符号或变量的有限集合。N中的元素表示句子中不同类型的短语结构或子句结构。(2)T是“终结符”的有限集合。T与N不相交。例如,将中文的词视作终结符。(3)S是开始符,用来表示整个句子,它是N中的元素。(4)R是一个规则集。每条规则(也叫产生式)表示为U→w,其中U∈N,w∈(N∪T)*。由上下文无关文法定义的语言是上下文无关语言。很多计算机语言都是上下文无关语言,自然语言的语法也可以表示为上下文无关文法,但是可能会生成诸如“咬死猎人的猎人”、“咬死狗的狗”和“咬死狗的猎人”这样的合法句子,显然这些句子不太可能出现在人们日常的对话中。这也意味着CFG产生的合法句子数量将是无限的,但是大多数都没有意义。因此,一门采用CFG表示的自然语言的合法语句理论上是无限的,但实际上人类常用的语句并不是无限的。425.2.2自然语言处理的技术

3)概率上下文无关文法根据CFG文法,采用不同的推导规则,计算机可以为句子“咬死了猎人的狗”自动构建出如前面图5-4所示的两棵句法分析树,也就是存在语法歧义。这两棵树分别表示咬死的是猎人或咬死的是狗,因此存在语义歧义。为了消除歧义,计算机需要对这两棵句法树进行评价。概率上下文无关文法(PCFG)方法是常见的句法树评价方法,也就是句法分析方法。PCFG方法计算每棵句法树(也就是句子结构)在树库中出现的概率,概率越大表示这棵句法树的句法分解越可能是正确的,这就是概率上下文无关文法(PCFG)方法的基本思想。PCFG表示为5元组(N,T,S,R,P),其中,非终结符集合N、终结符集合T、开始符S和规则集R的定义与CFG相同,P是概率集合,P包含R中每条规则的概率。当一句话有多棵候选句法树时,PCFG计算每棵树的得分,选择得分最高的句法树作为这句话的句法分析结果,达到消岐的目的。例如,可以算出前面图中两棵树的PCFG得分,得分高者即为句法分析结果。435.2.2自然语言处理的技术

5.文本分类文本分类技术在自然语言处理领域有着举足轻重的地位。给定分类体系,文本分类指根据文本内容自动确定文本类别的过程。20世纪90年代以来,文本分类已经出现了很多应用,比如信息检索、Web文档自动分类、数字图书馆、自动文摘、新闻分类、文本过滤、单词语义辨析、情感分析,等。最基础的分类是将文本归到两个类别中,即二分类(BinaryClassification)问题或判断是非问题。例如,垃圾邮件过滤只需要判断一封邮件“是”“否”是垃圾邮件。分类是典型的机器学习任务,过程主要分为两个阶段:训练阶段和预测阶段。在训练文本分类器之前,需要提取文本的特征,如,BoW特征和TF-IDF特征。常见的分类器有逻辑回归(LogisticRegression,LR)、支持向量机(SVM)、K近邻(K-NearestNeighbor,KNN)、决策树(DecisionTree,DT)、神经网络(NeuralNetwork,NN)等。技术人员需要根据场景选择合适的文本分类器。

445.2.3自然语言处理的方法1.基于规则的自然语言处理方法

规则,指的是由专家手工制定的确定性流程。小到程序员日常使用的正则表达式,大到飞机的自动驾驶仪,都是固定的规则系统。

专家系统要求设计者对所处理的问题具备深入的理解,并且尽量以人力全面考虑所有可能的情况。它最大的弱点是难以拓展。当规则数量增加或者多个专家维护同一个系统时,就容易出现冲突。

大多数语言现象比英文词干复杂得多,我们已经在上文了解了不少。这些语言现象没有必然遵循的规则,也在时刻变化,使得规则系统显得僵硬、死板与不稳定。455.2.3自然语言处理的方法

统计学习方法其实是机器学习的别称,为了降低对专家的依赖,自适应灵活的语言问题,人们使用统计方法让计算机自动学习语言。所谓“统计”,指的是在语料库上进行的统计。

20世纪50年代,布朗美国英语语料库(BrownCorpus)诞生。这个语料库包含100万单词的语料,样本来自不同文体的500多篇书面文本,涉及的文体有新闻、中篇小说、写实小说、科技文章等。基于统计的方法是一种依赖从大量语料数据中发现统计规律并应用于自然语言处理的经验主义方法,这种方法使用概率或随机的方法来研究语言,建立语言的概率模型。在基于统计的自然语言处理方法的基础上发展起来的技术有:隐马尔可夫模型、最大熵模型、n元语法(n-gram)、概率上下文无关文法(PCFG)、噪声信道理论、贝叶斯方法、最小编辑距离算法、维特比(Viterbi)算法、A*搜索算法、双向搜索算法、加权自动机和支持向量机,等等。

2.基于机器学习的自然语言处理方法465.2.3自然语言处理的方法

统计方法和语料库的发展带动了机器学习在自然语言处理中应用,很多机器学习的算法用在了自然语言处理的相关任务中。例如,用朴素贝叶斯、支持向量机、逻辑回归等方法进行文本分类。目前,机器学习算法思想分为两个流派:一种是传统的基于统计学的机器学习方法;还有一种是基于联结主义的人工神经网络算法体系。因此,自然语言处理也分为基于统计的自然语言处理和基于深度学习的自然语言处理。机器学习进行自然语言处理的流程如下图5-6,其中最关键的步骤就是特征工程。即利用数据领域的相关知识将预处理过的语料数据转化为特征的过程,这些特征能很好的描述数据,且利用它们建立的模型在未知数据上的表现性能也可以达到最优。图5-6机器学习的NLP处理流程475.2.3自然语言处理的方法3.基于深度学习的自然语言处理方法

在自然语言处理领域,深度学习在信息抽取、命名实体识别、词性标注、文本分析、拼写检查、语音识别、机器翻译、市场营销、情感分析、问答系统、搜索引擎、推荐系统等方向都有成功的应用。传统的算法一般会用统计等方法去标注,而深度学习会直接通过词向量表示单词、短语、逻辑表达式和句子,然后再通过深度网络进行自动学习。最近几年,深度学习应用在自然语言处理领域的实用技术也越来越多。例如,Word2Vec词向量方法、RNN、LSTM、Attention机制、Seq2Seq方法,等等。

485.2.3自然语言处理的方法

深度学习为自然语言处理的研究带来了两方面的主要变化:第一,使用统一的分布式(低维、稠密、连续)向量表示不同粒度的语言单元,如词、短语、句子和篇章等;第二,使用循环、卷积、递归等神经网络模型对不同的语言单元向量进行组合,获得更大的语言单元的表示。除了不同粒度的单语语言单元外,不同种类的语言甚至不同模态(语言、图像等)的数据都可以通过类似的组合方式表示在相同的语义向量空间中,然后通过在向量空间中的运算来实现分类、推理、生成等各种任务,并应用于各种相关的任务之中。495.3语料库和语言知识库5.3.1语料库5.3.2语言知识库505.3.1语料库

语料库语言学(corpuslinguistics):语言学知识的源泉是大规模活生生的语料,要想让计算机理解自然语言,首先要让计算机能从库存的大规模语料中自动或半自动地获取语言理解所需的各种知识,对语言现象作出客观的、细致的描述。目前采用的主要手段是建立各种统计模型,可用于词类的自动标注,以及句法语义的更高层次的分析。该方法可以和规则方法相互补充。

在当今计算技术条件下,要想把处理自然语言所需要的知识都用现有的知识表示技术明确表达出来,是不可能的。这既是由于这种知识的“数量”巨大,有时由于它们在“质”的方面高度的不确定性和模糊性。

最近十几年来新提出的语料库语言学,它顺应了大规模真实文本处理的需要,提出了以计算机语料库为基础的语言学研究及自然语言处理的新思想。515.3.1语料库

语料库语言学及其特点:传统的句法-语义分析技术,所采取的主要研究方法是基于规则的方法。由于自然语言理解的复杂性,各种知识的“数量”浩瀚无际,而且具有高度的不确定性和模糊性,利用规则不可能完全准确地表达理解自然语言所需的各种知识,而且,规则实际上面向语言的使用者人的,将它面向机器则分析结果始终不尽如人意。研究语言知识所用的真实文本称为语料,大量的真实文本即构成语料库。可以把语料库看作一个特殊的数据库,能够从中提取语言数据,以便对其进行分析、处理。525.3.1语料库如何建立语料库呢?针对不同的自然语言处理任务需要选择、收集不同的语料然后进行不同深度的加工。按语料来源,语料可分为以下几类:积累语料:行业、领域、机构、单位以及业务部门等组织一般会在业务发展过程中保存积累大量文本资料,可能是纸质资料,也可能是电子资料。收集、整理这些资料可以建设为特定领域语料库。公开语料:针对通用的自然语言处理任务,可以采用国内外开放的标准语料库,如国内的国家语委现代汉语语料库、人民日报标注语料库、搜狗语料等,国外的联合国官方资料库、美国当代英语语料库、美国历史英语语料库等。下载语料:如果公开的语料库不能满足任务需要,可以在允许情况下使用爬虫等工具自己去抓取一些数据,然后建立自己的语料库。535.3.1语料库本节介绍代表性语料库:1)Brown语料库布朗语料库(BrownCorpus,简称Brown)由美国布朗大学1963—1964年收集,首个计算机存储的美国英语语料库。Brown语料库包含100万单词的语料,由美国布朗大学在1963—1964年收集,包括500个连贯英语书面语,每个文本超过2000个单词,整个语料库约1014300个单词,用于研究当代美国英语。2)COBUIL语料库柯林斯伯明翰大学国际语言语料库(CollinsBirminghamUniversityInternationalLanguageDatabase,简称COBUIL),20世纪80年代由辛克莱尔(JohnSinclair)建立,是首个动态语料库,由英国伯明翰大学与柯林斯出版社合作完成,规模达2000万词。545.3.1语料库3)BNC语料库英国国家语料库(BritishNationalCorpus,简称BNC)是目前网络可直接使用的最大的语料库之一,也是目前世界上最具代表性的当代英语语料库之一。该语料库由英国牛津大学出版社、朗曼出版公司、牛津大学、兰卡斯特大学、大英图书馆等联合开发建立,于1994年完成。该语料库的建立标志着语料库语言学的发展进人一个新的阶段,并在语言学和语言技术研究方面发挥重要作用。4)宾州树库宾州树库(UPennTreebank)是一种深加工语料库,有短语结构和依存结构两类。宾州树库由美国宾夕法尼亚大学1989—1996年建成,含约700万词带词性标记语料库、300万词句法结构标注语料库。宾州树库通过设在宾夕法尼亚大学的语言数据联盟(LinguisticDataConsortium,简称LDC)组织和发布。LDC中文树库是LDC开发的中文句法树库,语料取材于新华社等媒体,已发展到第8版,由3007个文本文件构成,含有71369个句子、约162万个词、约259万个汉字。文件采用UTF-8编码格式存储。555.3.1语料库5)美国国家语料库美国国家语料库(AmericanNationalCorpus,ANC)是目前规模最大的关于美国英语使用现状的语料库,它包括从1990年起的各种文字材料、口头材料的文字记录。ANC的第一个版本包含了1000万口语和书面语的美式英语词汇,第二个版本则包含了2200万口语和书面语的美式英语词汇。ANC也通过LDC组织和发布。6)《人民日报》标注语料库北京大学计算语言学研究所从1992开始对现代汉语语料库进行多级加工,建立了《人民日报》标注语料库。《人民日报》标注语料库对《人民日报》1998年上半年的纯文本语料进行了词语切分和词性标注,严格按照《人民日报》的日期、版序、文章顺序编排。文章中的每个词语都带有词性标记。目前的标记集里除了包括26个基本词类标记外,从语料库应用的角度又增加了专有名词(人名、地名、机构名称、其他专有名词),从语言学角度也增加了一些标记,总共使用了40多个标记。后来又推出了2014版的《人民日报》标注语料库,可以用来训练词性标注、分词模型、实体识别模型等。565.3.2语言知识库语言知识库包含了比语料库更广泛的内容。广义上来说,语言知识库可分为两种类型:第一种是词典、规则库、语义概念库等,其中的语言知识表示是显性的,可使用形式化结构进行描述;第二种语言知识存在于语料库之中,每个语言单位(主要是词)的出现,其意义、内涵、用法都是确定的。下面介绍代表性语言知识库:

1)WordNet

WordNet是1990由Princeton大学的米勒(MillerGA)等人设计和构造的。一部WordNet词典将近95600个词形(51500单词和44100搭配词)和70100个词义,分为五类:名词、动词、形容词、副词和虚词,按语义而不是按词性来组织词汇信息。在WordNet词典中,名词有57000个,含有48800个同义词集,分成25类文件,平均深度12层。最高层为根概念,不含有固有名词。575.3.2语言知识库2)北京大学综合型语言知识库北京大学综合型语言知识库由北京大学计算语言学研究所俞士汶教授领导建立,覆盖了词、词组、句子、篇章各单位和词法、句法、语义多个层面,从汉语向多语言辐射,从通用领域深入到专业领域。是目前国际上规模最大并获得广泛认可的汉语语言知识资源,其中的《现代汉语语法信息词典》是一部面向语言信息处理的大型电子词典,收录了8万个汉语词语,在依据语法功能分布完成的词语分类的基础上,又根据分类进一步描述了每个词语的详细语法属性。585.3.2语言知识库

3)知网(HowNet)

知网是董振东研制的以汉语和英语的词语所代表的概念为描述对象,以揭示概念与概念之间以及概念所具有的属性之间的关系为基本内容的常识知识库。公布的中文信息结构库包含:信息结构模式:271个句法分布式:49个句法结构式:58个实例:11,000词语总字数:中文60,000字595.4自然语言的典型应用5.4.1机器翻译5.4.2智能问答605.4.1机器翻译

机器翻译是利用计算机把一种自然语言转变成另一种自然语言的过程。用以完成这一过程的软件叫做机器翻译系统。机器翻译是语言学、人工智能、计算技术、认知科学等学科相结合的产物。1.机器翻译的一般过程机器翻译的过程一般包括4个阶段:源语文输入、识别与分析、生成与综合、目标语言输出。下面以基于规则的转换式机器翻译为例,简要说明机器翻译的整个过程。首先,源语文通过键盘、扫描器或话筒输入计算机后,计算机先逐个识别单词,再依据标点和特征词识别句法和语义,接着查找存储的词典、句法表和语义表并将处理后的信息传至规则系统,从表层结构分析到深层结构,机器内部会形成类似乔姆斯基语法分析的“树形图”。615.4.1机器翻译

当完成源语文识别和分析后,机器翻译系统依据双语词典和目的语句法规则生成目标语言深层次结构,综合成通顺语句,从深层结构回归表层结构。最后,翻译结果以文字形式输送至显示屏或打印机,或经语音合成后通过喇叭以声音形式输出。图5-7展示了基于规则的转换式机器翻译流程图。图5-7

基于规则的转换式机器翻译流程图625.4.1机器翻译

2.机器翻译的产品介绍目前市面上流行的机器翻译产品丰富多样,涵盖在线翻译平台、翻译软件应用程序和翻译硬件设备等类型,以下是部分产品介绍:1)在线翻译平台(1)Google翻译:支持133种语言互译,翻译范围广泛。具备网页翻译、离线翻译、即时相机翻译等多种功能,新增的“人工智能(ArtificialIntelligence,简称AI)精翻”功能,可优化长文本连贯性。(2)百度翻译:百度AI核心产品,功能全面。支持文本、语音、图片翻译,集成学术翻译模式,适合学生和研究者,其拍照翻译功能可帮助用户高效学习外语、阅读外文资料。(3)有道翻译官:口碑良好,采用神经网络翻译引擎技术(YoudaoNeuralMachine

Translation,YNMT),翻译质量有保障。支持107种语言翻译,覆盖186个国家,具备离线翻译、增强现实(AugmentedReality,简称AR)翻译、同传翻译等功能。635.4.1机器翻译(4)火山翻译:字节跳动旗下的翻译工具,依托字节AI大模型,支持文本、语音、视频翻译,特色是社交媒体内容优化,如TikTok字幕翻译,适合内容创作者。2)翻译硬件设备(1)科大讯飞翻译机:具备测口语、练听力、改作文等功能,可解决多种学习应用场景中的问题,中英文词句一扫全搞定,适合语言学习和出国交流等场景。(2)网易有道词典笔:搭载强劲芯片,配合强大的光学字符识别(OpticalCharacterRecognition,简称OCR)技术,识别准确率高,词库全,能够帮助用户快速查词和翻译,是学习外语的得力助手。(3)阿尔法蛋词典笔:可以精准查找生词,智能拆词解句,拥有海量词典资源,覆盖全学段,还能进行标准口语练习,有助于提高学习乐趣和效率。645.4.2智能问答

问答系统(questionansweringsystem,QA)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。问答系统是目前人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。2011年2月14日,在美国最受欢迎的智力问答节目《危险边缘》(Jeopardy)中,IBM的“沃森(Watson)”超级计算机击败该节目的两名总冠军詹宁斯(JenningsK)和鲁特尔(RutterB),实现有史以来首次人机智力问答对决,并赢取高达100万美元的奖金。这是人工智能技术取得成功的代表。65

案例导入

美智力竞答节目上演人机对决沃森是一台超级电脑,它是专门为了参加《危险边缘》而设计。沃森是由25个IBM科学家花了4年时间研制出来的。其内存达到15TB(1T=1240G),有2880个处理器,每秒运算速度达到80T次浮点运算。2011年2月14日,IBM超级智能电脑“沃森”第一次参加美国王牌问答节目《危险边缘》,人机大战真实上演。《危险边缘》堪称美国历史上最受欢迎的智力问答节目,每期节目由三名竞争者参加,主持人出的问题中会包含反语、双关语和谜语,是对参赛者智力和知识面的综合挑战。沃森面对两个《危险边缘》人气最高的选手:肯(KenJennings)曾经在2004-2005年赛季中连续赢了74场,创造了《危险边缘》节目的纪录,赢了超过250万美元;布拉特则创造了《危险边缘》节目最高的个人奖金纪录,奖金数达到325万美元。665.4.2智能问答

1.智能问答的系统结构

一般问答系统模型分为三层结构,分别为:用户层、中间层、数据层。系统结构如图5-8所示,各部分的主要功能如下:1)用户层(UI):供用户输入提问的问题,并显示系统返回的答案。2)中间层(MI):中间处理层,主要负责:分词、处理停用词、计算词语相似度、计算句子相似度,返回答案集。3)数据层(DI):系统的知识库存储,主要有:专业词库、常用词库、同义词库、停用词库、课程领域本体、《知网》本体、常见问题集(FAQ)库。675.4.2智能问答图5-8智能问答的系统结构685.4.2智能问答

2.问答系统自动答题的步骤如下:1)根据专业词库,常用词库,同义词库对于用户输入的自然语言问句通过逆向最大匹配的方法进行分词,对于未登记词借助于分词工具把未登记词添加到词库中,在分词过程中同时标注词的词性和权值;2)对于分词后的结果依据停用词库,并参考词性,删除停用词;3)对于专业词汇采取基于本体的概念相似度方法进行计算词语语义相似度,对于其他词汇采取基于《知网》本体计算词语语义相似度;4)分别计算IFIDF相似度,根据词语的语义相似度来计算句子的语义相似度,计算词形、句长、词序、距离相似度来计算句子的结构相似度,最后组合起来加权求和计算句子相似度;(注:基于关键词向量空间模型的TFIDF问句相似度计算方法是一种基于语料库中出现的关键词词频的统计方法,它是建立在大规模真实问句语料基础之上的。)695.4.2智能问答

5)根据计算用户提问的问题与FAQ中问题的句子相似度,定义一个相似度阈值,从FAQ中抽取不小于相似度阈值且相似度最高的问题及其答案作为用户提问问题的答案;对于从FAQ中抽取不到答案的问题通过发邮件给专家,添加到待解决问题集中,专家回答更新FAQ。705.4.2智能问答

3.智能问答的产品介绍常见的智能问答产品丰富多样,涵盖了通用型智能助手、行业专用问答机器人等多种类型,以下是一些常见产品介绍:1)通用型智能问答产品(1)ChatGPT:是由OpenAI研发的聊天机器人程序。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言进行对话,还能根据聊天的上下文进行互动,真正像人一样聊天交流。它能撰写邮件、视频脚本、文案,甚至能完成翻译、编写代码、写论文等任务。(2)豆包:字节跳动旗下的AI智能助手,提供聊天机器人、写作助手、图像生成、阅读总结等多种功能,不仅能用于答疑解惑、获取信息,也可畅聊各种感兴趣话题。支持直接发消息、输入选择技能与其进行无障碍沟通。715.4.2智能问答(3)文心一言:百度全新一代知识增强大语言模型,主菜单包含对话、发现、发布等。具备知识增强、检索增强和对话增强的技术优势,能更加准确地理解用户意图,可与人对话互动、回答问题、协助创作,帮助用户高效便捷地获取信息、知识和灵感。(4)通义千问:由阿里云推出的全能AI助手,主菜单包含助手、工具、角色等。能深度理解人类语言,可应对日常对话、知识问答、机器翻译、情感分析等多种任务,还提供了雅思口语、托福口语等专业智能体,官方还设置了激励计划鼓励用户创建智能体。(5)Kimi:由北京月之暗面科技有限公司研发,以智能问答为主。擅长中英文对话,能够阅读和理解各种文档,还能上网搜索信息,最近推出的探索版可高效处理网络知识查询任务,此外还具备长文生成器功能。(6)讯飞星火:科大讯飞推出的智能问答产品,主菜单有对话、智能体、空间等。对话功能中包含多种智能体,如数学答疑助手、星火合同助手等,针对不同场景深度挖掘,做成类似小程序的形式。移动端支持自定义创建智能体,空间可保存管理多种类型文件。725.4.2智能问答

2)行业专用智能问答产品(1)作业帮小度:教育问答机器人,学生可通过语音、文字提问,它会给出准确答案和详细解析,还能根据学生学习情况和历史记录,推荐适合的学习资源和练习题目,助力学生知识掌握。(2)阿里健康小蜜:医疗问答机器人,结合医学知识库和人工智能技术,能为用户提供专业的健康咨询服务。用户可通过手机APP或网页询问疾病相关问题,它会依据用户描述和医学知识库给出建议和指导。(3)小度在家:百度旗下的智能客服机器人,具备语音识别、自然语言处理等技术,可在电商平台为消费者提供24小时在线客服服务,解答问题,并能根据用户购物习惯和喜好推荐产品,提升购物体验。735.4.2智能问答

3)设备内置智能问答产品(1)Siri:苹果设备的内置助手,通过“HeySiri”唤醒,能执行查询天气、设置提醒、播放音乐等多种任务,还可与用户进行有趣的对话交流,提供笑话、故事等娱乐内容。(2)小爱同学:小米手机的AI助手,可通过语音唤醒,不仅能控制智能家居设备,还能提供新闻、天气、音乐等多种服务,帮助用户安排日常生活。(3)小艺:华为推出的智慧助手,通过说“小艺小艺”唤醒,可实现打电话、设置提醒等功能,还能与其他华为设备互联互通,为用户提供智能化的家居生活体验。745.4.2智能问答4.应用案例:基于云服务的智能问答1)算法思路及流程本案例是基于关键词的检索式智能问答系统。通过建立问题答案库。计算TF-IDF特征。用余弦定理计算相似度,计算用户提出的向题和答案库中各问题的相似度,返回相似度较高的问题所对应的答案给用户。基于关键词的检索式智能问答系统的操作流程如图5-9所示。图5-9

基于关键词的检索式智能问答系统的操作流程755.4.2智能问答算法流程描述如下:步骤一:建立一个足够大的问答数据集,本实验采用百度问答数据集WebQA1.0。步骤二:文本预处理,将文本转换为向量表示。步骤三:基于倒排列表的第一次检索。步骤四:计算用户提出的问题和问答数据集中各问题的相似度。步骤五:把相似度较高的问题所对应的答案返回给用户。文本相似度计算可以使用TF-IDF特征,也可以使用Word2Vec(一种将词语转换为低维稠密向量算法),但后一种方法需要海量的语料数据,而且计算过程比较长,因此本实验采用TF-IDF特征计算句子之间的相似度。765.4.2智能问答

2)代码分析(1)构建问答数据集(qabot\dataclean.py),在WebQA1.0中选择一个数据集用来构建问答数据集,程序代码如下:fromtoolsimportreadjson,savejson

#测试数据集file='WebQA.v1.0/me_test.ann.json'

data=readjson(file)

#问答词典qa_dict={}fork,vindata.items():

keys=data[k]['question']

qa_dict[keys]=data[k]['evidences']

#保存问答词典savefile='data/qa_dict.json'savejson(savefile,qa_dict)775.4.2智能问答(2)过滤停用词(qabot\create_qa_dict.py),对所有数据过滤停用词,程序代码如下:file='data/qa_dict.json'data=readjson(file)Q_list=data.keys()Q_dict={}

#createQ->segmentationforiinQ_list:

#jieba中文分词sentence=jieba.cut(i)

#去除停用词

cut_sentence=movestopwords(sentence)

Q_dict[i]={'segmentation':cut_sentence}#print(Q_dict)Q_file='data/Q_dict.json'savejson(Q_file,Q_dict)print("问题数据集保存完成")A_dict={}#Createq&akey-valuepairsfork,vindata.items():

fork1,v1inv.items():

A_dict[k]=v[k1]#print(A_dict)A_file='data/A_dict.json'savejson(A_file,A_dict)print("答案数据集保存完成")785.4.2智能问答

(3)计算问题之间的相似度(qabot\main.py)。通过TF-ITDF特征进行相似度计算,从问答数据集中获取答案,程序代码如下:defcalcaute_cosSimilarity(inputQuestion,questionDict):

"""

计算余弦相似度

"""

simiVDict={}

vectorizer=TfidfVectorizer(smooth_idf=False,lowercase=True)

foridx,questioninquestionDict.items():

tfidf=vectorizer,fit_transform([inputQuestion,question['segmentation']])

#tfidfvalue

#print("tfidf",tfidf)

#val=(tfidf*tfidf.T).A

#print("val",val)

simiValue=((tfidf*tfidf.T).A)[0,1]

#.A操作将tfidf自相乘结果转换为二维数组ifsimiValue>0.5:

simiVDict[idx]=simiValue

returnsimiVDict795.4.2智能问答

3)运行实验(1)构建问答数据集。使用SSH方式登录边缘计算网关的Linux终端,进入实验目录,执行以下命令构建问答数据集:运行完毕后,会在当前目录的data子目录下生成qa_dict.json文件。(2)问题数据中文分词。使用SSH方式登录边缘计算网关的Linux终端,进入实验目录,执行以下命令对问题数据进行中文分词:运行完成后,会在当前目录的data子目录下创建Q_dict.json、A_dict.json文件。(3)机器问答。使用SSH方式登录边缘计算网关的Linux终端,进入实验目录,执行以下命令运行程序:805.4.2智能问答问答示例如下:81

本章小结82

教材:

胡玉荣,余云霞,董尚燕,李俊梅,

《人工智能导论》,清华大学出版社,2025.9人工智能导论第6章计算机视觉6.1计算机视觉概述6.2计算机视觉的主要研究内容6.3常用的计算机视觉工具6.4计算机视觉的应用实例—人脸识别836.1计算机视觉概述84

计算机与人工智能想要在现实世界发挥重要作用,就必须看懂图像,这就是计算机视觉要解决的问题。具体来说,计算机视觉要让计算机具有对周围世界的空间和物体进行传感、抽象、判断的能力,从而达到识别、理解的目的。图6-1包含花草和小狗的图像6.1计算机视觉概述6.1.1计算机视觉定义6.1.2计算机视觉的应用领域856.1.1计算机视觉的定义866.1.2计算机视觉的应用领域87图6-2计算机视觉在手术中的应用6.1.2计算机视觉的应用领域88图6-2计算机视觉在交通中的应用6.2计算机视觉的主要研究内容6.2.1图像处理6.2.2目标检测6.2.3图像分割896.2.1图像处理901.图像增强图像增强技术是一种对图像进行处理的方法,其核心在于不考虑图像噪声产生的具体原因,而是专注于图像中某些特定部分的处理,以突出有用的图像特征信息。就像给图像“打光”,让图像中的某些部分更亮或者更清晰。图6-3亮度调整前的图像图6-4亮度调整后的图像6.2.1图像处理911.图像增强图像增强技术的目的是提高图像的可辨识性,但处理后的图像信息可能与原始图像信息不完全一致。图像增强技术主要应用于需要突出图像中特定特征的场景。

图像增强可以改善图像的视觉效果,使其更适合人眼观察或机器分析。常见的图像增强方法包括对比度增强、亮度调整、锐化等。例如,通过亮度调整,可以增强图像的对比度,使图像中的细节更加清晰可见。6.2.1图像处理922.图像去噪对数字图像处理而言,噪声是指图像中的非本源信息。图像在采集和传输过程中往往会受到噪声的干扰,导致图像质量下降。噪声会影响人的感官对所接收的信源信息的准确理解。图像去噪的目的是去除图像中的噪声,恢复图像的原始信息。图像去噪就像是给图像“除杂草”,把图像中的干扰信息(噪声)去掉,让图像更干净。降噪是图像处理中至关重要的预处理步骤。6.2.1图像处理932.图像去噪在实际应用中,有多种去噪方法可以用于改善被噪声污染的图像质量。常见的去噪方法(即算法)有均值滤波、中值滤波、高斯滤波等算法,其中高斯滤波算法在许多图像处理任务中被广泛应用。图6-5去噪前的图像图6-6去噪前的图像6.2.1图像处理943.边缘检测

边缘检测是计算机视觉和图像处理领域中的一个关键步骤,其主要目的是提取图像中的边界信息,这些信息通常代表了图像中的重要特征,如物体的轮廓、形状和结构。边缘检测就像是在图像中画出“轮廓线”,找出物体的边界。图6-7边缘检测前的原图图6-8边缘检测后的效果图6.2.1图像处理953.边缘检测

简单来说,边缘就是图像中因为物体的形状、材料或者光照条件不同而形成的分界线。边缘检测的实质就是找到图像中亮度变化剧烈的像素点构成的集合,表现出来往往是轮廓。

在图像中,边缘表示一个特征区域的终结和另一个特征区域的开始,这些区域的内部特征或属性是一致的,而不同区域的特征或属性是不同的。边缘检测利用物体和背景在图像特性上的差异来实现,这些差异包括灰度、颜色或者纹理特征。6.2.1图像处理963.边缘检测

边缘检测实际上是检测图像特征发生变化的位置。

常见的边缘检测方法(即算法)有:Sobel算子、Canny算子等方法。

边缘检测是图像处理中的一个重要任务,它用于检测图像中物体的轮廓和边界,可以为后续的目标识别和图像分割提供了重要的基础。6.2.1图像处理974.特征提取

判断目标为何物或者测量其尺寸大小的第一步,是将目标从复杂的图像中提取出来。例如,在街景中对行人的提取;在川流不息的道路中识别过往车辆和交通标志。

人眼在杂乱的图像中搜寻目标物体,主要依靠颜色和形状差别。

计算机视觉在提取物体时,也是依靠颜色和形状差别,即图像特征。计算机里没有这些图像特征,需要人们利用计算机语言,通过某种方法,将目标物体的知识输入或计算出来,形成判断依据。6.2.1图像处理984.特征提取

特征提取就像是从图像中找出最重要的“线索”。比如,想让计算机识别出照片中的人脸,就需要提取人脸的特征,比如眼睛、鼻子、嘴巴的形状和位置。这些特征就像是人脸的“指纹”,帮助计算机识别出这是一个人脸。图6-9特征提取的输入图像与特征提取效果图6.2.1图像处理994.特征提取

特征提取的实质就是从图像中提取有助于描述图像内容的特征。这些特征可以是颜色、纹理、形状或基于学习的特征。特征提取是图像分析的关键步骤,因为它直接影响到图像识别和分类的性能。

传统的特征提取方法包括边缘检测、角点检测和纹理分析等方法。近年来,基于深度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论