自然语言处理的技术难点与挑战
#e#三、当前国内外在自然语言处理领域的研究热点和难点自然语言处理的难点单词的边界界定在口语中,词与词之间通常是连贯的,而界定字词边界通常使用的办法是取用能让给定的上下文最为通顺且在文法上无误的一种最佳组合。在书写上,汉语也没有词与词之间的边界。
词义的消歧许多字词不单只有一个意思,因而我们必须选出使句意最为通顺的解释。
句法的模糊性自然语言的文法通常是模棱两可的,针对一个句子通常可能会剖析(Parse)出多棵剖析树(ParseTree),而我们必须要仰赖语意及前后文的资讯才能在其中选择一棵最为适合的剖析树。
有瑕疵的或不规范的输入
例如语音处理时遇到外国口音或地方口音,或者在文本的处理中处理拼写,语法或者光学字符识别(OCR)的错误。
语言行为与计划句子常常并不只是字面上的意思;例如,“你能把盐递过来吗”,一个好的回答应当是把盐递过去;在大多数上下文环境中,“能”将是糟糕的回答,虽说回答“不”或者“太远了我拿不到”也是可以接受的。再者,如果一门课程去年没开设,对于提问“这门课程去年有多少学生没通过?”回答“去年没开这门课”要比回答“没人没通过”好。
关于如何解决语境的问题:同时,由于强调了“大规模”,强调了“真实文本”,下面两方面的基础性工作也得到了重视和加强。
(1)大规模真实语料库的研制。大规模的经过不同深度加工的真实文本的语料库,是研究自然语言统计性质的基础。没有它们,统计方法只能是无源之水。
(2)大规模、信息丰富的词典的编制工作。规模为几万,十几万,甚至几十万词,含有丰富的信息(如包含词的搭配信息)的计算机可用词典对自然语言处理的重要性是很明显的。
自然语言处理技术发展瓶颈
目前自然语言处理技术的两大瓶颈就是大规模语料数据的建设,以及语义分析的进一步完善。
主流的自然语言处理技术是以统计机器学习为基础的,这就需要大规模的语料库。在很多任务中,这些语料库是需要人工构建的,这是非常费力的工作。因此,数据共享是一个可以促进研究发展的必不可少的因素。可以说,自然语言处理的快速发展离不开一些开源的语料库,比如WordNet、PennTreebank等。第二,任何语料库无论大小类型,都难以囊括某个领域的全部案例;而且,语料库的标注体系往往难以把握,类别划分过粗,则无法全面、细致地描述语言,类别划分过细,则标注信息过于庞大、降低标注效率,统计数据的稀疏问题严重,训练出来的模型健壮性差。第三,因为人工标注的语料库毕竟是费时费力的工作,因此还需要从模型和算法方面去研究如何利用大量的无人工标注或部分标注的数据,也就是半监督学习,但这方面的研究还不是特别成熟。
自然语言处理技术的另一大瓶颈就是如何精确地表现自然语言的语义,比如在人机交互过程中,首先就要理解用户的意图,而这里“用户的意图”就是语义。目前业界常用的方法有两种:基于知识或语义学规则的语义分析方法和基于统计学的语义分析方法。尽管两类方法都能在一定程度上进行自然语言语义的推导以及信息之间关联的判别,但是基于知识与语义学规则的方法无法覆盖全部语言现象、推理过程复杂,无法处理不确定性事件,规则间的相容性和适用层次范围存在缺陷和限制,知识和语义规则的建立是瓶颈问题;而基于统计学的方法则过多地依赖于大规模语料库的支持,性能依赖语料库的优劣,易受数据稀疏和数据噪声的干扰,正如之前提到,大规模语料库的建立和语料质量的保证仍是瓶颈问题。
可喜的是,如火如荼的云计算为复杂模型计算以及大规模语料库的收集与建立提供了基础设施上的支撑。例如,借助MicrosoftAzure,用户可以在几分钟内完成NLPonAzure站点的部署,并立即开始对NLP开源工具的使用,或者以RESTAPI的形式调用开源工具的语言分析功能,而无需关注基础结构,只需专注于应用程序的业务逻辑。PaaS(平台即服务)的特性隐藏了基础设施的细节,让用户无须关心操作系统、运行环境、安全补丁、错误恢复等问题,这使得用户进行NLP语料库建设以及应用程序使用的门槛大大降低。
浅谈自然语言处理(NLP)和 自然语言理解(NLU)
自然语言处理主要步骤包括:1.分词(只针对中文,英文等西方字母语言已经用空格做好分词了):将文章按词组分开 2.词法分析:对于英文,有词头、词根、词尾的拆分,名词、动词、形容词、副词、介词的定性,多种词意的选择。比如DIAMOND,有菱形、棒球场、钻石3个含义,要根据应用选择正确的意思。 3.语法分析:通过语法树或其他算法,分析主语、谓语、宾语、定语、状语、补语等句子元素。 4.语义分析:通过选择词的正确含义,在正确句法的指导下,将句子的正确含义表达出来。方法主要有语义文法、格文法。 但是以上的分析,仅适用于小规模的实验室研究,远不能应用到实际语言环境中,比如说语法,我们能总结出的语法是有限的,可是日常应用的句子,绝大部分是不遵守语法的,如果让语法包罗所有可能的应用,会出现爆炸的景象。
自然语言处理的应用方向主要有:1.文本分类和聚类:主要是将文本按照关键字词做出统计,建造一个索引库,这样当有关键字词查询时,可以根据索引库快速地找到需要的内容。此方向是搜索引擎的基础,在早期的搜索引擎,比如北大开发的“天问系统”,采用这种先搜集资料、在后台做索引、在前台提供搜索查询服务。目前GOOGLE,百度的搜索引擎仍旧类似,但是采用了自动“蜘蛛”去采集网络上的信息,自动分类并做索引,然后再提供给用户。我曾经在我的文章中做过测试,当文章中有“十八禁”这样的字眼时,点击次数是我其他文章点击次数的几十倍,说明搜索引擎将“十八禁”这个词列为热门索引,一旦有一个“蜘蛛”发现这个词,其他“蜘蛛”也会爬过来。 2.信息检索和过滤:这是网络瞬时检查的应用范畴,主要为网警服务,在大流量的信息中寻找关键词,找到了就要做一些其他的判断,比如报警。 3.信息抽取:(抄书)信息抽取研究旨在为人们提供更有力的信息获取工具,以应对信息爆炸带来的严重挑战。与信息检索不同,信息抽取直接从自然语言文本中抽取事实信息。过去十多年来,信息抽取逐步发展成为自然语言处理领域的一个重要分支,其独特的发展轨迹——通过系统化、大规模地定量评测推动研究向前发展,以及某些成功启示,如部分分析技术的有效性、快速自然语言处理系统开发的必要性,都极大地推动了自然语言处理研究的发展,促进了自然语言处理研究与应用的紧密结合。回顾信息抽取研究的历史,总结信息抽取研究的现状,将有助于这方面研究工作向前发展。 4.问答系统:目前仍局限于80年代的专家系统,就是按照LISP语言的天然特性,做逻辑递归。LISP语言是括号式的语言,比如A=(B,C,D),A=(B,E,F),提问:已知B,C,能得到什么样的结论?结论是A,D;若提问改为已知B,结论则是C,D,A或E,F,A。比如一个医疗用的专家系统,你若询问“感冒”的治疗方法,系统可能给出多种原因带来的感冒极其治疗方法,你若询问“病毒性感冒”的治疗方法,则系统会给出比较单一的、明确的治疗方法。你有没有用过AUTOCAD系统,这个就是建立在LISP语言上的括号系统,在用的时候会出现上述情况。 5.拼音汉字转换系统:这应该是中文输入法应用范畴的东西,再多的东西我就没想过。 6.机器翻译:当前最热门的应用方向,这方面的文章最多。国际上已经有比较好的应用系统,美国有个AIC公司推出过著名的实时翻译系统,欧共体的SYSTRAN系统可以将英、法、德、西、意、葡六种语言实时对译,美、日、德联合开发的自动语音翻译系统,成功进行了10多分钟对话。我国军事科学院、中科院也开发过此类系统。但是这里边的问题也很多,最主要的是“满篇洋文难不住,满篇译文看不懂”,就是脱离了人类智慧的机器翻译,总会搞出让人无法理解的翻译,比如多意词选择哪个意思合适、怎么组织出通顺的语句,等等。所以目前微软、GOOGLE的新趋势是:翻译+记忆,类似机器学习,将大量以往正确的翻译存储下来,通过检索,如果碰到类似的翻译要求,将以往正确的翻译结果拿出来用。GOOGLE宣称今后几年就可以推出商业化的网页翻译系统。 7.新信息检测:这个我不知道,没思路。
以上已经回答了自然语言发展方向的问题。我认为机器翻译是最有前途的方向,其难点在于机器翻译还不具备人类智能,虽然翻译已经达到90%以上的正确程度,然而还是不能象人类翻译那样,可以准确表达。为什么存在这样的难点?关键是自然语言处理做不到人类对自然语言的理解,“处理”和“理解”是天差地别的两个概念。“处理”好比控制眼睛、耳朵、舌头的神经,他们将接收的信息转化成大脑可以理解的内部信息,或者反过来,他们的功能就是这么多。而“理解”则是大脑皮层负责语言理解那部分,多少亿的脑细胞共同完成的功能。一个人因为其自身家庭背景、受教育程度、接触现实中长期形成的条件反射刺激、特殊的强列刺激、当时的心理状况,这么多的因素都会影响和改变“理解”的功能,比如我说“一个靓女开着BMW跑车”,有人心里会想这是二奶吧?有人心里会仇视她,联想到她会撞了人白撞;做汽车买卖的人则会去估量这部车的价值;爱攀比的人也许会想,我什么时候才能开上BWM?所以“理解”是更加深奥的东西,涉及更多神经学、心理学、逻辑学领域。
还有上下文理解问题,比如这句:“我们90平方米以后会占的分量越来越大,那么这样他的价格本身比高档低很多,所以对于整体把这个价格水平给压下来了,这个确实非常好的。”你能理解么?估计很难或者理解出多种意思,但是我把前文写出来:“去年国家九部委联合发布了《建设部等部门关于调整住房供应结构稳定住房价格意见的通知》,对90平方米以下住房须占总面积的70%以上作出了硬性规定,深圳市经过一年的调控,目前已做到每个项目的75%都是90平方米以内。深圳市国土资源和房产管理局官员说”看了后面的你才能知道是根据国家的通知,深圳做了相应的调整。
自然语言理解1.语义表示自然语言理解的结果,就是要获得一个语义表示(semanticrepresentation):
语义表示主要有三种方式:
1.分布语义,Distributionalsemantics 2.框架语义,Framesemantics 3.模型论语义,Model-theoreticsemantics
1.1分布语义表示(Distributionalsemantics)说distributionalsemantics大家比较陌生,但如果说word2vec估计大家都很熟悉,word2vec的vector就是一种distributionalsemantics。distributionalsemantics就是把语义表示成一个向量,它的理论基础来自于Harris的分布假设:语义相似的词出现在相似的语境中(Semanticallysimilarwordsoccurinsimilarcontexts)。具体的计算方法有多种,比如LSA(LatentSemanticAnalysis)、LDA(LatentDirichletAllocation)及各种神经网络模型(如LSTM)等。
这种方法的优点在于,它完全是数据驱动的方法,并且能够很好的表示语义,但一个很大的缺点在于,它的表示结果是一个整体,没有进一步的子结构。
1.2框架语义表示(Framesemantics)顾名思义,这种方法把语义用一个frame表示出来,比如我们一开始举得例子:“订一张明天北京去杭州的机票,国航头等舱”,表示如下:
在计算方法上,典型的比如语义角色标注(SemanticRoleLabeling),具体可以分为两个步骤:frameidentification和argumentidentification,frameidentification用于确定frame的类型,argumentidentification用于计算各个属性的具体值。这种方法和distributionalsemantics相比,能够表达丰富的结构。
1.3模型论语义表示(Model-theoreticsemantics)模型轮语义表示的典型框架是把自然语言映射成逻辑表达式(logicform)。比如对于下图中的“中国面积最大的省份是哪个?”,将其表示成逻辑表达式就是图中红色字体部分,进一步那这个逻辑表达式去知识库中查询,就得到了答案。在计算方法上,典型的就是构建一个semanticparser。
模型论语义表示是对世界知识的完整表示,比前两种方法表达的语义更加完整,但是缺点是semanticparser的构建比较困难,这大大限制了该方法的应用。
1.4目前采用的语义表示目前常用的是framesemantics表示的一种变形:采用领域(domain)、意图(intent)和属性槽(slots)来表示语义结果。 其中,领域是指同一类型的数据或者资源,以及围绕这些数据或资源提供的服务,比如“餐厅”,“酒店”,“飞机票”、“火车票”、“电话黄页”等;意图是指对于领域数据的操作,一般以动宾短语来命名,比如飞机票领域中,有“购票”、“退票”等意图;属性槽用来存放领域的属性,比如飞机票领域有“时间”“出发地”“目的地”等; 对于飞机票领域,我们的语义表示结构如下图所示:
进一步,我们对于世界的语义描述(又称为domainontology)如下:
2.自然语言理解技术难点在确定了自然语言理解的语义表示方法后,我们把技术方案抽象为如下两步:
这和前文提到的语义角色标注把过程分为frameidentification和argumentidentification类似,领域分类和意图分类对应frameidentification,属性抽取对应argumentidentification。无论对于分类还是对于抽取来说,都需要有外部知识的支持。在实现的过程中,我们面临着如下的困难:
(1)如何构建知识库 “总参”除了表示总参谋部外,还是南京一家很火的火锅店;“中华冷面”除了是一种面条,还是一首歌名;“王菲的红豆”是指王菲唱的红豆这首歌,但如果说“韩红的红豆”就不对了,因为韩红没有唱过红豆这首歌。要想把这些知识都理解对,就需要一个庞大的知识库,这个知识库中的实体词数以千万计,怎么挖掘,怎么清洗噪音,都是很大的挑战。
(2)如何理解用户语句的意图 “东三环堵吗”这句话意图是查询路况,“下水道堵吗”就不是查路况了;“今天的天气”是想问天气状况,“今天的天气不错”则无此意;“附近哪儿可以喝咖啡”是想找咖啡馆,但“牛皮癣能喝咖啡吗”就是一个知识问答了。类似上述的例子举不胜举,更别说语言理解还受时间、位置、设备、语境等等问题的影响。
(3)如何构建可扩展的算法框架 现实世界包含众多的领域,而我们不可能一次性的把所有领域都定义清楚并且实现之,那我们就需要一个可扩展的算法框架,每当修改或者新增某个领域的时候,不会对其他领域造成干扰。
(4)如何构建数据驱动的计算流程 大数据时代,如果一个算法或者流程不是数据驱动的,不是随着数据的增加而自动提升效果,那这个算法框架就没有持续的生命力。
(5)如何融入上下文知识 在对话场景中,每句话都有对话上下文,同样的句子在不同的上下文中理解结果是不一样的,比如如下的例子,同样的一句话“今天天气好吗”在左侧图中属于天气领域,而在右侧图中则属于音乐领域。
自然语言处理(4)——语料库和语言知识库
NLP学习笔记(4)——语料库和语言知识库1.基础知识2.语料库技术的发展第一个阶段:早期,20世纪五十年代中期之前二个阶段:沉寂时期,1957-20世纪八十年代初第三个阶段:复苏与发展时期,20世纪八十年代以后3.国内语料库的研究状况4.语料库的类型(a)按照其内容构成和目的进行划分:(b)按语言种类划分其他信息5.重点:语料库建设中存在的问题5.1对于语料库的设计,需要考虑的问题:5.2汉语语料库开发中存在的问题6.介绍一些典型语料库7.词汇知识库7.1WordNet7.2HowNet(知网)7.3概念层次网络1.基础知识对于预先准备的知识材料,分为语言数据库(语料库)和知识库两种。对于语言数据句库:主要是大规模的语言数据,难点在于模型参数训练与评测标准的设置;对于知识库:包括词汇语义库,词法、句法规则库,常识库等等
语料库语言学的定义:基于语料库进行语言学研究
下面介绍其他几种定义,可能更有益于对其理解:
根据篇章结构对语言的研究称为语料库语言学基于现实生活中语言运用的实例进行的语言研究称为语料库语言学以语料为语言描写的起点或以语料为验证有关语言的假说的方法称为语料库语言学。关于语料库语言学研究的内容:
语料库的建设与编纂语料库的加工和管理技术语料库的使用2.语料库技术的发展掌握程度:分清三个阶段的各自时间节点,以及判断其低谷期、复苏的特征及原因
第一个阶段:早期,20世纪五十年代中期之前二个阶段:沉寂时期,1957-20世纪八十年代初沉寂的原因大概是由于句法理论的兴起,即NLP先验知识运用的另一分支,知识库的发展
第三个阶段:复苏与发展时期,20世纪八十年代以后(1)其复苏的特征有二:
第一是第二代语料库相继建成第二是基于语料库的研究项目增多(2)其复苏的原因同样有二:(i)首先,得益于计算机的迅速发展,计算能力与速度的增强使得语料库技术有了用武之地;(ii)其次,转换生成语言学派对语料库的批判不都正确(如指责计算机分析语料是伪技术),有的是片面的甚至是错误的(如对语料数据价值的否定)3.国内语料库的研究状况掌握情况要求:了解现状即可,代表性内容要进行记忆
4.语料库的类型按照不同的标准,可以将语料库进行许多种划分
(a)按照其内容构成和目的进行划分:(1)异质的:仅进行最简单的语料收集方法,没有事先规定和选材原则(2)同质的:与上一条相反,如美国TIPSTER项目只收集军事方面的文本内容(3)系统的:充分考虑语料的动态和静态问题、代表性和平衡问题以及语料库的规模等问题(4)专用的:如北美的人文科学语料库
(b)按语言种类划分(1)单语语料库(2)双语的或多语的语料库对于非单语的语料库,要考虑是否要保证篇章对齐、句子对齐、结构对齐等问题
其他信息(1)关于如何区分生语料和熟语料的方法:看语料是否被标注了:熟语料的特征——具有词性标注;有句法结构信息标注(树库);有语义信息标注(2)对于平衡语料库,着重考虑了语料的代表性和平衡性掌握要求为:对平衡语料库采集的规则要了解,可能考察选择判断
语料库采集的七项原则:-1-语料的真实性-2-可靠性-3-科学性-4-代表性-5-权威性-6-分布性-7-流通性
其中,语料的分布性还可以考虑语料的科学领域分布、地域分布、时间分布和语体分布
(3)一个好像不是很重要的问题:(4)关于平行语料库其两种含义:
第一种是在同一种语言的语料上的平行。其平行性表现为语料选取的时间、对象、比例、文本数、文本长度等几乎是一致的。举个例子:“国际英语语料库”,共有20个平行的子语料库,分别来自以英语为母语或官方语言和主要语言的国家,如英国、美国、加拿大、澳大利亚、新西兰等。建库的目的是对不同国家的英语进行对比研究。第二种是指在两种或多种语言之间的平行采样和加工。例如,机器翻译中的双语对齐语料库(5)比较重要:共时语料库和历时语料库共时语料库:是为了对语言进行共时(同一时段)研究而建立的语料库。研究一个共时时空下的元素与元素之间的关系历时语料库:是为了对语言进行历时研究而建立的语料库。研究一个历时切面中元素与元素关系的演化
判断是否为历时语料库的4条规则(要求可以完成选判)-1-是否动态:语料库必须是开放的、动态的(基础)-2-文本是否具有量化的流通度属性:所有的语料都应该来自于大众传媒,具有与传媒特色相应的流通度属性。其量化的属性值也是动态的(随时间与条件、背景的变化,其流通度属性存在差异)(来源存在流通度属性)-3-深加工是否基于动态的加工方法:随语料库的动态变化采集,并进行动态地加工(加工过程的动态性)-4-是否取得动态的加工结果:语料的加工结果也应是动态的和历时的(加工结果的动态性)
5.重点:语料库建设中存在的问题重点章节
5.1对于语料库的设计,需要考虑的问题:(1)动态与静态:(2)代表性和平衡性:一个语料库具有代表性,是指在该语料库上获得的分析结果可以概括成为这种语言整体或其指定部分的特征。(3)规模:
(4)语料库的管理和维护
5.2汉语语料库开发中存在的问题(1)语料库建设的规范问题
需要考虑或保证的是:粉刺标准是否已经确定和统一;词类标记集被普遍采用和遵循;文本属性规范如何体现(2)产权保护和国家语料库建设问题
6.介绍一些典型语料库对于宾夕法尼亚大学树库的扩展:自PropBank开始,出现语义角色标注
一个例子:
自PropBank开始,出现语义角色标注自PropBank开始,语料库中开始出现语义角色标注
Nombank专注于标注树库中名次的词义和相关的论元信息;而原PropBank标注的是句子的语法结构,PropBank拓展中的目标是对原树库中的句法节点标注上特定的论元标记。对于NomBank中的中文属性库:
比较重要的是,针对语篇的UPenn语篇树库。综合PropBank针对于句子的语法结构,NomBank标注树库中名词的词义和相关论元信息,UPenn则标注语篇结构信息
上图左侧是一片完整的文档,在这篇文档中有若干个篇章关系。右侧则罗列出了该文档第一段的关系。下面对其关系进行分析。关系1、2为隐式关系(相关类型包括显式和隐式),关系1的参数Arg1与Arg2的范围分别标在左图的红色、蓝色方框中,其功能类型的判断为扩展类型。对于关系三,是一个显式的关系,其关联词(特属于显式的关系Explicit)为“其中”,功能类型是扩展类型。
在上文中的例子中,我们可以发现,PDTB(PennDiscourseTreeBank)风格下的标注体系允许两个篇章关系的文本之间存在覆盖、嵌套和交叉。
关于其对应的汉语篇章树库(CDTB)1.0中英篇章树库对比(要求了解即可)可以观察到,中文中的隐式关系比例要高于英文,其关联词没有明确的定义,且组合关联词的现象较多,用法灵活。中文中(CDTB)的Argument是根据语义定义的,其范围可以是某个短语也可以跨越几个段落,中文中的标点,(比较典型的如逗号)往往具有篇章关系指示功能。对于英文(PDTB)是依据位置定义的,显式关系中在句法上与关联词相连的为Arg2,其余部分定义为Arg1;非显式关系中的前依据定义为Arg1,后一句为Arg2.PDT的三个层次
7.词汇知识库关于知识库,主要分为两种,WordNet与HowNet
需要掌握:关于WordNet,有哪四种关系关于HowNet,是什么样的关系,关系为单向还是双向的(不同关系的单、双向不同),关系中有多少种类型
7.1WordNetWordNet是按语义关系来组织的,故而WordNet之中的关系表现为语义关系。关于WordNet的四种语义关系:
同义关系反义关系上下位关系(从属/上属关系)部分关系(部分/整体关系)关于WordNet的应用:词汇消歧、语义推理、理解等
7.2HowNet(知网)比较重要
关于知网的特色知网作为一个知识系统,名副其实地是一张网,其着力反映概念的共性和个性;同时还要反映概念之间和概念的属性之间的各种关系。知网描述的关系:-1-上下位关系(与WordNet共有)-2-同义关系(与WordNet共有)-3-反义关系(与WordNet共有)-4-对义关系-5-部件-整体关系(与WordNet共有)-6-属性-宿主关系-7-材料-成品关系-8-施事/经验者/关系主体-事件关系(如“一生”、“雇主”)-9-受事/内容/领属物等-事件关系(如“患者”、“雇员”)-10-工具-事件关系(如“手表”、“计算机”)-11-场所-事件关系(如“银行”、“医院”)-12-时间-事件关系(如“假日”、“孕期”)-13-值-属性关系(如“蓝”、“慢”)-14-实体-值关系(如“矮子”、“傻瓜”)-15-事件-角色关系(由加角色名体现,如“购物”、“盗墓”)-16-相关关系(如“谷物”、“煤田”)7.3概念层次网络(HierarchicalNetworkofConcepts,HNC)
自然语言处理(NLP)的任务
jcc指令CSDN-Ada助手:非常感谢您的分享,jcc指令是汇编语言中的一个重要指令,对于汇编语言的学习和应用具有很重要的意义。我们鼓励您继续深入研究汇编语言,把更多的经验和技巧分享给大家。建议您写一篇关于汇编语言中常用指令的博文,介绍各种指令的含义和用法,从而帮助更多的读者更好地理解和应用汇编语言。期待您的下一篇精彩博文!为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall)诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。
什么是自然语言处理
自然语言处理结合计算语言学、机器学习和深度学习模型处理人类语言。
计算语言学计算语言学是使用计算机和软件工具理解和构建人类语言模型的科学。研究人员使用计算语言学方法(例如语法和语义分析)创建框架,从而帮助机器理解对话式人类语言。语言翻译器、文字转语音合成器和语音识别软件等工具都基于计算语言学。
机器学习机器学习是一种技术,使用样本数据训练计算机以提高其效率。人类语言有一些特征,例如讽刺、隐喻、句子结构变化,以及人类需要数年才能学习的语法和特殊用法。程序员使用机器学习方法教授NLP应用程序从一开始就识别和准确理解这些特征。
深度学习深度学习是机器学习的一个特定领域,教授计算机像人类一样学习和思考。此领域涉及神经网络,该网络由类似人脑操作的数据处理节点组成。计算机借助深度学习可以识别、分类和关联输入数据中的复杂模式。
NLP实施步骤一般来说,NLP流程首先从来源(例如云数据仓库、调查、电子邮件或内部业务流程应用程序)收集和准备非结构化文本或语音数据。
预处理NLP软件使用预处理技术(例如分词、词干、词形还原和停用词删除)为各种应用程序准备数据。
分词将句子分解为单个单元的字词或短语。 词干和词形还原将字词简化为词根形式。例如,这些流程将starting(开始)转换为start(开始)。 删除停用词可确保删除对句子没有重要含义的字词,例如为和与。 训练研究人员使用预处理的数据通过机器学习训练NLP模型,以便根据提供的文本信息执行特定应用程序。训练NLP算法需要向软件提供大量数据样本,以提高算法的准确性。
部署和推理然后,机器学习专家将部署模型或将其集成到现有的生产环境中。NLP模型接收输入并预测其为特定使用案例设计的输出。您可以在实时数据上运行NLP应用程序,并获得所需的输出。