机器学习与数据挖掘呆鸟的Python数据分析

【NLP】【基础】一:什么是NLP以及NLP解决的问题

2020-05-24  本文已影响0人  卯月七

NLP(Nature Language Processing)是人工智能的一个子分支,用于理解人类语言和进行处理。它可以由两个分支构成NLU(Nature Language Understanding) + NLG(Nature Language Generation)。

  1. NLP:自然语言处理
  2. NLU:自然语言理解
  3. NLG:自然语言生成

一:为什么要学习NLP

不知道你是否受到如下问题的困扰:

  1. 工作或者生活中需要对大量的文本数据进行处理;
  2. 需要将文本数据进行归纳总结;
  3. 提炼概要;
  4. 根据文本数据建模,找关系;
  5. 等等等

如果我们要使用人工来完成上诉的任务的话,可能的情况就是数据量越大,工作量越大,且效率越低。因为,我们很难直接从成千上万的文字中挖掘出我们想要的信息,毕竟,人脑对该类问题的处理速度并不算快。因此,我们能否将这些现实生活中的问题转化为数学问题呢?再利用数学问题进行建模和寻找关系。

二:如何找数学关系

在寻找文本的数学关系之前,让我们先思考一下我们会遇到哪些困难:

  1. 一词多义,是苍蝇的bug还是有问题的bug?
  2. 语义的理解,一个单词一个单词的理解固然可以,可是如何连贯清晰的理解句子的意思呢?
  3. 同一个意思的多种表达方式该怎么办?我喜欢吃葡萄,葡萄是我喜欢吃的水果表达着大致相同的意思,咋区分?

现在我们有了上诉的问题,我们如何解决这些问题呢?

答案就是概率!既然我要寻找数学关系,那当我使用数字特征对该类数据进行表征的时候,自然的能够找到各自含义的概率的大小,哪个概率大就认为代表哪个意思。

从概率寻找看起来是一个解决办法,新的问题出现了:我咋知道你的概率从哪来呢?

为了解决这个概率的来源问题,我们需要一个先验知识库,使用该先验知识库获得各个语句的概率的大小。因此,一个NLP模型的好坏和你使用的先验知识库也有极大关系,万幸的是,NLP领域有许多开源的先验知识库,因此我们不用再去辛辛苦苦跑好多天的先验知识库。

三:那我咋表示数学关系呢

当我们能使用及其可以理解的方式对文本进行表示(借助先验知识库),这时候就需要我们使用算法来进行建模和验证了,咋弄呢?

好问题,看下一篇吧。这里就是说NLP是干嘛的,其余的就等下一篇再说了。

上一篇下一篇

猜你喜欢

热点阅读