Ex_treme's blog.

深入浅出————自然语言处理

2018/03/26 Share

NPL定义

NLP-自然语言处理定义

  • NLP(Natural Language Processing)自然语言初六,用计算机来处理、理解以及运用人类语言,让人与计算机之间可以使用自然语言可以使用自然语言进行有效的通信。
  • 处理自然语言的关键是要让计算机`“理解”自然语言,所以自然语言又叫做自然语言理解(NLU,NauraLangeage Understangding),也陈伟计算语言学(Computational Linguistics)。一方面它是语言信息处理的一个分支,另一方面它是人工智能(AI,Artificial Intellitgence)的核心课题之一。

NLP与AI

人工智能是研究、开发用于模拟、延伸和拓展的智能的理论、方法、技术及应用系统的一门技术科学。其定义就是让机器实现原来只有人类才能完成的任务。
NLP是AI的一个子方向,NLP也是AI中最为困难的问题之一。当计算机具备了处理自然语言的能力时,机器才算实现了真正的智能。

NLP主要研究范围

  • 句法语义分析

分词、词性标注、句法分析、语义分析、消除歧义

  • 文本挖掘技术

文本聚类、信息抽取、文章摘要、语言情感分析

  • 信息检索

对大量信息进行检索

  • 机器翻译

文本翻译、语言翻译、图形翻译

NLP研究难点

  • 消除自然语言中的歧义
1
2
3
栗子:做化疗的是她妈妈
她妈妈生病了需要做化疗。
她妈妈是医生,帮别人做化疗。

NLP作用
垃圾邮件识别、机器翻译、中文输入法、推荐系统、聊天系统、搜索引擎

NLP前景NLP的运用非常广泛,BAT公司都在积极布局NLP,所以NLP非常有前景。
腾讯文智中文语义平台 http://nlp.qq.com
百度AI平台 http://ai.baidu.com/tech/nlp

总结

如何有效利用海量信息已经成为制约信息技术发展的一个全局性瓶颈问题。自然语言处理无可避免地成为信息科学技术中长期发展的一个新的战略制高点。

NLP相关名词解释

  • 语言层(linguistic level)
  • 抽取层(extraction level)
  • 挖掘层(mining level)
  • 应用层(app level)
  • 其它相关名词

语言层

文字输入 >> 分词 >> 专名标注 >> 短语抱团 >> 浅层分析
句法关系解析:主谓宾补、定语状语 >> 并列分析 >> 代指分析 >> 逻辑关系解析 >> 深层分析
句法分析:非结构化数据 >> 结构化

抽取层

句法分析 >> 句法树库 >> 客观实施抽取 & 实体关系抽取:信息抽取(狭义)
句法分析 >> 句法树库 >> 主观评价抽取 & 與情实体关系:與情抽取
信息抽取:句子/网页 >> 对结构化的表格进行填空

挖掘层

信息抽取 >> 信息抽取库 >> 與情挖掘 & 情景挖掘 >> 文本挖掘
手工数据输入 >> 数据库 >> 数据挖掘(狭义)
数据挖掘(广义):数据源 >> 分类/聚类

应用层

信息抽取 >> 信息抽取数据库 >> 应用程序 << 挖掘数据库 << 文本挖掘

  • 智能搜索
  • 自动民调
  • 自动文摘
  • 问答系统
  • 客户情报
  • 各种其它应用等等

其它相关名词

  • 语料库:整理过的语言文本,将真实语言中出现的一些词汇、语言材料正离起来,语料库是很多分词工具的根基。
  • 语言模型:其实就是算法,一般用于处理结构化后的语境,语言模型在NLP中占有重要地位。
  • 词向量:将词抽象成多维空间的向量,方便语言模型的使用。
  • 词性标注:为自然语言文本中的每个词赋予一个词性的过程。

中文分词

  • 中文分词概述
  • 中文分词基本算法
  • 常见中文分词工具

中文分词概述

  • 与英文为代表的拉丁语系语言相比,英文以空格作为天然的分隔符,而中文由于继承自古代汉语的传统,语言之间没有分隔,所以需要对中文进行分词。
  • 中文分词的方法其实不局限于中文应用,也被应用导英文处理,如手写识别,单词之间的空格就不很清楚,中文分词方法可以帮助判别英文单词的边界。
  • 中文分词是中文自然与眼处理的基础技术,分词的准确性直接影响到NLP应用的好坏。

中文分词基本算法

  • 字符串匹配(机械分词法)

按照一定的策略将待分析的字符串一个充分大的词典中的词条进行匹配。若在词典中找到某个字符串,则匹配成功,将匹配结果切分出来。

  • 基于统计以及机器学习的分析方法

基于人工标注的词性和统计特征,对中文进行建模。在分词阶段再通过模型计算各种分词出现的概率。将概率最大的分词结果作为最终结果。

  • 计算机模拟人对句子的理解(试验阶段

在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。

正向最大匹配(MM)

  • 从左向右取待切分汉语句的m个字符作为匹配字段,m为大机器词典中最长词条个数。
  • 查找词典并进行匹配。若匹配成功,则将这个匹配字段作为一个词切分出来,若匹配不成功,则将这个匹配字段的最后一个字去掉,剩下的字符串作为新的匹配字段,进行再次匹配。
  • 重复执行以上过程,直到切分出所有词为止。

逆向最大匹配(RMM)

  • 从右向左取待切分汉语句的m个字符作为匹配字段,m为大机器字典中最长词条个数。
  • 查找词典并进行匹配。若匹配成功,则将这个匹配字段作为一个词切分出来,若匹配不成功,则将匹配字段最前一个字去掉,剩下的字符串作为新的匹配字段,进行再次匹配。
  • 重复执行以上过程,直到切分出所有词为止。

双向最大匹配法(广泛使用)

  • 将正向最大匹配法得到的分词结果和逆向最大匹配法得到的结果进行比较,从而获得最终的分词结果。

1.中文中90%左右的句子,正向最大匹配法和逆向最大匹配法完全重合且正确。
2.大概9%的句子了两种切分方法得到的结果不一样,但其中必有一个是正确的。
3.不到1%的句子,匹配不出正确结果。

基于n元语法的分词算法

在前n-1个词出现的条件下,下一个词出现的概率是有统计规律的,出现的概率可以居于大量与小统计得出(中文分词的统计学基础)。

  • 根据词典将一句话所有可能的分词匹配出来。
  • 将匹配出来的词和该句中的每个自作为结点,构建有向分词图。
  • 分词图边的权重为节点词的概率。
  • 利用相关搜索算法(动态规划)从分词图中找到权重最大的路径作为最后分词结果。

隐马尔可夫模型(HMM)

  • 隐马尔可夫模型是统计模型,它用来描述一个含有英汉为止参数的马尔可夫过程。
  • 隐马尔可夫模型可以从可观察的参数中确定该过程的隐含参数,然后利用这些参数来进一步的分析。
  • 经常用作能够发现新词的算法,通过海量的数据学习,能够将人名、地名、互联网上的新词识别出来。

解决问题:

1.估计问题
2.参数估计问题:分词的学习阶段,通过海量的语料数据来学习归纳出分词模型的各个参数
3.状态序列问题:分词的执行阶段,通过观察变量(即待分词句子的序列)来预测出最优的状态序列(分词结构)

常见的分词工具

CATALOG
  1. 1. NPL定义
    1. 1.1. NLP-自然语言处理定义
    2. 1.2. NLP与AI
    3. 1.3. NLP主要研究范围
    4. 1.4. NLP研究难点
    5. 1.5. 总结
  2. 2. NLP相关名词解释
    1. 2.1. 语言层
    2. 2.2. 抽取层
    3. 2.3. 挖掘层
    4. 2.4. 应用层
    5. 2.5. 其它相关名词
  3. 3. 中文分词
    1. 3.1. 中文分词概述
    2. 3.2. 中文分词基本算法
    3. 3.3. 正向最大匹配(MM)
    4. 3.4. 逆向最大匹配(RMM)
    5. 3.5. 双向最大匹配法(广泛使用)
    6. 3.6. 基于n元语法的分词算法
    7. 3.7. 隐马尔可夫模型(HMM)
    8. 3.8. 常见的分词工具