《人工智能》自然语言处理胡鹤A.《简明不列颠百科全书》(中国大百科全书出版社1986年出版)•语言学(Linguistics)是对语言的科学研究。语言学的名称始于19世纪中叶,强调语言研究的新方法以区别于传统语文学方法。B.王宗炎为《中国大百科全书·语言文字》(1988年)写的语言学词条•语言学是以人类语言为研究对象的学科。它的探索范围包括语言的结构、语言的运用、语言的社会功能和历史发展,以及其他与语言有关的问题。语言学基本概念•语法:语法就是词的构造、变化的规则和用词造句的规则,它是语言在其长期发展过程中形成的,全体成员必须共同遵守的规则。•词法:词法指词位的构成和变化的规则。•句法:句法是指组词成句的规则。•我们可以期待,总有一天机器会同人在所有的智能领域里竞争起来。但是,如何开始呢?这是一个很难决定的问题。许多人以为可以把下棋之类的极为抽象的活动作为最好的出发点,不过,还有一种办法也应加以考虑,就是为机器配备具有智能的、可用钱买到的意识器官,然后,教这种机器理解并且说英语。这个过程可以仿效通常小孩子学话的方式进行。我不能确定到底哪个出发点更好,但应该都值得一试。—A.M.Turing,1950.关于自然语言处理自然语言处理是植根于计算机科学、语言学与数学等多学科一门新兴学科,它的研究内容主要是自然语言信息处理,也就是人类语言活动中,信息成分的发现、提取、存储、加工与传输。自然语言处理的研究成果可在机器翻译、文献检索、信息提取、文本管理、自然语言人机接口等重要领域得到应用。近年来,因特网(Internet)日益普及,社会对语言信息处理技术的需求日趋迫切。自然语言处理作为语言信息处理技术的主要基础学科,其重要意义已经得到学术界和产业界越来越多的认可,在欧美已经有不少大学设立了自然语言处理系或专业,从本科起就组织自然语言处理的教学工作。从计算角度研究语言所谓从计算的角度来看语言的性质,就是要求将人们对语言的结构规律的认识以精确的、形式化的、可计算的方式呈现出来,而不是像其他语言学研究那样,在表述语言的结构规律时一般采用非形式化的表达形式。例子•.张三赶跑了李四•.张三把李四赶跑了•.李四被张三赶跑了•.吴妈以前很喜欢阿Q的理论•.*吴妈把阿Q的理论以前很喜欢•.*阿Q的理论被吴妈以前很喜欢语法规律1)汉语中的一个基本句型是:P0:X+动词+Y2)P0可以变换为“把”字句或“被”字句P1:X+把+Y+动词P2:Y+被+X+动词3)有些时候P0可以变换为P1,P2;有些时候P0不可以变换为P1,P2;翻译的问题•.原文:Thespiritiswilling,butthefleshisweak•译文:酒是好的,但肉是馊的•(心有余而力不足)•.原文:Howareyou?•译文:怎么是你?•原文:Howoldareyou?•译文:怎么老是你?翻译的问题•Iboughtatablewiththreelegs.(我买了一张有三条腿的桌子。)•Iboughtatablewiththreedollars.(我花三美元买了一张桌子。)翻译的问题计算机要翻译这两句话,却碰到了不易处理的歧义结构问题。尽管当代计算机的存储容量极大,但也不可能一一记住所有英语句子的汉语译文。计算机不难记住数量有限的英语句子结构及其对应的汉语句子结构。一般地说,计算机系统里有了这样的知识,就可以通过句法分析和查词典实现自动翻译了。这一步算是句法理论(syntax)的成就。上述两个句子的结构都是:名词短语+动词+名词短语+介词短语翻译的问题最后的介词短语既可以修饰句中的动词,也可以修饰后一个名词短语。要计算机针对具体的句子决定取舍,可就犯难了。因此要以某种形式给计算机灌输诸如“桌子有腿,用美元可以购物”之类的知识,并要教会计算机如何运用这些知识,这属于语义学(semantics)和语义分析的研究范围。在很多情况下,计算机死记住一些静态的知识还不能消解这种结构的歧义,还要学会分析上下文和谈话的环境,从语境中获取并活用动态的知识,这又要靠语用学(pragmatics)和语境分析(contextanalysis)发挥作用了。除了要分析语言,文章生成(textgeneration)也是一门学问。语言交流的单位言语的辨知和言语的发生在使用语言时,人们要听懂对方的话,这是言语的辨知;自己又要能说出话来,这是言语的发生。从心理学看来,话语内容的基本单位是命题。要听懂对方的话,就要知道它的命题,要弄清其中有多少个成分,各成分又以哪里为界线。从1965年起,美国学者M.加雷特等人常常使用“卡塔研究法”,即故意在一句话不应该停顿的地方插入“卡塔”声(下文用星号表示),看听者有何反应。例如在两个结构不同但后半部词语相同的句子各插入“卡塔”声:语言交流的单位①Asaresultoftheirinvention'sinfluencethe*companywasgivenanaward.(由于他们的发明,公司获得了奖赏。)②Thechairmanwhosemethodsstillinfluencethe*companywasgivenanaward.(那个想出办法帮助公司的董事长获得了奖赏。)在放录音时,两个句子的“卡塔”声都插在the与company之间。可是听者的辨知结果很叫人诧异。因为他们认为,卡塔声在第1句里发生在influence与the之间,在第2句里则发生在company与was之间。由此可知,在听话时,人们是把句子分成若干表示命题的短语或子句来理解的,并不受插入的噪音的影响。不过人们靠什么来建立命题,学者们却有不同看法。有人以为主要靠句法知识,有人以为语义起决定作用。其实两者都是不可缺少的。两种方法以上理论都是建立在基于规则的语言模型上的。基于规则的理论模型用于指导语言信息处理实践历史虽久,却常常捉襟见肘。与此同时,计算机技术飞跃进步,这又推动了基于统计模型的语料库语言学(corpuslinguistics)的发展。同样,基于统计的理论模型也有其自身的局限性。有机结合两种模型,不断地实践,并吸收相关学科(如脑科学,认知科学等)的成果,人类理解语言的奥秘总会被逐步揭开,模拟这个过程的自然语言处理系统也会逐渐接近真正理解的目标。语言的习得之谜当今的语言学界(不管是中国还是全球的语言学界)都承认这样一个基本事实:“任何一位四、五岁的儿童都能无师自通地很好掌握包含数不清语法规则变化的本民族口头语言”(只是对于“儿童为何只用几年时间就能无师自通掌握本民族口头语言”这样一个问题,目前语言学界还有各种不同的说法和争论)。什么是语料库•语料库,英文为Corpus•存储语言材料的仓库•现代的语料库是指存放在计算机里的原始语料文本或经过加工后带有语言学信息标注的语料文本.关于语料库的三点基本认识•语料库中存放的是在语言的实际使用中真实出现过的语言材料;•语料库是以电子计算机为载体承载语言知识的基础资源;•真实语料需要经过加工(分析和处理),才能成为有用的资源;语料库示例北京大学计算语言所富士通人民日报标注语料库样例:历史/n将/d铭记/v这个/r坐标/n:/w北纬/b41.1/m度/q、/w东经/b114.3/m度/q;/w人们/n将/d铭记/v这/r一/m时刻/n:/w1998年/t1月/t10日/t11时/t50分/t。/w……[中国/ns政府/n]nt顺利/ad恢复/v对/p香港/ns行使/v主权/n,/w并/c按照/p“/w一国两制/j”/w、/w“/w港人治港/l”/w、/w高度/d自治/v的/u方针/n保持/v香港/ns的/u繁荣/an稳定/an。/w语料库的分类•生语料库/熟语料库–生语料库就是未经加工的,没有任何切分,标注标记的原始语料库–熟语料库就是指经过加工,带有切分,标注标记的语料库•系统型语料库/专用型语料库–系统型语料库就是依据事先确定的选材原则和比例选取语料的语料库–专用型语料库就是指专门服务于某个特定目的的语料库•单语种语料库/多语种语料库语料库发展简史•第一代(1970-80年代)•第二代(1980-90年代)•第三代(1990年代-)第一代语料库•Brown语料库•LOB语料库•LLC语料库百万词级以语言研究为导向第二代语料库•COBUILD语料库•Longman语料库千万词级词典编纂-应用导向第三代语料库•ACL/DCI语料库–TheAssociationforComputationalLinguistics–DataCollectionInitiative•UPenn树库•LDC(LinguisticDataConsortium)超大规模(上亿词级)标准编码体系深度标注/多语种NLP应用汉语自动化词法分析提纲•ICTCLAS简介•HMM方法ICTCLAS简介ICTCLAS:计算所汉语词法分析系统ICTCLAS(InstituteofComputingTechnology,ChineseLexicalAnalysisSystem),功能有:中文分词;词性标注;未登录词识别。分词正确率高达97.58%(973专家评测结果),未登录词识别召回率均高于90%,其中中国人名的识别召回率接近98%;处理速度为31.5Kbytes/s。ICTCLAS简介界面元素1.文本输入区:直接输入文本2.操作选项:可选择3种操作类型:只作词语切分;切分并作上位词性标注(一级词性标注);切分并作下位词性标注(二级词性标注)3.输出格式:支持北大词性标注集,973专家组给出的词性标注集合以及973XML输出格式。4.“运行”按钮:系统处理输入区的文本。5.“处理文件…”按钮:系统弹出打开文件的对话框,用户选择文本文件后,对文本文件进行词法分析,结果保留到一个以_cla为结尾的临时文本文件中。界面元素6.结果数目:用户可以定制输出结果数目,这样系统会按照用户定制的数目输出概率最大的结果,结果按照评分的大小排序输出。注意,结果数目的范围是1-10;结果数目不唯一时,只处理输入的文本,不处理文件。7.平滑参数:用来处理平滑的参数,取值范围0.0-1.08.当前结果评分:对当前输出的唯一结果进行概率意义上的评分。结果数目不唯一时,该项指标无效。9.处理用时:显示的是处理所用的时间,单位为毫秒。10.结果显示区:显示处理的输出结果。ICTCLAS简介ICTCLAS简介ICTCLAS简介ICTCLAS简介词性标注使用的方法(HMM)•隐含马尔可夫模型(HMM)是一个数学模型,到目前为止,它一直被认为是实现快速精确的语音识别系统的最成功的方法。复杂的语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解决,让人不由感叹数学模型之妙。•隐含马尔可夫模型在处理语言问题早期的成功应用是语音识别。七十年代,当时IBM的FredJelinek和卡内基·梅隆大学的JimandJanetBaker(李开复的师兄师姐)分别独立地提出用HMM模型来识别语音,使识别的错误率相比人工智能和模式匹配等方法降低了三倍。八十年代李开复博士坚持采用隐含马尔可夫模型的框架,开发了世界上首个大词汇量连续语音识别系统Sphinx。HMM方法自然语言是人类交流信息的工具。很多自然语言处理问题可以等同于通信系统中的解码问题:一个人根据接收到的信息,去猜测发话人要表达的意思。这就象通信中,我们根据接收端收到的信号去分析、理解、还原发送端传送过来的信息。s1,s2,s3...表示信息源发出的信号。o1,o2,o3...是接受器接收到的信号。通信中的解码就是根据接收到的信号o1,o2,o3...还原出发送的信号s1,s2,s3...。HMM方法(语音识别…)我们平时在说话时,脑子就是一个信息源。我们的喉咙(声带),空气,就是如电线和光缆般的信道。听众耳朵的就是接收端,而听到的声音就是传送过来的信号。根据声学信号来推测说话者的意思,就是语音识别。这样说来,如果接收端是一台计算机而不是人的话,那么计算机要做的就是语音自动识别。同样,在计算机中,如果我们要根据接收到的英语信息,推测说话者的汉语意思,就是机器翻译;如果我们要根据带有拼写错误的