NLP文本分类之基于传统机器学习算法

NLP文本分类之基于传统机器学习算法

特点:人工特征工程+浅层分类模型

抽象来说,机器学习问题是把数据转换成信息再提炼到知识的过程,特征是“数据–>信息”的过程,决定了结果的上限,而分类器是“信息–>知识”的过程,则是去逼近这个上限。

代码地址:https://github.com/xuwlgo/Dive-Into-NLP

特征工程

将文本表示为计算机可以识别的,能够代表该文档特征的特征矩阵的过程;

通常将特征工程分为文本预处理、特征提取、文本表示三部分

1.文本预处理

即提取文本中的关键词表示文本的过程

  • 文本分词:研究表明词粒度好于字粒度;尤其在中文场景,需要设计复杂的分词算法。
  • 去停用词:停止词是文本中一些高频的代词、连词、介词等对文本分类无意义的词。
2.中文分词
  • 基于字符串匹配的分词方法:
    过程:这是一种基于词典的中文分词,核心是首先建立统一的词典表,当需要对一个句子进行分词时,首先将句子拆分成多个部分,将每一个部分与字典一一对应,如果该词语在词典中,分词成功,否则继续拆分匹配直到成功。
    核心:字典,切分规则和匹配顺序
    分析
    优点:速度快,实现简单;
    缺点:对歧义和未登录词处理效果不佳

  • 基于理解的分词方法:
    即通过计算机模拟人对句子的理解,达到识别词的效果;所以在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。包含:分词子系统、句法语义子系统、总控部分
    分析:需要大量的语言知识和信息,由于汉语言系统的复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。

  • 基于统计的分词方法:
    过程:统计学认为分词是一个概率最大化问题;即拆分句子,基于语料库,统计相邻的字组成的词语出现的概率,按照概率值进行分词。
    核心:一个完整的语料库

3.特征表示

即从文本中抽取出能够体现文本特点的关键特征,把文本预处理后转换成计算机可理解的方式,抓取特征到类别之间的映射。

特征提取:

包括特征项的选择和特征权重计算两部分

  • 特征选择:根据某个评价指标,对原始特征项进行评分排序,选择得分最高的一些特征项。
  • 特征权计算:主要是经典的TF-IDF方法;文本->数字向量
文本表示:
  • 向量空间模型:
    即把每个文本看做是由t维特征组成的一个向量
  • 基于词袋模型的特征表示:
    是向量空间模型的基础,把文本看成词袋,里面装着一个个的词,文本中未出现的词的特征值为0;词与词之间的顺序关系丢失了。
    特征向量的形成:
    考虑词的重要性;以TF-IDF表征一个词的重要程度。
    分析
    优点:简单直观,它通常能学习出一些关键词和类别之间的映射关系;
    缺点:丢失了文本中词出现的先后顺序信息;仅将词语符号化,没有考虑词之间的语义联系;高纬度、高稀疏性

分类模型

大部分机器学习方法都在文本分类领域有所应用,比如朴素贝叶斯分类算法、KNN、SVM、最大熵和神经网络等等。

代码地址:https://github.com/xuwlgo/Dive-Into-NLP

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值