NLP分类的目的和方法

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NLP分类的目的和方法相关的知识,希望对你有一定的参考价值。

1. 文本分类的目的

回顾之前的流程,我们可以发现文本分类的目的就是为了进行意图识别

在当前我们的项目的下,我们只有两种意图需要被识别出来,所以对应的是2分类的问题

可以想象,如果我们的聊天机器人有多个功能,那么我们需要分类的类别就有多个,这样就是一个多分类的问题。例如,如果希望聊天机器人能够播报当前的时间,那么我们就需要准备关于询问时间的语料,同时其目标值就是一个新的类别。在训练后,通过这个新的模型,判断出用户询问的是当前的时间这个类别,那么就返回当前的时间。

同理,如果还希望聊天机器人能够播报未来某一天的天气,那么这个机器人就还需要增加一个新的进行分类的意图,重新进行训练

2. 机器学习中常见的分类方法

在前面的机器学习的课程中我们学习了朴素贝叶斯决策树等方法都能够帮助我们进行文本的分类,那么我们具体该怎么做呢?

2.1 步骤

  1. 特征工程:对文本进行处理,转化为能够被计算的向量来表示。我们可以考虑使用所有词语的出现次数,也可以考虑使用tfidf这种方法来处理
  2. 对模型进行训练
  3. 对模型进行评估

2.2 优化

使用机器学习的方法进行文本分类的时候,为了让结果更好,我们经常从两个角度出发

  1. 特征工程的过程中处理的更加细致,比如文本中类似你,我,他这种词语可以把它剔除;某些词语出现的次数太少,可能并不具有代表意义;某些词语出现的次数太多,可能导致影响的程度过大等等都是我们可以考虑的地方
  2. 使用不同的算法进行训练,获取不同算法的结果,选择最好的,或者是使用集成学习方法

3. 深度学习实现文本分类

前面我们简单回顾了使用机器学习如何来进行文本分类,那么使用深度学习该如何实现呢?

在深度学习中我们常见的操作就是:

  1. 对文本进行embedding的操作,转化为向量
  2. 之后再通过多层的神经网络进行线性和非线性的变化得到结果
  3. 变换后的结果和目标值进行计算得到损失函数,比如对数似然损失等
  4. 通过最小化损失函数,去更新原来模型中的参数

以上是关于NLP分类的目的和方法的主要内容,如果未能解决你的问题,请参考以下文章

第10天:NLP补充——朴素贝叶斯(Naive-Bayes)

【自然语言处理】CNN在NLP文本分类任务上的经典之作——TextCNN

什么是NLP

NLP悦读 | 哈佛大学教授:教育的目的不是学会一堆知识,而是学会一种思维

手把手实现邮件分类 《Getting Started with NLP》chap2:Your first NLP example

NLP第九篇-句法分析