urlname
type
Post
password
SyncToConfluence
category
学习笔记
date
Nov 24, 2024
slug
10f6a8ad-d3c9-461e-891b-475822259292
icon
Button
catalog
summary
本文介绍了自然语言处理(NLP)的基本概念、主要应用、分析层次、关键技术及其发展方向。NLP包括自然语言理解和生成,应用于信息抽取、机器翻译和对话系统等领域。分析层次包括形态学、语法学、语义学和语用学。关键技术如深度学习模型和知识图谱结合,推动了多模态NLP的发展。文章还探讨了知识图谱的构建与应用,以及机器翻译的研究方向和评价指标。
tags
产品思考
机器学习
深度学习
cover
Status
BusyTime
Status 1
status
Published

😄 基本概念

什么是自然语言处理?

  • 定义:NLP是研究人与计算机通过自然语言交流的学科。
  • 分支领域
    • 领域
      描述
      自然语言理解 (NLU)
      关注机器如何理解自然语言,包括文本分类、实体识别、句法分析、机器阅读理解等。
      自然语言生成 (NLG)
      关注机器如何生成自然语言,包括自动摘要、机器翻译、自动问答等。
  • 关系:NLU是NLG的基础,为机器生成自然语言提供语义支持。

NLP的主要应用

  • 信息抽取与信息检索
  • 文本分类与文本挖掘
  • 舆情分析与信息过滤
  • 自动摘要与文本生成
  • 机器翻译与对话/问答系统
  • 知识库与知识图谱
notion image

😇 NLP的分析层次

层次
描述
形态学
又称词法,研究词的内部结构,如分词、词性标注。
语法学
研究句子的结构及组成部分间的规则与关系,如主谓宾结构、依存关系。
语义学
研究语言的含义,关注从词到句的客观语义表达。
语用学
研究语言的实际使用,关注上下文、文化、规则对语言的影响。
notion image

🤑 分析任务与方法

词法分析

任务
描述
分词
将文本划分为独立词汇,中文分词尤为重要,精准分词是理解的基础。
新词发现
互联网环境中快速传播的新词需要被识别、理解并使用。
词性标注
自动标注单词属性(如名词、动词),有助于句法分析和消除歧义。
拼写矫正
矫正文本中的拼写错误,广泛应用于文本编辑和信息核验。

句法分析

任务
描述
依存句法分析
分析词与词之间的依赖关系,如从属、并列、递进。
句法结构分析
分析句子中主谓宾等成分的关系,帮助构建语言模型。
语言模型 (LM)
预测文本序列中下一个词或字的概率,早期用N-Gram模型,后来用LSTM及预训练模型优化。
句子边界检测
给无标点文本划分句子边界,用于语音转文本等应用。

语义分析

  • 词语级语义分析
任务
描述
词语消歧
判断词语的真实含义,如“苹果”可指水果或品牌。
词表征
用向量表示词语,将语义信息融入表示方式(如Word2Vec)。
同义词与上下位词挖掘
分析词语之间的关系,如“做饭”与“做菜”为同义词,“买菜”属于“做菜”过程。
  • 句子级语义分析
任务
描述
语义角色标注 (SRL)
标注句子的核心语义角色(施事者、受事者)和附属语义角色(时间、地点、原因等)。
文本蕴含 (Textual Entailment)
判断两段文本间的逻辑关系(蕴含、冲突或中立)。
句向量
将句子向量化,用于文本检索、问答系统等。
  • 篇章级语义分析
任务
描述
文章结构分析
分析段落关系,理清文章结构。
词汇语义分析
基于词汇语义关系理解篇章语义。
背景知识分析
借助知识库或知识图谱理解篇章语义。
指代消解
处理代词指代不明的问题,将同一实体的不同代词划分到相同集合。

🤥 NLP关键技术的发展方向

技术
描述与趋势
深度学习模型
预训练模型(如BERT、GPT)提升了语义分析和语言生成能力。
知识图谱结合
NLP与知识图谱结合,提升背景知识理解能力。
多模态NLP
结合图像、语音等其他模态信息,提升语言理解和生成的多样性与准确性。
端到端系统优化
简化NLP流程,直接从输入文本生成结果,减少模块化设计带来的效率损失。

😆 信息抽取

信息抽取是将非结构化信息转换为结构化信息(如实体、关系、事件)的过程,常包括以下任务:

命名实体识别 (Named Entity Recognition, NER)

内容
描述
定义
定位文本中的命名实体并对其分类(如人名、地名、机构名等)。
方法
- 规则与词典:关键词、位置词、标点符号匹配。- 机器学习:将NER作为序列标注问题(如隐马尔可夫模型、最大熵等)。- 深度学习:基于注意力机制、图神经网络的模型。
挑战
- 专用细分领域数据匮乏,难以快速训练。- 实体表述多样性及歧义性。- 实体开放性及动态变化。
应用场景
知识图谱构建、QA任务中的词槽抽取、舆情分析中的敏感实体识别等。

关系抽取 (Relation Extraction, RE)

内容
描述
定义
获取文本中实体间的语义联系,如子女、配偶、从属关系。
方法
- 限定关系抽取:关系集合确定,视为分类问题。- 开放式关系抽取:关系集合开放,需挖掘语料与关系结构。
实现方式
- 流程式:实体和关系抽取独立进行,依赖前者结果,效果受限。- 端到端:同时完成实体与关系抽取,共享参数学习更丰富的联合信息。
数据结构
使用SPO(Subject, Predicate, Object)三元组表示关系,如(中国,首都,北京)。

事件提取 (Event Extraction, EE)

内容
描述
定义
提取文本中发生的事件信息,如时间、地点、过程等,并以结构化形式存储。
分类
- 元事件提取:关注简单动作或状态改变。- 主题事件提取:描述事件及其发展过程,可能由多个元事件组成。
方法
- 元事件:基于模式匹配和机器学习,深度学习提高精度。- 主题事件:基于事件框架、本体的提取。
应用
网络舆情监控、突发事件报警等场景。

😍 知识图谱

知识图谱 (Knowledge Graph, KG) 是以语义网络形式构建和表达知识的技术,可作为感知智能与认知智能的桥梁。
notion image

知识图谱概述

内容
描述
定义
将实体、关系、事件等知识用图形化网络结构表示,实现认知推理和逻辑表达。
发展
从语义网、语义Web发展至自动化信息抽取,进入大规模构建阶段。
类型
数据层:由事实(如三元组)组成,存储在图数据库中。 模式层:经过提炼的知识,通过本体库管理。

知识图谱构建

步骤
描述
知识表征
使用向量表示实体与关系(如TransE模型)。
知识构建
自顶向下:先构建模式层,再抽取数据层内容,适合小规模高质量场景。 自底向上:先构建数据层,后提炼模式层,适合大规模数据场景(如NELL)。
知识融合
融合多数据源(结构化、半结构化、非结构化)信息,通过实体消歧、指代消解等提升数据一致性与质量。
知识加工
通过本体构建和质量评估完善逻辑结构: 本体构建:定义实体、关系、属性等的规则(如Part-of、Instance-of)。 质量评估:通过数据可信度和冲突解决提升质量。
notion image

知识图谱存储

存储方式
描述
关系型数据库
适合小规模图谱,维护大量数据表的成本高。
图数据库
用节点表示对象、边表示关系,多跳查询性能好,但更新复杂。
RDF模型
设计用于三元组存储,支持六重索引(SPO、SOP等)搜索,适合大规模数据场景。
知名工具
图数据库:Neo4j;RDF存储:gStore。

知识图谱应用

应用场景
描述
语义搜索
搜索引擎利用知识图谱理解用户意图,挖掘深层含义并呈现相关内容。
知识问答
解析用户提问,挖掘知识图谱中匹配答案,常用于智能客服。
推荐系统
结合用户行为与知识图谱,构建用户与产品关系图谱,推断用户需求,实现精准推荐(如电商、社交应用)。

知识推理

内容
描述
定义
使用知识推理从已知事实中推理新知识,或对旧知识进行校正与补全。
方法
基于描述逻辑:定义规则与条件进行推理。 基于分布式表示:利用向量空间中的距离进行推理(如深度学习)。
应用
提升知识图谱质量、增强对话与推荐系统能力。

😑 机器翻译

定义与应用场景

机器翻译 (Machine Translation) 是将源语言文本通过机器技术转换为目标语言的过程。应用场景包括:
  • 开放翻译系统:如谷歌翻译、百度翻译。
  • 辅助翻译:聊天场景中的翻译(如微信)。
  • 输入法翻译:实时翻译用户输入内容。
  • 语音翻译:如AI同传、语音问答翻译。

研究方向

方向
描述
引入语法信息
将语法、语义先验知识融入模型,与深度学习结合提升翻译质量。
无监督机器翻译
通过反向翻译 (Back Translation) 构造新双语语料,解决数据不足问题,适用于受众少的语言翻译。
单模型多语言翻译
构建支持多语言的单一模型,通过学习不同语言间的信息共享,实现多语言翻译能力。
语音直译
跨模态语言映射技术,直接实现语音到语音翻译,增强单模型跨模态信息关联能力。

评价指标

BLEU (Bilingual Evaluation Understudy)

  • 定义:评价机器翻译结果与参考翻译(人工翻译)的匹配值。
  • 范围:0~1,0表示完全不匹配,1表示完全匹配。
  • 公式
    • notion image
  • 重要组件
    • BP (简短惩罚):惩罚翻译句子过短的情况。
    • n-gram 精度:评价翻译的词块匹配度(如1-gram,2-gram)。
示例:
  • 人工译文:Today is a lucky day
  • 机器译文:It is a lucky day today
    • 1-gram:5/6
    • 5-gram:1/2

🤪 对话系统

对话系统是模拟人类对话的人工智能系统,广泛应用于 聊天机器人智能客服智能音箱 等场景。
notion image

对话系统的模块

模块
功能描述
NLU (自然语言理解)
将用户输入语言转换为结构化语义表述,包括用户意图识别和槽值提取(如“地点-深圳;时间-明天”)。
DST (对话状态追踪)
在多轮对话中追踪上下文信息,理解对话状态,用于推断当前用户意图。
DP (对话策略)
根据当前对话状态,决定系统下一步的执行计划,可通过强化学习训练策略网络。
NLG (自然语言生成)
将DP输出的结构化语义转换为文本语言(如通过话术模板或序列到序列方法实现)。
ASR (自动语音识别)
将语音输入转换为文本形式。
TTS (文本转语音)
将文本形式的系统响应转换为语音输出。

主流实现方法

  • 生成式对话系统
    • 定义:基于序列到序列(Seq2Seq)技术,生成对话内容。
    • 特点:适用于开放式对话场景,如闲聊机器人。
    • 挑战:应对多样条件限制生成合理答案,且结果评估难度大。
  • 检索式对话系统
    • 定义:从语料库中检索最适合的回答。
    • 特点:适用于问答型场景(如FAQ)。
    • 优点:实现难度低,工业界应用更广。

对话系统的评价

评价方式
描述
定性评价
通过人工判断对话效果,主观评价系统的智能程度和可用性。
定量评价
基于机器的自动化量化评估,包括:- BLEU:评估生成语句与参考语句的匹配度。- ROUGE:基于词匹配的文本相似度评估。
向量评价
将文本映射为向量,基于向量空间中距离评估语句相似性,更包容多样答案。