--- slide1.xml ---
第7章 自然语言处理与应用
授课教师:李老师
--- slide2.xml ---
智能聊天机器人能够在任何时间回答用户的咨询,提供个性化服务
前言
--- slide3.xml ---
智能搜索引擎能够理解用户的查询意图,提供精准的信息
前言
--- slide4.xml ---
自动摘要和文本生成技术则为新闻、出版等行业带来了革命性的变化
前言
--- slide5.xml ---
在教育领域,自然语言处理技术正在帮助教师批改作业,为学生提供个性化的学习建议
前言
--- slide6.xml ---
在医疗健康领域,它则用于辅助诊断,通过分析病历文书来提高诊疗的准确性
前言
--- slide7.xml ---
前言
从自然语言处理
的基础概念和发展历程出发,探究语言学知识对自然语言处理技术的影响
01
详细解析文本清洗、分词等基础任务,并展示自然语言处理技术在现实世界的广泛应用
02
最后展望多模态融合等前沿技术
03
--- slide8.xml ---
熟练掌握文本清洗、分词、词性标注、命名实体识别和依存句法分析等基础任务的原理、方法和技术。
了解语言学知识如语音、词汇、语法、语义等对自然语言处理技术的影响。
清晰掌握自然语言处理的定义,了解自然语言处理从早期到现代的发展脉络。
熟悉自然语言处理在语言理解、语言生成、机器翻译、内容审核、个性化推荐和智能问答等领域的具体应用场景和实现方式。
03
02
01
了解自然语言处理前沿技术的发展。
04
05
学习目标
--- slide9.xml ---
7.1 自然语言处理概述基础
语言学基础
7.1.2
自然语言中的歧义问题
7.1.3
自然语言处理的概念及其发展历程
7.1.1
--- slide10.xml ---
7.1.1 自然语言处理的概念及其发展历程
自然语言处理是计算机科学和人工智能领域中的一个关键研究方向,它致力于研究能实现人与计算机之间用自然语言(如英语、中文等)进行有效通信的各种理论和方法,其目标可以归纳为语言理解、语言生成和人机交互。语言理解是使计算机能够准确理解人类语言的含义,包括词汇的精确含义、句子的结构以及整个文本的上下文和意图。语言生成是让计算机能够生成自然流畅的人类语言,用于回应、解释或传达信息。人机交互是通过自然语言处理技术,实现人与计算机之间的自然、流畅交互,提升用户体验和服务效率。自然语言处理领域的研究涉及多个学科,包括计算机科学、语言学、心理学和统计学等。
自然语言处理
--- slide11.xml ---
自然语言处理的发展历程
4
3
2
1
以符号学派和随机学派为代表,主要集中在基础理论和模式识别等方面。
早期探索期(
19
50
-
60年代)
深度神经网络,特别是循环神经网络(RNN)和Transformer架构,带来了前所未有的模型性能。
深度学习时代和大模型时代(2110年代
-
)
理性主义时代(
19
70
-
80年代)
基于逻辑的范式、基于规则的范式和随机范式得到了广泛的研究和应用。
经验主义时代(
19
90年代
-
2
00X
)
基于机器学习和大量数据的方法开始占据主导地位。
--- slide12.xml ---
语言的发音和声音特性
(
1)语音层
7.1.2 语言学基础
语言的句子结构、句法关系和句子的功能
(3)语法层
语言的意义和语义关系
(4)语义层
词汇的形态、词义、词法
(2)词汇层
语言的层级结构
--- slide13.xml ---
语音层
语音层的研究对于理解语言的听觉特性、进行语音识别和语音合成等方面具有重要意义。如通过对不同音素的识别和分析,可以更好地理解语音信号中的内容,提高语音识别的准确性;根据不同的音节结构和韵律规则,生成的语音自然流畅,更符合人类听觉习惯。
--- slide14.xml ---
词
汇层
自然语言处理中的词法分析涉及对词汇的形态、词性等进行分析。词汇层的知识对于准确识别词的边界、确定词性以及进行词干提取等任务至关重要。例如,通过分析词的后缀可以判断其词性,为后续的语法分析和语义理解提供基础。
--- slide15.xml ---
语
法层
语法分析是自然语言处理的关键环节,它旨在确定句子的语法结构。语法层的知识为语法分析提供了规则和依据。通过分析句子的主谓宾等结构,可以更好地理解句子的含义。例如,在机器翻译中,准确的语法分析可以确保翻译结果的语法正确性。
自然语言处理系统有时需要生成句子,语法层的规则可以指导句子的生成过程。遵循语法规则生成的句子更加通顺、自然,提高了系统的输出质量。
--- slide16.xml ---
语
义层
语义理解是自然语言处理的核心任务之一。语义层的知识有助于系统准确理解文本的意义。通过分析词汇的语义关系、句子的语义结构等,可以深入理解语言所表达的信息。例如,在问答系统中,准确理解问题的语义是给出正确答案的前提。在信息检索、文本分类等任务中,需要计算文本之间的语义相似度。语义层的知识可以帮助系统更准确地计算语义相似度。通过分析词汇的语义特征和句子的语义结构,可以确定文本之间的相似程度。
--- slide17.xml ---
例如,在机器翻译系统中,
最后,进行语音合成(若输出是语音)。
随后展开词法分析、语法分析以及语义理解,以确定源语言句子的结构与意义。
首先进行语音识别(倘若输入为语音),
接着,依据目标语言的语法和语义规则,生成目标语言的句子。
--- slide18.xml ---
7.1.3 自然语言中的歧义问题
歧义问题在自然语言处理中一直是一个具有挑战性的难题,因为它可能导致误解、错误的理解和不准确的信息传递。
--- slide19.xml ---
歧义类型
语法歧义
指代歧义
方向性歧义
修饰语歧义
语音歧义
句法结构歧义
数量歧义
词汇歧义
语义歧义
语境歧义
--- slide20.xml ---
解决歧义的方法
1
基于规则的方法
综合方法
基于统计的方法
基于深度学习的方法
3
4
2
--- slide21.xml ---
7.2 自然语言处理基础任务
7.2.1
文本清洗
7.2.2
分词
7.2.3
词性标注
7.2.4
命名实体识别
7.2.5
依存句法分析
--- slide22.xml ---
7.2.1
文本清洗
文本清洗的目的就是通过一系列预处理步骤,提高文本数据的质量和一致性,使得处理后的文本更加适合后续的自然语言处理任务。
在自然语言处理的实际应用中,文本清洗的效果往往直接影响整个系统的性能。例如,在情感分析任务中,如果文本中存在大量的特殊字符、无关词汇或拼写错误,那么模型可能无法准确地捕捉到文本中的情感信息,从而导致分析结果的不准确。
--- slide23.xml ---
文本清洗通常包括以下几个关键步骤
去除无用字符
小写化
处理缩写和简写
文本编码统一
文本规范化
去除或替换数字
去除重复项
拼写校正
去除噪声数据
1
3
5
7
9
2
4
6
8
--- slide24.xml ---
7.2.2 分词
在自然语言处理领域,分词作为基础步骤,发挥着关键作用。它将连续的文本拆分为独立的单词、短语或符号,为后续的各项处理任务如词性标注、句法分析、语义理解等奠定基础。
不同的语言在分词过程中面临着各自独特的规则和挑战。
英文一般以空格作为基本的单词分隔符。但英文中的缩写和连字符常常给分词带来困扰
中文没有像英文那样明显的空格作为单词边界的标识,确定词语的边界往往需要综合考虑多个因素。
“乒乓球拍卖完了”
“乒乓球”“拍卖”“完了”
“乒乓球拍”“卖完了”
--- slide25.xml ---
jieba库中文分词
示例
结果
import jieba
text = "自然语言处理是人工智能的一个分支,涉及计算机科学、人工智能和语言学等领域。"
# 使用jieba.lcut进行精确模式分词,结果存储在列表中
word_list = jieba.lcut(text, cut_all=False)
# 输出分词结果
print("精确模式:", word_list)
精确模式: ['自然语言', '处理', '
是
', '人工智能', '
的
', '一个', '分支', '
,
', '涉及', '计算机科学', '
、
', '人工智能', '
和
', '语言学', '
等
', '领域', '。']
--- slide26.xml ---
7.2.3 词性标注
词性标注(Part-of-Speech Tagging,POS Tagging)指的是将文本中的每个单词分配一个词性标签,如名词、动词、形容词、副词等。
--- slide27.xml ---
jieba库中文分词并词性
标注
示例
结果
import jieba.posseg as pseg
text = "今天天气晴朗,我心情愉悦地去公园散步。"
words = pseg.cut(text)
for word, flag in words:
print(f"{word}({flag})",end=";")
今天(t);天气晴朗(nr);,(x);我(r);心情(n);愉悦(a);地(uv);去(v);公园(n);散步(n);。(x);
--- slide28.xml ---
7.2.4 命名实体识别
命名实体识别(Named Entity Recognition,NER)的主要目的是从文本中识别出具有特定意义的实体,如人名、地名、组织机构名、时间表达式、日期、货币、百分比等。这些实体对于理解文本的含义和上下文至关重要,因为它们通常包含了文本中最关键和最有价值的信息。
--- slide29.xml ---
“
李明
在
会议室
汇报工作。”
“李明”
“
会议室
”
--- slide30.xml ---
命名实体识别的应用场景
信息提取
智能问答
知识图谱构建
机器翻译
舆情分析
搜索引擎优化
--- slide31.xml ---
命名实体识别的简单
例子
示例
结果
import jieba.posseg as pseg
def extract_entities(text):
entities = []
for word, flag in pseg.cut(text):
if flag in ['nr', 'nrt', 'n','ns', 't']: # 使用 jieba 实际的词性标签
entities.append(word)
return entities
text = "今天,广东金融学院—华为技术有限公司全面合作框架协议在深圳举行签约仪式。未来,双方将在人才培养、信息化建设与科研合作等方面开展深度合作。"
entities = extract_entities(text)
print("可能的命名实体:", entities)
可能的命名实体:['今天', '广东', '金融', '学院', '全面', '框架', '协议', '深圳', '仪式', '未来', '双方', '信息化', '科研', '方面', '深度']
--- slide32.xml ---
7.2.5 依存句法分析
依存句法分析在自然语言处理的多个领域都有广泛的应用,例如在语言理解、信息抽取、机器翻译、情感分析和文本生成等方面。通过依存句法分析,可以更好地理解句子的含义,提高自然语言处理任务的准确率。
--- slide33.xml ---
依存句法分析的基本
步骤
step 01
step 02
step 03
接着,对每个词进行词性标注,即确定每个词在句子中的词性(如名词、动词、形容词等)。
需要对输入的句子进行分词处理,即将句子拆分成一系列独立的词(或词素)。
基于分词和词性标注的结果,进行依存句法分析,构建依存树。
--- slide34.xml ---
7.3 自然语言处理常见应用
01
语言理解
03
机器翻译
04
内容审核
05
个性化推荐
06
智能问答-聊天机器人
02
语言生成
--- slide35.xml ---
7.3.1 语言理解
“百度人工智能能力体验中心→语言理解”页面
--- slide36.xml ---
1.词法分析
进行分词、词性标注和命名实体识别等操作
--- slide37.xml ---
主要应用场景
语音指令解析
法律术语识别
品牌舆情信息提取
多轮交互式搜索
新闻人物信息提取
--- slide38.xml ---
2.文本纠错
针对公文写作的场景
内容搜索场景
将文本纠错功能嵌入对话系统中
在内容写作平台中嵌入纠错模块
结合自然语言处理技术,如拼写检查、语法分析、语义理解以及领域知识库等,识别文本中的多种错误类型,包括但不限于拼写错误、语法错误、标点符号错误、语义错误以及特定领域内的术语使用不当等。
--- slide39.xml ---
情感倾向分析,又称情感分析或情感评分,它用于识别和提取文本中的主观信息,并对作者或说话者的情感态度进行分类。这种分析可以帮助理解客户反馈、产品评论、社交媒体帖子等文本数据中的情绪倾向。
3.情感倾向分析
“
这款产品非常好用,我很满意,强烈推荐给大家。”
“
这个产品质量太差了,根本不值得购买。”
“
这款产品的价格是
100
元。”
--- slide40.xml ---
情感分析通常涉及以下步骤
特征提取
情感分类
模型训练
文本预处理
置信度评估
01
02
03
04
05
--- slide41.xml ---
情感倾向分析的主
要应用领域
社交媒体监控
市场研究
客户服务
内容推荐
政治选举
--- slide42.xml ---
情感倾向分析功能演示
--- slide43.xml ---
旨在从用户评论、产品评价、社交媒体帖子等文本中自动识别出用户表达的具体观点或评价对象。这些观点通常与某个实体(如产品、服务、个人等)的属性或特征相关联。
首先,需要确定文本中用户正在评价的具体对象或实体。例如,在一条关于手机的评论中,评价对象可能是手机的“屏幕”“电池续航”或“摄像头”。
其次,需要抽取用户对评价对象所持有的具体观点或情感倾向。这些观点可能是正面的(如屏幕很清晰)、负面的(如电池续航太短)或中性的(如外观一般)。
最后,需要将评价对象和相应的观点关联起来,形成一个结构化的表示,以便进一步分析和应用。
4.评论观点抽取
--- slide44.xml ---
评论观点抽取功能演示
--- slide45.xml ---
对话情绪识别是自然语言处理和情感分析领域的一个重要分支,它涉及对人类交流中情感层面的理解和分析,即通过分析对话中的语言、语调、语速、停顿等特征,结合机器学习算法和深度学习模型,来推断出说话者的情绪状态,如高兴、悲伤、愤怒、惊讶等。
5.对话情绪识别
--- slide46.xml ---
对话情绪识别的方法主要包括
基于文本的情绪识别
多模态情绪识别
基于语音的情绪识别
--- slide47.xml ---
对话情绪识别技术的应用
客服领域
市场调研和舆情监测领域
社交媒体平台
心理健康领域
--- slide48.xml ---
对话情绪识别功能演示
--- slide49.xml ---
地址识别技术是通过分析文本内容,能够从复杂的文本(如快递单)中精准提取出姓名、电话和地址信息等。
在实际应用中,地址识别技术能够将非结构化的地址文本转化为结构化的数据,如将“张三,186****4663,广东省深圳市南山区学府路东百度国际大厦”这样的文本信息,解析为包含姓名、电话、省份、城市、区县、街道等详细信息的结构化数据。
此外,地址识别技术还可以融合地图数据支持,如百度地图权威数据,以识别并生成标准规范的地址信息,进一步提高了识别的准确率。
6.地址识别
--- slide50.xml ---
地址识别功能演示
--- slide51.xml ---
实体分析是通过结合上下文信息,识别文本中的实体,并将其与百科知识库中的实体对象相关联。这一过程不仅涉及对实体的识别,还包括对实体概念的分析和实体简介的生成,旨在深入理解文本中的实体信息。
例如对文本“苹果公司最近发布了新款iPhone”进行实体分析,先识别出“苹果公司”和“iPhone”为实体;然后将“苹果公司”链接到知识库中的Apple Inc.实体,将“iPhone”链接到相应的产品类别;再进行概念分析,确定“苹果公司”属于“科技公司”类别,“iPhone”属于“智能手机”类别;最后,为“苹果公司”提供简介,如成立年份、创始人、主要产品等;为“iPhone”提供产品系列、特点、市场表现等信息。
在实际应用中,实体分析可应用于文本理解、智能问答系统、知识图谱构建等多个领域。例如,在智能问答系统中,通过实体分析可以理解用户问题中的实体,并在知识库中检索相关信息,以提供准确的答案。
7.实体分析
--- slide52.xml ---
短文本相似度计算是自然语言处理领域的一项核心技能,它用于评估两个短文本之间的语义接近程度。这项技术通过将文本内容转化为数值形式的向量,进而比较这些向量之间的相似性。
8.短文本相似度
--- slide53.xml ---
sklearn库计算两个短文本相似度的示例
示例
# 导入必要的库
import jieba
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.p人工智能rwise import cosine_similarity
# 定义两个相似的中文文本
text1 = "自然语言处理是人工智能的一个重要分支。"
text2 = "人工智能领域包含了自然语言处理。"
# 使用jieba进行中文分词,并用空格连接分词结果
text1_cut = " ".join(jieba.cut(text1))
text2_cut = " ".join(jieba.cut(text2))
--- slide54.xml ---
sklearn库计算两个短文本相似度的示例
示例
# 使用TfidfVectorizer将文本转换为TF-IDF特征向量
# 注意:fit_transform 会同时拟合和转换数据,如果后续有新文本需要转换,应使用 transform
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform([text1_cut, text2_cut])
# 计算两个文本的余弦相似度
# 注意:cosine_similarity 函数的输入是两个数组,这里通过切片获取单个样本的向量
cosine_sim = cosine_similarity(tfidf_matrix[:1], tfidf_matrix[1:])
# 输出相似度
# cosine_sim 是一个二维数组,因为输入是两个样本的列表。取第一个元素(即第一个样本与第二个样本的相似度)
print(f"文本1和文本2的相似度为: {cosine_sim[0][0]}")
--- slide55.xml ---
sklearn库计算两个短文本相似度的示例
示例
text1 = "自然语言处理是人工智能的一个重要分支。"
text2 = "自然语言处理确实是人工智能的一个重要分支。"
运行上述代码后,得到的运行结果是“文本
1
和文本
2
的相似度为
: 0.380……
”
将text1和text2换成下面的内容,得到的相似度达到0.867……
--- slide56.xml ---
短文本相似度计算的应用
电子商务
社交媒体监控方面
信息检索领域
学术研究
内容推荐
客户服务与支持领域
01
06
05
02
03
04
--- slide57.xml ---
从文本中自动提取出若干关键的词或短语,这些关键词或短语能够准确反映文本的主题、话题以及涉及的实体等方面。
在个性化推荐场景中,通过对用户浏览的文本进行关键词提取,可以了解用户的兴趣偏好。
在话题聚合方面,对大量的文本进行关键词提取后,可以将具有相同或相似关键词的文本归为一类。
电商推荐场景,当用户撰写商品评价或搜索商品时,关键词提取技术可以从这些文本中提取出关键信息。
9.关键词提取
--- slide58.xml ---
文本信息提取技术能够精准理解用户输入的短语或问题,并从中提取出丰富多样的文本信息,包括但不限于实体、关系、事件论元以及事件描述等。文本信息提取的关键技术通常包括实体识别、关系抽取、事件抽取、文本分类、情感分析和观点抽取等。
在媒体领域,文本信息提取技术可以快速分析大量的新闻稿件。
金融领域中,该技术可以对金融新闻、公司财报等文本进行分析。提取出涉及的金融机构实体、不同金融产品之间的关系、重大金融事件的详细描述。
在政务领域,文本信息提取能够处理各类政策文件、政务公告等文本。提取出相关的政府部门实体、政策实施对象之间的关系、政策所针对的事件和具体的政策描述。
10.文本信息提取
--- slide59.xml ---
7.3.2 语言生成
文章标题生成
1
2
3
4
5
文章标签
智能创作
新闻摘要
文章分类
--- slide60.xml ---
文章标签是指通过给文章附加关键词或短语的方式,对文章进行分类和归档的一种方法。这些标签能够准确地描述文章的主题、内容或特点,不仅方便读者快速检索和筛选文章,也便于作者掌握自己创作内容的整体情况。在新闻个性化推荐、相似文章聚合、文本内容分析等应用场景中,文章标签提供了重要的技术支持。
1.文章标签
--- slide61.xml ---
文章分类是指将文章按照内容类型进行自动划分,以便更好地进行文章聚类、文本内容分析等。
2.文章分类
--- slide62.xml ---
通过分析文章的内容,该技术可以提取出关键信息、主题关键词和核心观点。然后,运用自然语言处理算法和语言模型,生成多个富有创意和吸引力的标题。这些标题既能够准确反映文章的主题,又具有一定的新颖性和独特性,能够在众多标题中脱颖而出。
3.文章标题生成
--- slide63.xml ---
新闻摘要是通过自动提取新闻文本中的关键信息并生成简短的摘要来帮助用户快速了解新闻内容。
4.新闻摘要
--- slide64.xml ---
5.智能创作
文学创作
视觉艺术
音乐创作
游戏开发
--- slide65.xml ---
机器翻译是指使用计算机程序将一种自然语言转换成另一种自然语言的过程。神经机器翻译是机器翻译的重大变革,它利用深度学习技术,尤其是Transformer模型,通过自注意力机制处理输入序列中的关联信息,有效捕捉长距离依赖关系,从而显著提升了翻译的准确性和流畅性。
多模态融合技术的兴起预示着机器翻译将突破文本的界限,迈向更加广阔的应用空间。
7.3.3 机器翻译
--- slide66.xml ---
内容审核是指对互联网上的文本、图片、视频等媒体内容进行审查,以确保这些内容不违反法律法规、平台规则和社会道德标准。
7.3.4 内容审核
--- slide67.xml ---
个性化推荐是指根据用户的个性化信息,如兴趣爱好、历史行为、人口统计学信息等,为用户提供符合其特定需求的信息推荐服务。它旨在解决信息过载问题,帮助用户快速发现感兴趣的内容,提高信息的利用率和价值。
7.3.5 个性化推荐
--- slide68.xml ---
聊天机器人作为基于人工智能技术的创新应用,通过自然语言与用户展开交互,可解答问题、提供建议,亦能进行闲聊。其在多种平台上顺畅运行,包括网页、移动应用以及社交媒体等,为用户随时随地提供服务,给人们带来了极大的便利。
7.3.6 智能问答-聊天机器人
--- slide69.xml ---
技术原理
首先,利用自然语言处理技术对用户的输入进行一系列精细的处理,包括分词、词性标注和句法分析。通过这些处理,使聊天机器人能够更准确地理解用户的意图和语义。
其次,建立一个包含各种领域知识的知识数据库至关重要。这个数据库为聊天机器人提供了回答问题的坚实依据。它可以涵盖科学知识、历史事件、技术信息等众多领域,使得聊天机器人在面对用户的各种问题时,能够从中检索到相关的知识,从而给出准确的回答。
再者,通过机器学习算法,聊天机器人能够有效地识别用户输入中的意图。这包括判断用户是在查询信息,例如询问某个地点的天气情况;还是在寻求帮助,例如请求解决某个技术问题等。准确地识别用户意图是提供高质量回答的关键。
最后,根据用户的意图以及知识库中的信息,聊天机器人能够生成相应的回答或建议。如果用户是查询信息,聊天机器人会从知识库中提取相关内容,并以清晰、简洁的语言回答用户的问题。如果用户是寻求帮助,聊天机器人则会根据问题的性质,给出具体的建议或解决方案。
--- slide70.xml ---
7.4 自然语言处理技术前沿
可解释性自然语言处理
深度学习模型的不断演进
多模态融合
--- slide71.xml ---
本章小结
本章首先概述了自然语言处理的基本概念及其发展历程,并强调了语言学基础对自然语言处理的深远影响,为后续学习奠定了坚实的理论基础。在基础任务方面,详细解析了文本清洗、分词、词性标注、命名实体识别和依存句法分析等关键任务,这些任务是构建高级自然语言处理应用不可或缺的基石。通过这些任务的学习,读者能够掌握自然语言处理技术的基本操作和实践方法。此外,本章还展示了自然语言处理在多个领域中的广泛应用,如语言理解、语言生成、机器翻译等,这些应用不仅丰富了人们的日常生活,也极大地提高了工作效率。最后,我们展望了自然语言处理技术的前沿发展,包括多模态融合、可解释性自然语言处理和深度学习模型的最新进展,这些创新为自然语言处理的未来开辟了广阔的空间。
--- slide72.xml ---
谢谢