进入AI领域做产品 —— 我的自学之路(NLP)

语音和文字处理 —— 自然语言处理 NLP

        自然语言处理目前是限制AI发展中众多限制条件里的“关键条件”,一旦这一“关键条件”突破,人类就能真真切切的感受到AI的智能化,同时人机的交互方式也将改写。

        所以除了计算机视觉之外,对语言这块最好也要有一定的认知。
在这里插入图片描述

概念

        是理解和处理文字的过程,相当于人的大脑。

流程

理解:

  • 文本/语义理解 NLU。
    处理:
  • 对话状态维护 DST;
  • 动作候选排序 POLICY。
    应用:
  • 语言生成 NLG。
瓶颈

        自然语言处理的“发展趋势”是能理解目标说的话的意义。以下的“限制条件”构成了瓶颈,相对于计算机视觉来说,自然语言处理距离突破“限制条件”似乎更为接近了。

语言本身的难度限制:

  • 语言歧义性;
  • 语言多样性;
  • 语言多变性;
  • 语境复杂性。

数据质量限制:

  • 错字;
  • 多字/少字;
  • 别称;
  • 不连贯;
  • 噪音。

知识依赖。

实现

规则方法:

  • 上下文无关的语法分析,主谓宾/动状补。

统计法:

  • N-GRAM语言模型-离散 → NLPM神经概率语言模型-连续 → WORD EMBEDDING词嵌入 → 词语相似度、关系、映射 → 句子表示。

深度学习:

  • RNN:循环神经网络,把句子看做由词语组成的序列,循环计算;
  • CNN:卷积神经网络,把句子看做自底向上的组成式结构,池化。

文本相似度:

  • 文本距离:
    • 指的是两个文本之间的文本相似度;
    • 与文本相似度呈负相关;
    • 距离小离得近,相似度就高;离得远则相似度就低。
  • 欧氏距离:
    • 适用场景:编码检测等类似场景,两串编码必须完全一致才能过检;
    • 不适用场景:对位置和顺序非常敏感,语义相同的句子往往完全不能匹配。
  • 曼哈顿距离:
    • 同欧氏距离,公式把平方换成了绝对值,并拿掉了根号。
  • 编辑距离:
    • 将文本A编辑成B需要的最少变动次数,每次只能修改一个字;
    • 适用场景:编辑距离算出来很小的情况,此时文本相似度很高,算法的精确率很高;
    • 不适用场景:召回率低,一些语义相同的句子可能距离非常大导致完全不匹配。
  • 杰卡德相似度:
    • 文本A与文本B中交集的字数除以并集的字数,与文本的位置顺序无关;
    • 适用场景:
      • 对文本顺序不敏感的文本,可以很好兼容;
      • 长文本查重。
    • 不适用场景:
      • 重复字符很多的文本,语义大致一样但结构差距很大,往往会完全匹配,这时是不符合需求的;
      • 对文字顺序很敏感的场景。
  • 余弦相似度:
    • 适用场景:和杰卡德的思路类似,但是余弦考虑了文本频次;
    • 不适用场景:向量之间方向相同,大小不同的情况。
  • JARO相似度:
    • 关键参数,两个字符串相互匹配的字符数量,两个字符串长度,换位数量;
    • 适用场景:
      • 对位置、顺序敏感的文本;
      • 业务场景下需要考虑文本位置偏移、顺序变换的影响,既不希望位置或顺序变了相似度却保持不变,又不希望直接把相似度变为0。
    • 不适用场景:此方法是比较综合的算法。

分类/聚类 —— TF - IDF:

  • 一篇文章中每个词的重要性大小不一,而那些在某类文章中频繁出现,但在整个语料库中较少出现的词,通常被视为更能表征文章类别,重要性更高;
  • 词频:某个词出现的频率越高,重要性越高;
  • 逆向文档频率:包含某词的文档数越多,该词的通用性越高,重要性越低;
  • 词频 X 逆向文档频率:可以理解为权重,高频词如果通用性高,则重要性低,就要降低权重;低频词通用性低,则重要性高,要加权。
应用场景

句法语义分析:

  • 对于给定的句子分词,词性标记。
  • 信息抽取;
  • 文本挖掘;

机器翻译:

  • 统计机器翻译SMT;
  • 神经网络机器翻译NMT;
  • 注意力机制。

信息检索;

语言生成:

  • 天气预报;
  • 问答系统;
  • 对话系统。

你可能感兴趣的:(AI)