# 1. 自然语言处理概念
自然语言处理研究实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理技术发展经历了基于规则的方法、基于统计学习的方法和基于深度学习的方法三个阶段。自然语言处理由浅入深的四个层面分别是形式、语义、推理和语用,当前正处于由语义向推理的发展阶段。
# 1.1 研究内容
- 词法学:研究词的词素构成和词性
- 句法学:研究句子结构成分间相互关系和组成句子序列的规则
- 语义学:研究如何从一个语句中词的意义以及词在语句的句法结构中推导出语句的意义
- 语用学:研究在不同上下文中语句的应用,及对语句理解的影响
- 文本分类和聚类
- 文本分类模型
- 基于机器学习的分类:朴素贝叶斯 (Naive Bayes)、支持向量机 (SVM)、最大熵分类器
- 基于神经网络的方法:多层感知机 (MLP) 、卷积神经网络 (CNN) 、循环神经网络 (RNN)
- 文本聚类模型
- 基于距离的聚类:通过相似度函数计算语义关联度,然后根据语义关联度进行聚类,如 K-means
- 基于概率模型的聚类:假设每篇文章是所有主题上的概率分布,典型的主题模型包括 PLSA 和 LDA 等
- 文本分类模型
- 情感分析 (sentiment analysis)
- 基于构造情感词典的情感分析方法:
- 对文本进行句子拆解
- 匹配情感词典
- 计算情感得分
- 输出句子情感倾向性
- 基于机器学习的情感分析方法:
- 类似文本分类
- 基于构造情感词典的情感分析方法:
- 信息抽取
- 实体识别:识别文本中具有特定意义的实体,如人名、机构名、地名等专有名词和有意义的时间等,是信息检索、问答系统等技术的基础任务
- 难点在于命名实体类型多,数目多,难以建立大而全的语料库
- 没有规律可循
- 不同文化下存在差异
- 实体消歧:在非结构化文档中,由于书写风格和上下文的需要,同一个命名实体实体可能包含多种形式的表达(多对一),同时文档中的一个名词可能从字面意思上对应多种命名实体(一对多).
- 基本思路:利用实体间的交互、及上下文信息进行消歧,可采用图、概率生成模型,主题模型,深度学习等方法。
- 关系抽取:检测和识别文本中实体之间的语义关系
- 事件抽取:从非结构化文本中抽取事件信息,主要包括时间、地点、事件元素角色等,并将其以结构化形式呈现出来的任务。主要任务包括触发词和事件元素的提取等
- 实体识别:识别文本中具有特定意义的实体,如人名、机构名、地名等专有名词和有意义的时间等,是信息检索、问答系统等技术的基础任务
- 自动文摘:利用计算机按照某类应用自动地将文本(或文本集合)转换生成简短摘要的一种信息压缩技术
- 信息推荐:根据用户的习惯、偏好或兴趣,从不断到来的大规模信息中识别满足用户兴趣的信息的过程。
- 自动问答
- 基于检索式自动问答:问句理解、信息检索、答案抽取
- 基于生成式自动问答:依据上下文生成答案
# 2. 语言处理过程的层次
- 词法分析
- 中文分词
- 词性标注
- 句法分析
- 语义分析
# 3. 机器翻译
- 直译式翻译系统
- 规则式翻译系统
- 中介语式翻译系统
- 知识库式翻译系统
- 统计式翻译系统
- 混合式翻译系统
- 神经机器翻译
# 4. 语音识别
# 4.1 语音识别过程
- 分帧:把一段语音分成若干小段
- 预处理
- 特征提取
- 声学模型:使用带有标注文本的语音数据训练声学模型,其中声学模型通常是基于隐马尔可夫模型(Hidden Markov Model,HMM)或深度学习模型(如循环神经网络、卷积神经网络)。
- 语言模型:使用大规模的文本数据训练语言模型,用于补充声学模型的语义信息,提高识别准确度。语言模型可以基于统计方法(如 n-gram 模型)或深度学习方法(如循环神经网络、Transformer)。
- 解码::将声学模型和语言模型结合起来进行解码,找到最可能的词序列或句子。解码过程通常使用声学模型的输出概率、语言模型的预测概率和转移概率等信息进行计算和推断。
- 后处理:对解码结果进行后处理,包括拼写纠错、语法纠错、语义解析等,以提高识别结果的质量和可读性。
- 输出
# 5. 自然语言处理的常见技术
- 循环神经网络 (RNN,LSTM,GRU) 可以对一个不定长的句子进行编码,描述句子的信息
- 编码 - 解码技术实现从一个句子到另一个句子的变换