自然语言处理技术分享1

  • 格式:doc
  • 大小:180.50 KB
  • 文档页数:7

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内容大概分为:自然语言处理的简介、关键技术、流程及应用。

首先,介绍一下什么是自然语言处理(也叫自然语言理解):

语言学家刘涌泉在《大百科全书》(2002)中对自然语言处理的定义为:“自然语言处理是人工智能领域的主要内容,即利用电子计算机等工具对人类所特有的语言信息(包括口语信息和文字信息)进行各种加工,并建立各种类型的人-机-人系统,自然语言理解是其核心,其中包括语音和语符的自动识别以及语音的自动合成。”

从微观上讲,自然语言理解是指从自然语言到机器(计算机系统)内部之间的一种映射。

从宏观上看,自然语言理解是指机器能够执行人类所期望的某些语言功能。这些功能包括:

①回答有关提问;计算机正确地回答用自然语言输入的有关问题

②提取材料摘要;机器能产生输入文本的摘要

③同词语叙述;机器能用不同的词语和句型来复述输入的自然语言信息

④不同语言翻译。机器能把一种语言翻译成另外一种语言

自然语言处理的关键技术

自然语言处理的关键技术包括:词法分析、句法分析、语义分析、语用分析和语句分析。

1.词法分析

词法分析的主要目的是从句子中切分出单词,找出词汇的各个词素,并确定其词义。

词法分析包括词形和词汇两个方面。一般来讲,词形主要表现在对单词的前缀、后缀等的分析,而词汇则表现在对整个词汇系统的控制。在中文全文检索系统中,词法分析主要表现在对汉语信息进行词语切分,即汉语自动分词技术。通过这种技术能够比较准确的分析用户输入信息的特征,从而完成准确的搜索过程。它是中文全文检索技术的重要发展方向。

不同的语言对词法分析有不同的要求,例如英语和汉语就有较大的差距

汉语中的每个字就是一个词素,所以要找出各个词素是相当容易的,但要切分出各个词就非常难。

如”我们研究所有东西“,可以是“我们——研究所——有——东西”也可是“我们——研究——所有——东西”。

英语等语言的单词之间是用空格自然分开的,很容易切分一个单词,因而很方便找出句子的每个词汇,不过英语单词有词性、数、时态、派生、变形等变化,因而要找出各个词素就复杂得多,需要对词尾和词头进行分析。如uncomfortable 可以是un-comfort-able或uncomfort-able,因为un、comfort、able都是词素。

2.句法分析

句法分析是对用户输入的自然语言进行词汇短语的分析,目的是识别句子的句法结构,实现自动句法分析过程。其基本方法有线图分析法、短语结构分析、完全句法分析、局部句法分析、依存句法分析等。

分析的目的就是找出词、短语等的相互关系以及各自在句子中的作用等,并以一种层次结构来加以表达。这种层次结构可以是从属关系、直接成分关系,也可以是语法功能关系。

句法分析是由专门设计的分析器进行的,其分析过程就是构造句法树的过程,将每个输入的合法语句转换为一棵句法分析树。

一个句子是由各种不同的句子成分组成的。这些成分可以是单词、词组或从句。句子成分还可以按其作用分为主语、谓语、宾语、宾语补语、定语、状语、表语等。这种关系可用一棵树来表示,如对句子:He wrote a book.

可用图示的树形结构来表示。

3.语义分析

语义分析是基于自然语言语义信息的一种分析方法,其不仅仅是词法分析和句法分析这样语法水平上的分析,而是涉及到了单词、词组、句子、段落所包含的意义。其目的是从句子的语义结构表示言语的结构。中文语义分析方法是基于语义网络的一种分析方法。语义网络则是一种结构化的,灵活、明确、简洁的表达方式。

其实就是要识别一句话所表达的实际意义。比如弄清楚“干什么了”,“谁干的”,“这个行为的原因和结果是什么”以及“这个行为发生的时间、地点及其所用的工具或方法”等。

4.语用分析

语用分析相对于语义分析又增加了对上下文、语言背景、环境等的分析,从文章的结构中提取到意象、人际关系等的附加信息,是一种更高级的语言学分析。它将语句中的内容与现实生活的细节相关联,从而形成动态的表意结构。

5.语境分析

语境分析主要是指对原查询语篇以外的大量“空隙”进行分析从而更为正确地解释所要查询语言的技术。这些“空隙”包括一般的知识,特定领域的知识以及查询用户的需要等。它将自然语言与客观的物理世界和主观的心理世界联系起来,补充完善了词法、语义、语用分析的不足。

自然语言处理工具:

OpenNLP

OpenNLP是一个基于Java机器学习工具包,用于处理自然语言文本。支持大多数常用的NLP 任务,例如:标识化、句子切分、部分词性标注、名称抽取、组块、解析等。

FudanNLP

FudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。本工具包及其包含数据集使用LGPL3.0许可证。开发语言为Java。

功能:

1. 文本分类、新闻聚类

2. 中文分词、词性标注、实体识别、关键词抽取、依存句法分析、时间短语识别

3. 结构化学习、在线学习、层次分类、聚类、精确推理。

自然语言处理流程:

2.1获取原始文本

2.2对文本进行预处理

2.2.1文本编码格式

2.2.2 文本模式匹配

2.2.3 规范化文本

2.3分词

文本中起到关键作用的是一些词,甚至主要词就能起到决定文本取向。

中文分词,出现了很多分词的算法,有最大匹配法、最优匹配法、机械匹配法、逆向匹配法、双向匹配法等。

中科院张华平博士研发的分词工具ICTCLAS,该算法经过众多科学家的认定是当今中文分词中最好的,并且支持用户自定义词典,加入词典;对新词,人名,地名等的发现也具有良好的效果

Jieba分词工具:支持繁体分词;支持自定义词典

常见的分词工具有:word分词器、Ansj分词器、Stanford分词器、FudanNLP 分词器、Jieba分词器、Jcseg分词器、MMSeg4j分词器、IKAnalyzer分词器、Paoding 分词器、smartcn分词器、HanLP分词器等。

2.4去除停顿词

在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words (停用词)。比如:的、有、得、了等这些词。

2.5 特征选择

在文本处理建模的预处理过程中,我们得到文本特征维度常常非常大,要得到一个好的模型,需要做两个工作:1、降维。模型的维度常常很大,这会加大模型的运行成本,并且不利于研究人员理解模型。2、去燥。维度很大时,特征之间会相互依赖,甚至很多特征对模型分类是有干扰作用的,去除这一部分特征将对模型有提升作用。特征选择和特征抽取都能完成上面的工作。

在文本处理中常采用特征选择而非特征抽取, 原因是特征选择保持了特征

原来的面貌,有利于挖掘人员理解模型。

在文本处理中常见的特征选择方法有:

文档频率(TF-IDF)

词频(TF)即为词在一篇文档中出现的频率。