查看自然语言处理的源代码
←
自然语言处理
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
'''自然语言处理'''([[英语]]:Natural Language Processing,缩写作 NLP),是[[人工智能]]和[[语言学]]领域的分支学科。此领域探讨如何处理及运用[[自然语言]];自然语言处理包括多方面和步骤,基本有认知、理解、生成等部分。 自然语言认知和理解是让电脑把输入的[[语言]]变成有意思的符号和关系,然后根据目的再处理。自然语言生成系统则是把计算机数据转化为自然语言。 === 历史 === 自然语言处理大体是从1950年代开始,虽然更早期也有作为。1950年,[[图灵]]发表论文“计算机器与智能(Computing Machinery and Intelligence)”,提出现在所谓的“[[图灵测试]]”作为判断智能的条件。 1954年的乔治城实验(Georgetown-IBM experiment)涉及全部自动翻译(automatic translation)超过60句俄文成为英文。研究人员声称三到五年之内即可解决机器翻译的问题。不过实际进展远低于预期,1966年的ALPAC报告(ALPAC report)发现十年研究未达预期目标,机器翻译的研究经费遭到大幅削减。一直到1980年代末期,[[统计机器翻译]]系统发展出来,机器翻译的研究才得以更上一层楼。 1960年代发展特别成功的NLP系统包括[[SHRDLU]]——一个词汇设限、运作于受限如“[[积木世界]]”的一种自然语言系统,以及1964-1966年[[约瑟夫·维森鲍姆]]模拟“[[个人中心治疗]]”而设计的ELIZA——几乎未运用人类思想和感情的讯息,有时候却能呈现令人讶异地类似人之间的互动。“病人”提出的问题超出ELIZA 极小的知识范围之时,可能会得到空泛的回答。例如问题是“我的头痛”,回答是“为什么说你头痛?” 1970年代,程序设计师开始设计“概念本体论”(conceptual ontologies)的程序,将现实世界的信息,架构成电脑能够理解的资料。实例有MARGIE、SAM、PAM、TaleSpin、QUALM、Politics以及Plot Unit。许多[[聊天机器人]]在这一时期写成,包括PARRY、Racter以及Jabberwacky。 一直到1980年代,多数自然语言处理系统是以一套复杂、人工订定的规则为基础。不过从1980年代末期开始,语言处理引进了[[机器学习]]的演算法,NLP产生革新。成因有两个:运算能力稳定增加(参见[[摩尔定律]]);以及[[乔姆斯基]] 语言学理论渐渐丧失主导(例如[[转换-生成语法]])。该理论的架构不倾向于[[语料库]]——机器学习处理语言所用方法的基础。有些最早期使用的机器学习演算法,例如[[决策树]],是硬性的、“如果-则”规则组成的系统,类似当时既有的人工订定的规则。不过词性标记(part-of-speech tagging)将[[隐马尔可夫模型]]引入NLP,并且研究日益聚焦于软性的、以[[机率]]做决定的[[统计模型]],基础是将输入资料里每一个特性赋予代表其份量的数值。许多[[语音识别]]现今依赖的快取语言模型(cache language model)即是一种统计模型的例子。这种模型通常足以处理非预期的输入数据,尤其是输入有错误(真实世界的数据总免不了),并且在整合到包含多个子任务的较大系统时,结果比较可靠。 许多早期的成功属于[[机器翻译]]领域,尤其归功IBM的研究,渐次发展出更复杂的统计模型。这些系统得以利用加拿大和欧盟现有的[[语料库]],因为其法律规定政府的会议必须翻译成所有的官方语言。不过,其他大部分系统必须特别打造自己的语料库,一直到现在这都是限制其成功的一个主要因素,于是大量的研究致力于从有限的数据更有效地学习。 近来的研究更加聚焦于[[非监督式学习]]和半监督学习(semi-supervised learning)的演算法。这种演算法,能够从没有人工注解理想答案的资料里学习。大体而言,这种学习比[[监督学习]]困难,并且在同量的数据下,通常产生的结果较不准确。不过没有注解的数据量极巨(包含了[[全球信息网]]),弥补了较不准确的缺点。 近年来,[[深度学习]]技巧纷纷出炉在自然语言处理方面获得最尖端的成果,例如语言模型、语法分析等。 ===用途=== 在许多情况下,学者们需要通过许多不同的数据库来确定新的研究方向,以识别研究差距并确定迄今为止尚未研究的领域。检查所有电子数据库很麻烦,而且经常会遗漏重要的部分。通过使用网络抓取和自然语言处理来缩短识别研究差距所需的时间。在Google学术搜索上索引的出版物的标题, 自然语言处理标记化(Tokenization)从最高频率到最低频率对搭配进行排序。因此,自然语言处理标记化(Tokenization)确定了标题中未提及的关键字集,并将最初的想法确定为研究空白。 === 任务和限制 === 理论上,NLP是一种很吸引人的人机交互方式。早期的语言处理系统如[[SHRDLU]],当它们处于一个有限的“积木世界”,运用有限的词汇表会话时,工作得相当好。这使得研究员们对此系统相当乐观,然而,当把这个系统拓展到充满了现实世界的含糊与不确定性的环境中时,他们很快丧失了信心。 由于理解(understanding)自然语言,需要关于外在世界的广泛知识以及运用操作这些知识的能力,自然语言认知,同时也被视为一个人工智能完备(AI-complete)的问题。同时,在自然语言处理中,"理解"的定义也变成一个主要的问题。 === 实际问题 === 一些NLP面临的问题实例: * 句子“我们把香蕉给猴子,因为牠们饿了”和“我们把香蕉给猴子,因为它们熟透了”有同样的结构。但是代词“它们”在第一句中指的是“猴子”,在第二句中指的是“香蕉”。如果不了解猴子和香蕉的属性,无法区分。(简体中文和英文的它/it没有区分,但在中文(繁体中文)里“牠”和“它”是有区别的,只是代词在中文里常常被省略,因此需区别属性并且标示出来) 不少的中文相关笑话即是利用类似结构的中文造句而成,此类笑话通常带有《中文博大精深》之类的词汇,叙述多以老外参加考试为背景。例子如下: ‘ 某老外苦学汉语10年,到东方参加汉语考试。试题为“请解释下列句子”: 阿呆给长官送红包时,两个人的对话颇有意思。 长官:“你这是什么意思?” 阿呆:“没什么意思,意思意思。” 长官:“你这就不够意思了。” 阿呆:“小意思,小意思。” 长官:“你这人真有意思。” 阿呆:“其实也没有别的意思。” 长官:“那我就不好意思了。” 阿呆:“是我不好意思。” 老外泪流满面,交白卷回国了。 ’ ===自然语言处理研究的难点=== ====单词的边界界定==== :在口语中,词与词之间通常是连贯的,而界定字词边界通常使用的办法是取用能让给定的上下文最为通顺且在语法上无误的一种最佳组合。在书写上,[[汉语]]也没有词与词之间的边界。 ====词义的消歧==== :许多字词不单只有一个意思,因而我们必须选出使句意最为通顺的解释。 ====句法的模糊性==== : [[自然语言]]的[[语法]]通常是[[模棱两可]]的,针对一个句子通常可能会[[语法分析器|剖析]](Parse)出多棵[[剖析树]](Parse Tree),而我们必须要仰赖[[语意]]及前后文的信息才能在其中选择一棵最为适合的剖析树。 ====有瑕疵的或不规范的输入==== :例如语音处理时遇到外国口音或地方口音,或者在文本的处理中处理拼写,语法或者[[光学字符识别]](OCR)的错误。 ====语言行为与计划==== :句子常常并不只是字面上的意思;例如,“你能把盐递过来吗”,一个好的回答应当是动手把盐递过去;在大多数上下文环境中,“能”将是糟糕的回答,虽说回答“不”或者“太远了我拿不到”也是可以接受的。再者,如果一门课程去年没开设,对于提问“这门课程去年有多少学生没通过?”回答“去年没开这门课”要比回答“没人没通过”好。 ===当前自然语言处理研究的发展趋势=== 第一,传统的基于句法-语义规则的理性主义方法过于复杂,随着语料库建设和语料库语言学的崛起,大规模真实文本的机器学习处理成为自然语言处理的主要选择。 第二,统计数学方法越来越受到重视,自然语言处理中越来越多地使用机器自动学习的方法来获取语言知识。 第三,浅层处理与深层处理并重,统计与规则方法并重,形成混合式的系统。 第四,自然语言处理中越来越重视词汇的作用,出现了强烈的“词汇主义”的倾向。词汇知识库的建造成为了普遍关注的问题。 === 统计自然语言处理=== 统计自然语言处理运用了[[推测学]]、[[机率]]、[[统计]]的方法来解决上述,尤其是针对容易高度模糊的长串句子,当套用实际语法进行分析产生出成千上万笔可能性时所引发之难题。处理这些高度模糊句子所采用消歧的方法通常运用到[[语料库]](Corpus)以及[[马可夫模型]](Markov models)。统计自然语言处理的技术主要由同样自[[人工智能]]下与学习行为相关的子领域:[[机器学习]]及[[资料采掘]]所演进而成。 ===主要范畴=== *[[文本朗读]](Text to speech) *[[语音合成]](Speech synthesis) *[[语音识别]](Speech recognition) *[[断词]]/分词(Text segmentation/Word tokenization) *[[中文自动分词]](Chinese word segmentation) *[[语法分析]]/[[剖析]](Syntactic analysis/Parsing) *[[汉语自动句法分析]] *[[词汇标示框架]](Lexical Markup Framework) *[[n元语法]] (n-gram) *[[词嵌入]] (Word2vec) *[[词性标注]](Part-of-speech tagging) *[[文档分类]] (Document classification) *[[自然语言生成]](Natural language generation) *[[文本分类]](Text categorization) *[[信息检索]](Information retrieval) *[[信息抽取]](Information extraction) *[[校对|文字校对]](Text-proofing) *[[问答系统]](Question answering) :给一句人类语言的问句,决定其答案。 典型问题有特定答案 (像是加拿大的首都叫什么?),但也考虑些开放式问句(像是人生的意义是是甚么?) *[[聊天机器人]] (ChatBot) *[[对话系统]] (Dialogue system) *[[机器翻译]](Machine translation) :将某种人类语言自动翻译至另一种语言 *[[自动摘要]](Automatic summarization) :产生一段文字的大意,通常用于提供已知领域的文章摘要,例如产生报纸上某篇文章之摘要 *[[文字蕴涵]](Textual entailment) *[[命名实体识别]](Named entity recognition, NER) *[[主题模型]](Topic Model) *[[文本情感分析]](Sentiment analysis) *[[语意分析]](Semantic analysis) *[[潜在语义学]](Latent Semantic Analysis) *[[词袋模型]](Bag-of-words model) *[[标签云]] (Tag Cloud) *[[自然语言理解]] (Natural Language Understanding) ===参见=== *[[人工智能基本条目]] *[[计算机科学技术基本条目]] *[[工学(目录)]] * [[语言列表]] * [[人工语言]] ** [[形式语言]] * [[本体 (信息科学)|本体]] ** [[本体工程]] * [[一阶逻辑]] * [[描述逻辑]] * [[知识表达]] * [[格 (数学)|晶格]] * [[伽罗瓦连接]] * [[计算机科学]] * [[机器人学]] * [[人工智能]] * [[强人工智能]] * [[艾伦·图灵]] * [[图灵测试]] * [[电脑科学]] * [[认知科学]] * [[语义学]] * [[网络本体语言]](OWL) *[[数据库]] *[[抽象知识]] *[[知识抽象化]] * [[电脑语言学]] * [[受限自然语言]] * [[信息抽取]] * [[信息检索]] * [[自然语言理解]] * [[潜在语义索引]] * [[潜在语义学]] * [[机器记者]] * [[计算语言学]] * [[深度学习]] * [[隐含狄利克雷分布]](LDA) * [[扩展查询]] * [[语音处理]] * [[校对]] * [[问答系统]] [[Category:工学]] [[Category:计算机科学与技术]] [[Category:人工智能| ]] [[Category:控制论]] [[Category:形式科学]] [[Category:技术与社会]] [[Category:计算神经科学]] [[Category:新兴技术]] [[Category:知识管理]] [[Category:信息科学]] [[Category:语言]] [[Category:语言学]] [[Category:数学]] [[Category:自然语言处理]] [[Category:计算语言学]] [[Category:人工智能应用]] [[Category:人机交互]] [[Category:中文信息处理]] [[Category:中文词典]] [[Category:Z音词条]] [[Category:自]]
返回
自然语言处理
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
最近更改
随机页面
工具箱
链入页面
相关更改
特殊页面
页面信息
扫描二维码可以用手机浏览词条