NLP自然语言基础(一)

匿名 (未验证) 提交于 2019-12-03 00:33:02

本文是基于寒小阳博主中的NLP系列所记录下的笔记,非常感谢有那么优质的博客,很受用!

1.NLP的常见领域:分词,词性标注,命名实体识别,句法分析,语义识别,垃圾邮件识别,拼写纠错,词义消歧,语音识别,音字转换,机器翻译,自动问答……

如果对自然语言处理的应用场景不太了解,可以去腾讯的中文语义平台简单玩几个例子就熟悉了。

2.NLP的发展现状

根据stafford教授Dan Jurafsky的介绍:

  • 有些问题得到了基本解决,如:词性标注、命名实体识别、垃圾邮件识别。

  • 有些问题取得长足进展,如:情感分析、共指消解、词义消歧、句法分析、机器翻译、信息抽取。

  • 有些问题依然充满挑战,如:自动问答、复述、文摘提取、会话机器人等。

3.NLP与算法类型问题

比如,词性标注,垃圾邮件识别,褒贬分析,拼写纠错等问题都可以归结成简单的分类问题。这就好用我们之前掌握的机器学习分类方法去很好地处理。

又比如,对于机器翻译,语音识别,音字转换等等领域,都可以抽象成运用隐马尔科夫模型去处理,而这本身是一个更加复杂的分类问题。

4.NLP分词,编辑距离

中文分词比英文分词难的多,对于英文,分词比较直观。一般被空格区分开来的就是不同的词。

编辑距离(Minimum Edit Distance,MED),又称Levenshtein距离,是指两个字符串之间,由一个转成另一个所需要的最少编辑操作次数。 
允许的编辑操作包括:

  • 将一个字符替换成另一个字符(substitution,s)
  • 插入一个字符(insert,i)
  • 删除一个字符(delete,d)

一个简单的示意图如下:


我们可以使用动态规划算法解最小编辑距离,其形式化定义如下:


通过这种方法,给字符串之间定义了一个量化的“距离”的概念,而且很有解释力。

在机器学习中,有了“距离”就可以做很多事情。比如判断两个字符串的相似性,做一些分类、聚类的工作。

在工程上,编辑距离可以用来提供用于拼写纠错的侯选单词。比如我用英文输入法输入一个“girlfriand”的单词。但是词库中没有“girlfriand”这个词。则可以寻找与“girlfriand”编辑距离为1或2的其他字符串,如“girlfriend”、“girlfriends”,作为纠正拼写错误的候选词。剩下的问题就是判断哪个侯选词的作为纠正词的概率更高而已。

5.NLP与分类问题

  1. 二分类:判断题

    1.1 褒贬分析:判断一段文本是“褒”还是“贬”。

    1.2 垃圾邮件识别:判断一封邮件是“正常邮件”还是“垃圾邮件”。

  2. 多分类:单选题

    2.1 词性标注:判断一个词语是名词、动词、形容词、副词等等。

    2.2 拼写纠错:判断多个侯选词中的哪个词可以作为最终的纠正词。

    2.3 中文分词:从多种分词序列中挑选最优序列。

    2.4 机器翻译:从多个备选翻译句子中,判断出最优翻译语句。

  3. 类重叠分类:多选题

    3.1 主题分析:判断一个新闻同时包含哪几类主题(美食、食品安全、健康等)


有时候管多选题叫做软分类,单选题叫硬分类

Reference:

https://blog.csdn.net/han_xiaoyang/article/details/50545650





转载请标明出处:NLP自然语言基础(一)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!