一、 NLP学习难度

1、语言本身的复杂性,想要机器能理解语言是很困难的。

2、语境相关性,不同的语句,在不同的情景中的语义有可能是一样的。给机器理解语句带来更大的困难。

3、抽象概念联系,有些语句需要相关概念联合起来才能理解其真正语义。

二、NLP解决的五个基本问题

1、分类问题,比如文本分类

2、匹配问题,比较常见的就是检索,检索与某句话类似的话或者是与它相关的回答,这个就是匹配。

3、翻译问题,类似两种语言之间的翻译,把一种语言翻译成它语义相似的另外一种语言

4、结构化预测,把一段文本结构化,所谓的结构化类比于一段文本中的词对应的是动词还是名词,语法角色是主语还是谓语,将其转化为结构化的输出序列。

5、马氏(马尔可夫)决策,当前要采取的动作和上一个状态和动作相关,这是一个典型的马氏链的过程。代表性的系统是对话,如何回复当前用户的话,是和最近的上下文相关的,这就是马氏决策过程。

生活中一个很常见的NLP算法相关的示例,百度搜索中最下面的相关搜索,其实就是文本相似度做出来的。

NLP目前的三个阶段

1、基于规则的NLP

2、基于统计学习方法的NLP

3、涉足深度学习的NLP

NLP的相关应用

1、问答系统,主要是针对有特定回答的问题,比如智能客服系统,技术实现主要是基于检索和基于知识库。

2、对话系统,比如siri

3、偏闲聊的对话机器人,

NLP相关知识

nlp初识
上图是检索式问答系统的语义匹配模型,其关键点是query和answer的匹配。

检索式问答系统的匹配模型实现方案:
1、 统计TF-IDF,应用BM25或者简单VSM
2、 构造特征向量,应用统计方法或者L2R模型

  • 词法特征:编辑距离、词重合度、最长公共子串
  • 统计特征:bag-of-words、bag-of-chars、n-gram
  • 语义特征:topic models, 如:LDA

3、训练词向量,构造语义相似度的度量模型

  • 算法实例:WMD,Short Text Similarity with Word Embeddings

4、基于神经网络模型的语义匹配模型
怎么选用模型
在选择模型的时候需要考虑综合方面,并不是哪个模型最好就选择哪个,需要考虑实现难度,两者之间要做一个取舍。要考虑项目的可持续性,迭代、兼容等。
学习方式(参考)

  • 阅读技术书籍或者论文
  • 阅读优秀开源代码
  • 善于总结归纳
  • 对于技术要知其然还要知其所以然

博客源自:https://cn.100offer.com/blog/posts/296,选择性记录,原博客最后有些资料推荐,读者可移步原博客。

相关文章:

  • 2021-06-13
  • 2021-09-17
  • 2021-11-23
  • 2021-05-26
  • 2021-11-03
  • 2021-08-04
  • 2021-12-12
猜你喜欢
  • 2021-08-19
  • 2022-02-08
  • 2021-04-10
  • 2022-12-23
  • 2021-07-07
  • 2022-12-23
  • 2022-01-02
相关资源
相似解决方案