NLP技术分析——自然语言处理

自然语言处理:NLP是人工智能和语言学领域的分支学科,此领域探讨如何处理以及运用自然语言;自然语言认知则是指让电脑懂人的语言

1. 历史

决策树——隐马尔科夫统计模型——非监督学习和半监督学习——深度学习

2. 任务和限制

NLP是一种很吸引人的人机交互方式,由于理解自然语言,需要关于外在世界的广泛知识以及运用操作这些知识的能力,自然语言认知,同时也被视为一个人工智能完备的问题。在自然语言处理中,理解的定义也是一个主要的问题。

3. 实际问题

一些NLP面临的问题实例:

  • 句子“我们把香蕉给猴子,因为(它们)饿了”和“我们把香蕉给猴子,因为(它们)熟透了”有同样的结构。但是代词“它们”在第一句中指的是“猴子”,在第二句中指的是“香蕉”。如果不了解猴子和香蕉的属性,无法区分。(英文的it没有区分,但在中文里“它”和“它”是有区别的,只是代词在中文里常常被省略,因此需区别属性并且标示出来)

4. 自然语言处理的主要范畴

  • 文本朗读/语音合成
  • 语音识别
  • 中文自动分词
  • 词性标注
  • 句法分析
  • 自然语言生成
  • 文本分类
  • 信息检索
  • 信息抽取
  • 文字校对
  • 问答系统
  • 机器翻译
  • 自动摘要
  • 文字蕴含

5. 自然语言处理的难点

  • 单词的边界界定:取用能让给定的上下文最为通顺且在文法上无误的一种最佳组合,在书写上,汉语也没有词与词之间的边界
  • 词义的消除歧义:许多单次不单只有一个意思,因此我们必须选出使锯子最为通顺的解释
  • 句法的模糊性:自然语言的文法通常模棱两可,通常一个句子可能会剖析出多棵剖析树。需要依赖前后文选择
  • 有瑕疵或者不规范的输入:错别字或者误识别
  • 语言行为与计划:句子常常并不只是字面上的意思;例如,“你能把盐递过来吗”,一个好的回答应当是动手把盐递过去;在大多数上下文环境中,“能”将是糟糕的回答,虽说回答“不”或者“太远了我拿不到”也是可以接受的。再者,如果一门课程去年没开设,对于提问“这门课程去年有多少学生没通过?”回答“去年没开这门课”要比回答“没人没通过”好。

6. 自然语言处理的发展趋势

  1. 传统的基于句法-语义规则的理性主义方法受到质疑,随着语料库建设和语料库语言学的崛起,大规模真实文本的处理成为自然语言处理的主要战略目标。
  2. 统计数学方法越来越受到重视,自然语言处理中越来越多地使用机器自动学习的方法来获取语言知识。
  3. 浅层处理与深层处理并重,统计与规则方法并重,形成混合式的系统
  4. 自然语言处理中越来越重视词汇的作用,出现了强烈的“词汇主义”的倾向。词汇知识库的建造成为了普遍关注的问题

7. 统计自然语言处理

统计自然语言处理运用了推测学、机率、统计的方法来解决上述,尤其是针对容易高度模糊的长串句子,当套用实际文法进行分析产生出成千上万笔可能性时所引发之难题。处理这些高度模糊句子所采用消歧的方法通常运用到语料库以及马可夫模型(Markov models)。统计自然语言处理的技术主要由同样自人工智能下与学习行为相关的子领域:机器学习及资料采掘所演进而成。

相关示例