自然语言处理
2021-04-07 14:57:50 6 举报
AI智能生成
自然语言处理基本方法的思维框架。
作者其他创作
大纲/内容
自然语言处理概述
发展史
早期自然语言处理
(60~80年代):基于规则来建立词汇、句法语义分析、问答、聊天和机器翻译系统。
统计自然语言处理
(90年代开始):主要思路是利用带标注的数据,基于人工定义的特征建立机器学习系统,并利用数据经过学习确定机器学习系统的参数。运行时利用这些学习得到的参数,对输入数据进行解码,得到输出。机器翻译、搜索引擎都是利用统计方法获得了成功。
神经网络自然语言处理
(2008年之后):深度学习开始在语音和图像发挥威力。先是把深度学习用于特征计算或者建立一个新的特征,然后在原有的统计学习框架下体验效果。比如,搜索引擎加入了深度学习的检索词和文档的相似度计算,以提升搜索的相关度。目前已在机器翻译、问答、阅读理解等领域取得了进展。
挑战
词义消歧
上下文理解
指代消解
语义与语用的不对等
文本预处理
文本规范化
大小写字母转换
例:output_str=input_str.lower()/output_str=input_str.upper()
数字剔除
例:import re output_str = re.sub(r'\d+','',input_str)
标点符号删除
例:
空白处理
例:output_str=input_str.strip()
词干提取
针对可变化的形态的语言,提取词汇的主干部分。
词性还原
针对可变化形态的语言,将词汇转化为最常规的格式
语义分析
词性标注
输出结果为数组形式,其中的元素为一个单词及其词性,具体的词性用大小写符号代替。
命名实体识别
识别文中具有特定意义额实体,比如人名,地点名,组织机构名,时间等
词组提取
抽取一些由两个及两个以上词汇组成的常见固定搭配
分词
jieba库
包括精确模式,全模式,搜索模式
文本纠错
Non-word拼写错误
表示词汇本身再字典中不存在。解决思路:首先找到字典中与错拼词汇相近的词作为候选词,接着基于特定的算法找出与错拼词关联度最高的一个或多个单词作为纠正。
Real-word拼写错误
单词本身没有错误,但是不符合上下文语境。例:“我现在在公司里”写成“我现在在公式里”
关键词提取
基于特征统计
词频
一般来说,一个词在文本中出现的次数越多,作者越想表达这个词。因此可以统计这个词的词频来评估词语的重要性。这种做法存在一些漏洞。
TF-IDF
综合考虑了词在本文中的词频以及普遍重要性。
位置特征
在阅读理解的时候,我们要仔细留意标题,副标题,摘要,导语等地方的信息,说明词出现的位置与其重要性也有紧密关联。
词跨度
指一个词在文中中首次与末次出现的距离,距离越大,说明重要性越大。
基于主题模型
LDA是最典型的主题模型
它假设语料库中蕴含了多个主题,而每个主题下面对应了一系列的词语。
用通俗的语言解释主题模型,便是透过现象看本质。在生活中,我们会根据一个人的衣着外貌,学历职业等外在表现去判断这个人的真实情况。
基于图模型
度
节点的度是指该节点相关联的边的条数,又称关联度。
接近中心性
每个节点到其他最短路径的长度
中介中心性
一个节点担任其他两个节点之间最短距离中介的次数。
数据不平衡处理
改变性能评估
光靠准确率的评估方式会给人带来误判。因此需要结合多种评价标准来确定模型的性能。
添加特殊的惩罚/代价机制
使用同样的算法,但为其提供不一样的目标预期
数据重采样
上采样
增多量少的类别的样本数,最简单的方式便是直接随机复制。通常目的:放大图像,使图像达到更高的分辨率
下采样
删除类多的类别的样本数
聚类
这种方法尝试从类别内部结构出发进行样本量的调整
合成样本
最简单的方式是从数量小的类别中随机采样属性合成新样本。
K-fold交叉验证
把原始数据随机分成K个部分,选择我其中一份作为测试数据,剩余的K-1份作为训练数据。
采用不同的分类器
修改现有的分类算法使其适用于不平衡数据集。结合多个分类器进行共同决策是解决不平衡问题的有效方案。
文本的表示技术
词袋模型
基于频次的词袋模型
把文本中的词用袋子装起来统一作为文本的表示。
基于TF-IDF的词袋模型
TF:表示某个词在某一文中出现的频率,IDF为逆向文档频率,于某词在综合语料库中出现的频率相关。
Word2Vec词向量
CBOW深度学习模型
给定上下文作为输入,来预测中心词
Skip-Gram深度学习模型
给定中心词作为输入,来预测上下文
文本分类
机器学习
朴素叶贝斯
基于叶贝斯定义,假设特征条件独立,当特证间有关联的时候,它的表现可能会不尽如人意
决策树
一种以树形的结构来对问题做判断
支持向量机
寻找一个超平面将数据进行分割,而分割的准则是间隔最大化。
模型融合
Bagging
通过有放回的抽样,得到多个采样集,在分别对多个采样集进行训练得到不同的模型。
深度学习
基本思想:在翻译目标语句的时候对源语句中的不同词汇施加不同权重的注意力。
0 条评论
下一页