编辑推荐推荐书籍

科普文:自然语言处理到底是干嘛的
来源:互联网  (转载协议)   发布日期:2012-10-20 17:55   浏览:14585专栏投稿 值班编辑:QQ281688302

一、概念 自然语言处理(NLP,NaturalLanguageProcessing)、计算语言学(CL,ComputationalLinguistics)、人类语言技术(HLT,HumanLanguageTechnology),又或者应用语言学、语言工程(LE)等等,这些名称都可以用于描述这个与人类语言以及计算机双向相关

赞助本站

一、概念
    自然语言处理(NLP,Natural Language Processing)、计算语言学(CL,Computational Linguistics)、人类语言技术(HLT,Human Language Technology),又或者“应用语言学”、“语言工程(LE)”等等,这些名称都可以用于描述这个与人类语言以及计算机双向相关的领域。其实忽略这些概念细节之间的区别,NLP(或CL,或HLT)所做的事儿说白了就是,研究如何让计算机能够像人一样理解人类世界中的自然语言。

二、人工语言与自然语言
    略微有些计算机知识的人应该都知道,计算机在执行人们给他的命令所使用的语言是人们实现规定好了的,比如C、Java、Python等。利用这些人工制定的机器语言,计算机可以很好地执行人们给它的各种指令。但是随着计算机的普及,以及依托网络的信息量的增加,人们需要的是更加智能的、能够在一定程度上理解人们所说的自然语言的计算机。而这种应用是有很大的发展前景的,至于原因,我们下文再说,而且想想iphone4s中Siri的巨大成功您也就明白了。
    但是要让计算机理解自然语言,最大的困难就在于自然语言本身所具有的灵活性、无限性以及二义性。而这也是目前计算机所使用的人工语言所避免出现的。
所谓自然语言的灵活性与无限性,其实说白了就是,人们对语言的使用在一定的文法规范下是灵活多变的,这由此导致了某一种特定语言下的句子形式是无限的。比如下面的这四个句子:
    1.  主席团 台上 坐
    2.  主席团 坐 台上
    3.  台上 坐 主席团
    4.  台上 主席团 坐
    忽略语用上表达差别,这四个句子的意思是完全一样的,说的都是“台上存在着主席团”这么一个事实。但是这四个句子的形式是不完全一样的,虽然它们都是由相同的句子成分(“主席团”、“台上”、“坐”等三个词组)组成的。
    这个例子很好的说明了自然语言表达中的灵活性,我们完全可以用不同的形式表达同样的意思。而这一点是在目前计算机所使用的人工语言所不允许的。比如,C语言中我们用来表示从1到100的循环,用for语句的话必须写作“for(i=1;i<101;i++)”的形式,而不允许有其他的for语句形式。之所以在人工语言中限制其灵活性,主要还是为了文法规则形式化的方便。简单点儿说就是,限制灵活性就是让计算机只记得一种形式,而其他形式(即使再好),我也当做不认识进行处理,这样不仅方便于语言创制,也方便计算机的理解。但与之恰恰相反的是,自然语言存在着许多如上四个句子的灵活性运用,而且由于这种灵活性所导致的句子类型的无限性,使得自然语言的形式化变得十分复杂(关于自然语言的形式化,下回再做分解),也使得计算机在理解自然语言时也会头疼得厉害。
    而自然语言的二义性,其实说的就是自然语言中广泛存在的歧义现象。比如,语言学中最经典的例子:
杀死猎人的狗
    ——杀死猎人 的 狗
    ——杀死 猎人的狗
    还有就是下面这个很有意思的例子,句子中的“意思”到底是什么意思呢?
    人们以为他对她有“意思”,于是,建议他对她“意思意思”。他说,他没那种“意思”。她则反问,你们是什么“意思”。大伙中有的觉得很有“意思”,有的则认为真没“意思”。
在处理这些句子或词汇时,由于句子和词存在着多种可能的理解方式,计算机在处理这些问题时就要费老鼻子的劲了。

三、NLP应用
    上面我们简要说了下自然语言的特点以及由此带来的计算机在处理自然语言时的难点和障碍。虽然目前为止,离自然语言处理所要达到的让计算机完全理解自然语言的终极目标还相距甚远,但是利用NLP相关技术对自然语言进行部分处理也取得了相当不错的成果。
    记得小学有本参考书叫做《字词句段篇章》,那时就觉得用这六个字对语言进行划分是多么的恰当与优美。其实,按照语言单位对语言就行划分,就形成了计算机对自然语言进行处理的各个层次。
    首先是语音层面,这是自然语言最基本的层面。我们平时接触最多的语言估计就是我们用耳朵所听到的话语声音吧。而以语音为对象的自然语言处理就是诸如语音识别、语音合成等应用。还是说苹果家的Siri,作为一款语音助手类软件,它首先要解决的也就是语音识别的问题,也就是将它所“听”到的语音转化为文字信号的过程(当然还有它最后一步将文字答案转化为语音信号输出的过程)。
    除了语音识别,特定的对于汉语,另一项与NLP相关的应用则是汉语的拼音文字转换。说白了,就是汉语拼音输入法。由于汉语中存在众多的多音字词,以及普通话中复杂的四声系统,将汉语拼音转化为正确的汉语词语片段,即使对使用这种语言的人来说也是一件不太容易的事儿,比如说下面这个简单地拼音串:“yishishiweiyiju”,您将之转化为正确的汉字串的时间是多少呢(答案见文末)?估计也是不容易的吧,但是利用目前比较成熟的NLP技术,现在的输入法至少已经可以在很短的时间内正确给出您正确的答案了,比如我打这篇文章所使用的搜狗输入法,您也可以试试您现在正在使用的输入法是否能给出正确的汉子串呢~
    说完语音层面,再就是词语层面的应用。这主要涉及到对一个句子(或词组片段)的正确理解。比如说吧,我们上面所提到的对“杀死猎人的狗”的歧义判定问题。这个层面不像上面所介绍的语音,能够产生比较好玩的产品化应用。这个层面所涉及的问题主要是为其他自然语言处理所服务的。还是说“杀死猎人的狗”,我们只有在这个层面对这个句子有了正确的理解了,才能继续下一步更高层次的应用。因此,对于这个层面的NLP应用不做过多介绍,以后我们在技术层面或许会有更多的涉及。
    好,现在我们再把对语言的讨论上升一个层次,到篇章层次。这个层次的应用就是更高层次的应用了,这各层次所涉及的语言对象是多个句子组成的语言篇章,而对它们的操作主要是从中抽取出我们所感兴趣的兴趣。因此这个层次上的应用主要有:搜索、信息抽取、文本分类以及文本筛选等。
    搜索,这个大家应该都是比较熟悉的,Google、Bing、百度等,都是目前大家所熟知的信息搜索引擎。而这些搜索引擎所使用到的技术都可以归入NLP的范围内。
    信息抽取,信息搜索的一种,与搜索不同的是,信息搜索的结果是返回所有可能的结果,而信息抽取是有针对性地返回唯一正确的结果。从唯一性上来说,信息抽取对技术的要求更高,也更难实现。目前信息抽取技术主要应用在对新闻信息的抽取,比如从新闻中抽出“when and where,who did what(时间、地点、人物、事件)”等信息。而现在随着社交网络的发展,我们对某些人的个人信息也会产生兴趣,比如通过某人的个人网站或所发微博,提取他的各种个人信息(联系方式、住址、爱好、习惯等),从而帮助商家分析顾客需求,以及,满足某些人的特殊好奇心等……
    文本分类以及文本筛选,这个也是为了帮助人们可以更好地利用信息所做的工作。例如,如果您比较喜欢星座,当然您可以用Google搜索“星座”,也可以直接去新浪或网易等门户网站上的星座频道。而文本分类所帮您做的就是帮您找到所有与星座高度相关的文章。而文本筛选的应用呢,为了社会和谐,你懂的。
登陆 | 注册 欢迎登陆本站,认识更多朋友,获得更多精彩内容推荐!

赞助本站

人工智能实验室
网友评论
好车贷
本月热点
热门排行
推荐内容
展开
Copyright © 2010-2018 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港 | 手机信息网