配色: 字号:
第1章 Python自然语言处理入门与实战导论
2022-10-27 | 阅:  转:  |  分享 
  
导论2022/10/261自然语言处理工具目录自然语言处理概述2NLP的开发环境3自然语言处理(Natural Language Proce
ssing,NLP)是指利用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、篇章的输入、输出、识别、分析、理解、生成等
进行操作和加工的过程。NLP是计算机科学领域以及人工智能领域的一个重要的研究方向,是一门融语言学、计算机科学、数学、统计学于一体的
科学。NLP的具体表现形式包括机器翻译、文本摘要、文本分类、文本校对、信息抽取、语音合成、语音识别等。NLP机制涉及两个流程,自然
语言理解和自然语言生成。自然语言理解研究的是计算机如何理解自然语言文本中包含的意义。自然语言生成研究的是计算机如何生成自然语言文本
表达给定的意图、思想等。因为NLP的目的是为了让计算机“理解”自然语言,所以NLP有时又被称为自然语言理解 (Natural La
nguage Understanding,NLU)。自然语言处理概述1946年世界上第一台计算机诞生时,英国人布思(A.D.Boo
th)和美国人韦弗(W.Weaver)就提出了利用计算机进行机器翻译。从这个时间点开始算起,NLP技术已经历70多年的发展历程。N
LP的整个发展历程归纳为3个历史阶段。“萌芽期”“发展期”“繁荣期”发展历程二十世纪40年代到50年代之间,除了当时给世界带来极大
震撼的计算机技术外,在美国还有两个人在进行着重要的研究工作。其中一位是乔姆斯基,他的主要工作为对形式语言的研究,另一位是香农,他的
主要工作是基于概率和信息论模型的研究。香农的信息论在概率统计的基础上对语言和计算机语言进行研究。1956年,乔姆斯基提出了上下文无
关语法,并将它运用到NLP中。他们的工作直接引起了基于规则和基于概率这两种不同的NLP技术的产生。而这两种不同的NLP方法,又引发
了数十年有关基于规则方法和基于概率方法孰优孰劣的争执。发展历程1. 萌芽期(1956年以前)二十世纪60年代,法国格勒诺布尔理工大
学的著名数学家沃古瓦开始了自动翻译系统的研制。在这一时期,不同的国家和组织对机器翻译都投入了大量的人力,物力和财力。人类历史上第一
次可以通过计算机技术尝试打通不同语言之间隔阂,大部分人对此抱着很大的希望与憧憬。然而在机器翻译系统的研制过程中,遇到了各种各样的问
题,并且这些问题的复杂度远远超过了原来的预期。为了解决这些问题,产生了各种各样的模型和解决方案。虽然最后的结果并不是都尽如人意,但
是却为后来的各个相关分支领域的发展奠定了基础,如统计学、逻辑学、语言学等。发展历程2. 发展期(1980年~1999年)90年代后
,在计算机技术的快速发展下,基于统计的NLP取得了相当程度的成果,开始在不同的领域里大放异彩。如在机器翻译领域,由于引入了许多基于
语料库的方法,因此率先取得了突破。1990年,第13届计算机语言学会的主题是“处理大规模真实文本的理论、方法与工具”,研究的重心开
始转向大规模真实文本,传统的基于语言规则的NLP开始显得力不从心。20世纪90年代中期,有两件事促进了NLP研究的复苏与发展。一件
事是计算机的运行速度和存储量大幅增加,为NLP改善了物质基础,使得语音、语言处理的商品化开发成为可能;另一件事是1994年万维网协
会成立,在互联网的冲击下,产生了很多原来没有的计算模型,大数据和各种统计模型应运而生。这段时间,在大数据和概率统计模型的影响下,N
LP得到了飞速的发展。发展历程21世纪之后,一大批互联网公司的产生对NLP的发展起到了不同的推动作用。如早期的雅虎搜索,后来的谷歌
,中国的百度以及大量的基于万维网的应用和各种社交工具,在不同的方面促进了NLP的发展进步。在这个过程中,各种数学算法和计算模型越来
越显示重要性。最近刚兴起不久的机器学习、神经网络和深度学习等技术,都在不断的消除人与机器之间交流的限制。特别是深度学习技术将会在N
LP领域发挥越来越重要的作用。也许在不久的将来,在互联网的基础上,现今NLP中遇到的问题将不再是问题。不同语言的人们可以畅通无阻地
沟通交流,人与机器之间的沟通也可以没有阻碍。发展历程3. 繁荣期(2000年至今)NLP研究内容包括很多的分支领域,如文本分类、信
息抽取、自动摘要、智能问答、话题推荐、机器翻译、主题词识别、知识库构建、深度文本表示、命名实体识别、文本生成、文本分析(词法、句法
、语法)、语音识别与合成等。部分常见的NLP分支领域的简介如下。(1)机器翻译机器翻译又称为自动翻译,是利用计算机将一种自然语言转
换为另一种自然语言的过程。机器翻译是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。(2)信息检索信息检索
又称情报检索,是利用计算机系统从海量文档中找到符合用户需要的相关信息。狭义的信息检索仅指信息查询,广义的信息检索是信息按一定的方式
进行加工、整理、组织并存储起来,再根据信息用户特定的需要将相关信息准确的查找出来的过程。研究任务(3)文本分类文本分类又称文档分类
或信息分类,其目的是利用计算机系统对大量的文档按照一定的标准进行分类。文本分类技术拥有广泛的用途,公司可以利用该技术了解用户对产品
的评价,政府部门也可以通过分析网民对某一事件、政策法规或社会现象的评论,实时了解百姓的态度。(4)智能问答智能问答是指问答系统能以
一问一答的形式,正确回答用户提出的问题。智能问答可以精确的定位用户所提问知识,通过与用户进行交互,为用户提供个性化的信息服务。(5
)信息过滤信息过滤是指信息过滤系统对网站信息发布、公众信息公开申请和网站留言等内容实现提交时的自动过滤处理。如发现谩骂、诽谤等非法
言论或有害信息时可以实现自动过滤,并给用户友好的提示,同时向管理员提交报告。信息过滤技术目前主要用于信息安全防护、网络内容管理等。
研究任务(6)自动文摘文摘是指能够全面准确地反映某一文献中心内容的简单连贯的短文,自动文摘就是利用计算机自动地从原始文献中提取文摘
,自动文摘是NLP研究内容之一。互联网每天产生大量的文本数据,文摘是文本的主要内容,用户想查询和了解关注的话题需要花费大量时间和精
力进行选择和阅读,单靠人工进行文摘是很难实现的。为了应对这种状况,学术界尝试使用计算机技术实现对文献的自动处理。自动文摘主要应用于
Web搜索引擎、问答系统的知识融合和舆情监督系统的热点和专题追踪。(7)信息抽取信息抽取,是指从文本中抽取出特定的事件或事实信息。
例如,从时事新闻报道中抽取出某一恐怖事件的基本信息,如时间、地点、事件制造者、受害人、袭击目标、伤亡人数等。信息抽取与信息检索有着
密切的关系,信息抽取系统通常以信息检索系统的输出作为输入,并且信息抽取技术可以用于提高信息检索的性能。研究任务(8)舆情分析舆情分
析是指根据特定问题的需要,对舆情进行深层次的思维加工和分析研究,得到相关结论的过程。网络环境下舆情信息的主要来源有新闻评论、网络论
坛、聊天室、博客、新浪微博、聚合新闻和QQ等社交网站。由于网上的信息量十分巨大,仅仅依靠人工的方法难以应对海量信息的收集和处理,需
要加强相关信息技术的研究,形成一套自动化的网络舆情分析系统,及时应对网络舆情,由被动防堵变为主动梳理、引导。舆情分析是一项十分复杂
、涉及问题众多的综合性技术,同时也涉及网络文本挖掘、观点挖掘等各方面的问题。研究任务(9)语音识别语音识别又称自动语音识别,是指对
输入计算机的语音信号进行识别并转换成书面语言表示出来。语音识别技术所涉及的领域众多,其中包括信号处理、模式识别、概率论和信息论、发
声机理和听觉机理、人工智能等。(10)自动校对自动校对是对文字拼写、用词、语法或文档格式等进行自动检查、校对和编排的过程。电子信息
的形成可通过多种途径,最通常的方法是用键盘输入,因而不免会造成一些输入错误,由此产生了利用计算机进行文本自动校对的研究。自动校对系
统可应用于报刊、出版社、打字业等需要进行文本校对的行业。研究任务众所周知,新闻包括于传播之中,而传播是更为广义的概念,除了新闻之外
还有广告、公关、传播心理等等方面。新闻行业是从公元十五、六世纪地中海沿岸的“手抄小报”正式形成的,而传播的发展则伴随了整个人类历史
。所以我们说,新闻仅仅是传播的一类。在新闻工作和日常生活中,存在着并行不悖的两种新闻定义。一是新闻是新近发生事实的报道。二是新闻是
新近事实变动的信息。这两个定义的共同点是:它们都概括或反映了新闻的“真”和“新”这两个基本特点。两者区别在于,一个指新闻是报道;一
个指新闻是信息。自然语言处理与新闻传媒1. 新闻传播的定义(侧重从信息的角度)新闻是报道,表达了新闻的形式。新闻是信息,表达了新闻
的实质。两者对于新闻而言,互为表里,在不同场合各有不同的内涵。人们从事新闻活动,无论是口头的、书信的,还是读报、听广播、看电视、上
网络,根本目的还在于获取外界变动的信息。信息是整个新闻活动的一根主轴,它能够而且必须消除人们的随机不确定性,必然包含新的情况、新的
知识、新的内容。自然语言处理研究主要是围绕实现人与计算机之间用自然语言进行有效信息传播的各种理论和方法,主要面向有效信息传播对新闻
中语言进行信息处理。从这个角度看,新闻媒介必须致力于消除读者的不确定性,一切宣传功能必须建立在提供信息的基础上。如果新闻不能提供足
够的事实来消除读者不确定性,而是首先考虑如何教育读者,向读者灌输某一种思想,那么,不但新闻失败,宣传也失败。自然语言处理与新闻传媒
新闻与生俱来的基本特点是真实和新鲜,由此延伸出新闻传播应迅速及时。在现代社会,新闻真实、迅速的要求决定了新闻的工作方向,塑造了新闻
媒介的品格,决定了媒介的形式和技术的采用。人类社会的新闻传播工作经历了口头新闻、书信新闻、新闻书、新闻周刊、日报、电台、电视台再到
网络、多媒体这样一个演变过程,也可以说是从人体器官到印刷媒介再到电子媒体的过程。人类对传播工具的选择归根到底是由新闻的特性所决定的
,“适者生存”这一进化论观点恰好也是新闻选择传播工具演进过程的描述。一切适合新闻特定的传播工具都可以被人们采用,并且经久不衰。新闻
传播与自然语言有着千丝万缕的联系。随着自然语言处理各个分支技术的发展,自然语言处理开始在潜移默化中不断改变新闻传播行业整体生态的发
展。自然语言处理与新闻传媒近年来,自然语言处理技术得到了以计算机科学为代表的自然科学领域到社会科学领域的广泛关注,并且在新闻理解、
新闻传播、舆论管理、观点分析等社会传播学问题中展示了不容忽视的价值,二者的融合研究正成为新的趋势。一方面,自然语言处理技术能迅速处
理社交媒体中的海量内容和知识,加速传播学的研究进展,所生成的知识图谱也能被用于提升自然语言处理技术的推理能力。另一方面,自然语言处
理能够辅助治理互联网中的传播乱象,避免谣言、攻击性话语的泛滥,促进正向传播。随着二者结合的深入,新闻传播领域的大量非规范文本和精细
化知识对自然语言处理技术提出了越来越高的要求,传播学领域相对完善的理论框架也为自然语言处理突破常规应用带来了机遇。自然语言处理与新
闻传媒2. 自然语言处理技术和新闻传播的相互影响受信息全球化趋势的影响,以电视、报纸、广播、杂志为代表的传统媒介所垄断的信息发布渠
道正在被颠覆,以互联网为媒介的新闻传播突破了时间和空间的限制,已经成为传播学领域的新趋势。媒体内容生产从传统的“报道式新闻”演变为
新型“交互式新闻”,官方媒体报道转变为广泛参与的公民报道,并由此产生了海量的网络传播数据。海量数据带来的影响具有两面性。一方面,公
民在网络空间的观点表达和信息分享,创造了新的知识、内容、观点、意见等,人们可以从多个视角解读社会事件。另一方面,网络空间中的数据充
斥着与事件不相关的噪音和大量同质化的冗余信息,对新闻传播提出了如下新挑战。自然语言处理与新闻传媒(1)如何高效收集、整合数据,并进
行信息的提取与利用。当前网络数据渠道主要为门户网站的新闻、搜索引擎的检索结果、问答社区的讨论、微博互动等。平台的多样性使得成员构成
、交流形式、讨论深度等各不相同,数据形式涵盖文字、图片、表情、视频等多种格式。面对海量数据,人工方式很难进行处理,需要借助自动化工
具来实现新闻主题提取、内容理解、体裁归类等工作。自然语言处理技术能够实现异构数据的迅速整合、关键信息的提取及热点追踪等,辅助研究人
员进行高效的文本分析和内容理解。因此,熟悉各种自然语言处理工具正逐渐成为新闻传播学研究者的必备技能。自然语言处理与新闻传媒(2)如
何对清洗后的数据进行深层次分析,以发现同类事件的共性规律和差异化特征,深入解剖参与者的群体和个体特征。新闻传播的根本目的是透过表面
的内容看到事件的深层次动机、目的、发展规律,更好地解释社会生活中的自我、他人及世界的关系。其所涉及的学科门派众多,不同理论框架对问
题的解释不同,得出的结论也不尽相同,需要从数据中找出群体思维演变规律,亦或找出关系内部冲突以及关系外部群体冲突来解释事件演变规律。
自然语言处理技术的发展以及语料库的丰富程度已经能够解决上述问题的一些子问题,如内容分类、观点凝练、情感分析等,但其还无法满足更为系
统和深入的智能化传播分析的要求。这就对自然语言处理技术与传播学理论的深度融合提出了要求。自然语言处理与新闻传媒在新闻传播领域,自然
语言处理过去的贡献集中在内容分类、文本摘要、主题模型、上下文提取、情感分析、文本-语音转换、机器翻译等,主要应用形式也多种多样,进
展也多有不同。(1)假新闻检测假新闻是指社交媒体中错误的、误导读者的或未经证实的新闻消息。假新闻检测旨在通过人工智能技术来核查新闻
报道,识别社会欺诈与虚假信息。从2016年美国选举开始,假新闻检测突然得到了广泛的关注,正成为近几年新闻传播和自然语言处理领域的热
点议题。自然语言处理与新闻传媒3. 新闻传播领域前沿自然语言处理的技术应用常见的4类假新闻分别为:“恶作剧型”、“诱导点击型”、“
广告宣传型”、“讽刺型”。假新闻检测的原始数据主要从开放式的在线社交媒体获取,随后通过假新闻在线校验网进行评分,得到新闻的可信度和
对应标签。还通过消息源的口碑,为其发布的新闻贴上对应标签。例如,政府网站、公认的权威媒体发布的新闻可默认为“真实”,辟谣网站鉴定的
谣言、臭名昭著的媒体渠道发布的文章则默认为“虚假”。当前主流的假新闻检测技术可分为4类:基于机器学习的检测技术、基于深度学习的检测
技术、基于自然语言处理的检测技术、基于图理论和数据挖掘的检测技术。这4类技术常常共现于同一模型中,例如语言注入的神经网络模型、基于
图理论的深度马尔可夫链推理模型、基于自然语言处理的语义信息和用户行为的双层卷积神经网络模型等。针对谣言识别任务,假新闻传播检测一般
分为4项途径,即新话题检测、话题追踪、用户立场检测、话题类别判断等。自然语言处理与新闻传媒在假新闻检测方面,特别是中文假新闻检测方
面,技术发展相对充分,在研究题多样性和数据集方面仍有提升空间。目前主要存在以下问题。一是中文假新闻检测的研究内容还局限于“谣言”,
而对“半真半假”“标题和内容不一致”“事实错位”“讽刺性文章”等复杂情况的检测研究相对较少;二是中文研究数据主要来自于微博,且受隐
私保护影响,多数不予公开,其他来源(如公众号文章、时政评论、辟谣平台文章)的中文数据也相对较少;三是中文假新闻检测的平台建设尚处于
起步阶段。虽然果壳网的谣言粉碎机、微信的自动辟谣等功能值得称赞,但前者的假新闻相对陈旧,无法及时发现并辟谣实时出现的假新闻;后者局
限于微信平台内部文章的辟谣,无法识别和处理整个网络中出现的假新闻。因此,为实现和谐的网络传播生态,建立面向多源头、多渠道的假新闻实
时辟谣平台仍任重道远。自然语言处理与新闻传媒(2)常识推理常识推理是机器阅读理解领域的热门话题。从早期的文本传播任务到需要全面了解
公民日常生活与社会常识的任务,越来越多的致力于从现有网络数据中提取常识性知识。例如,共指性问题是自然语言理解中的一个难题,即文本中
的多个指称都指向同一个实体。共指消解过程极易受到数据偏差的困扰,即使借助语料库或知识图谱,这个问题仍难彻底解决。类似的难题还有职业
名词中的性别偏差。而加入常识性知识,有助于消除共指问题中的歧义。近年来,计算机视觉、机器人学以及语言、视觉和机器人学之间的交叉等其
他相关学科也取得了越来越多的成果,涌现了大量旨在通过不断增长的基准任务来解决常识推理活动的研究。常识推理方法也从早期的符号和统计方
法发展到基于深度神经网络的推理模型等。这些模型通常会增加外部数据或知识资源,如情感信息,并由此产生了许多知识库。除了由领域专家、W
ordNet、众 包方式创建的知识库外,通过自然语言处理自动提取信息(如事实和关系)及建立知识图谱正成为常识推理研究的热门课题。自
然语言处理与新闻传媒(3)自动化新闻数字新闻报道正在冲击传统新闻报道的地位,并由此带来了三个方面的问题:一是如何自动分析新闻结构、
主题及叙事规则(新闻理解);二是如何从海量数据中提取指定主题的新闻(新闻归类和检索);三是如何优化自动新闻写作(新闻生成)。针对以
上问题,Carlson等于2015年提出了“自动化新闻(Automated Journalism)”的概念,探索了如何在无人为干扰
的情况下,通过新闻话题的自动检索、分析、处理,自动地生成新闻报道。由于语义是对数据对应的现实世界中的事物所蕴含意义的解释,理解语义
是发挥新闻数据功能的必要前提,因此自然语言语义分析成为了自动化新闻研究中不可或缺的技术。此外,基于自 然 语 言 生成(Natur
al Language Generation,NLG)技术,可进一步建立自动化新闻生成系统。自然语言处理与新闻传媒在新闻理解的研究
中,新闻主题提取是基础问题,其研究相对成熟和丰富。最常用的主题模型是隐含狄利克雷分布与层次狄利克雷过程等。基于这些模型,可构建语义
框架及事件名词词典,实现从文本信息中自动提取新事件的主题。叙事规则分析和故事生成是自动化新闻研究最具潜力的研究方向,然而目前的研究
仍局限于用传统的认知语言学模型来分析新闻的叙事话语,或通过设计叙事原型数据库来将新闻知识编码为结构化的叙事,自然语言处理技术的应用
研究相对稀缺。新闻题材自动归类是新闻检索研究中的基础课题。传统的新闻题材归类往往基于简单的规则,如按主题聚类、按元素存档、按作分类
等。自然语言处理与新闻传媒近年来,通过内容组织结构进行归类,并创建新闻结构和叙事元素的数据集,有助于基于自然语言处理的新闻体裁自动
归类。自然语言生成技术尽管在过去几年发展迅速,但仍然不足以实现通用的、智能化的新闻生成系统。一方面,相对成熟的新闻自动生成系统大多
是服务于商业的或为私人公司所有,具体架构和操作并不对外开放,各系统之间存在技术屏障。另一方面,目前公开的自动新闻生成系统高度依赖于
规则和模板,并不智能化。此外,多数自然语言生成系统只有在结构化数据充足、领域知识被充分理解的情况下才有效,这对知识数据库的建立提出
了较大的挑战。自然语言处理与新闻传媒(4)攻击性话语界定社交媒体和交互式信息发布平台为大众表达不同观点和态度提供了渠道,也为新闻发
布者获取公众反馈提供了便利。然而,个人攻击、网络谩骂、种族主义、反社会言论等是新闻评论管理所面临的突出问题。网络上的攻击性言论会对
使用者的心理健康产生极为负面的影响,很多人因此停止使用互联网的一些服务。快速检测网络上的攻击性话语成为了社会传播和自然语言处理的共
同任务,该任务主要面临两方面的挑战。自然语言处理与新闻传媒其一,网络上对攻击性话语的界定并不明晰。不同的网络社区对所发布内容的宽容
度也有所不同。在社会科学研究领域,这类话语往往被称为仇恨言论、亵渎性语言或贬低性话语。对自然语言处理研究来说,常常将之看作一个包含
不同类型的细粒度否定表达式的术语。如果仅通过表达方式确定其范围,否定表达的筛选并不难,但对一些模棱两可的隐喻和反讽的筛选就比较困难
了。近期的研究显示,融合个人属性和社交网络结构开展研究能显著提高判别水平。然而,如何有效区分一般语言与讽刺性/幽默性话语仍是待解决
的问题。自然语言处理与新闻传媒其二,随着时间的推移和主题的转移,会有新的攻击性话语产生。原来的话语情境和主题性质若发生变化,检测方
法学习的内容特征将随着时间的推移变得不相关。这一问题也存在于跨领域的攻击性话语检测中。跨领域检测方案在对抗性多任务学习方法方面有一
些实验性的成果。近年来,攻击性话语数据集方面已经有了很多的成果积累可用于分类模型的训练,如维基百科数据、推特数据等,但如何选择合适
的数据集进行分类器训练,以及如何收录新出现的攻击性话语,仍有待深入研究。自然语言处理与新闻传媒(5)情感计算情感计算,也被称为情绪
感知、意见挖掘,主要探究人们对新闻报道、热点话题、突发事件的情感倾向(积极、中性、消极等粗粒度划分,或喜、怒、哀、乐等细粒度划分)
,以及由此产生的对特定主题的态度(支持、观望、反对等)。态度反映认知,认知决定行动,探究社会传播中用户的情感意见,对于预测舆情趋势
有着重要价值。随着人工智能领域内研究者们的持续探索,基于自然用语言处理的情感分析框架已经日趋成熟,基本形成了两个步骤。自然语言处理
与新闻传媒一是“自顶向下”的情感编码技术。通过计算机的识别、理解及表达人的情感体验,形成通用的或目标主题适应的情感字典。研究内容包
括人工标注的情感字典、基于自然语言处理的个性化情感字典两种类型。目前,国际应用最广泛的人工情感字典有HowNet知网情感词典、台湾
大学简体中文情感极性词典(NYUSD)、英文词典库LIWC等。相比人工标注词典,基于自然语言处理的个性化情感字典能针对不同问题做出
调整,更具研究价值。同时,依赖于非文本信息的情感推理网络成为了一种新的情感编码方式,如用户与文本链接关系、文本与文本链接关系、用户
互动网络、用户社交网络等。研究者继而借助网络聚类与推理算法界定单个文本的情感性质,随后通过NLP技术辅助验证推理网络的有效性。自然
语言处理与新闻传媒二是“自底向上”的情感推理技术。情感推理技术可分为监督学习、半监督学习、无监督学习三种类型。三种分类技术都依赖于
NLP生成文本情感特征。基于自然语言处理的情感计算已经成为大数据时代新闻传播学领域的重要研究工具,被广泛应用于政治、经济、社会问
题的分析。它使得新闻事件中的发布者、传播者、评论者的情感能够得到精细化度量,辅助推动新闻传播学从经验性分析过渡到实证性分析。未来,
探索更为复杂的情感类别,并提升复杂类别下的情感划分准确度,是具有极大社会学意义的课题。自然语言处理与新闻传媒虽然人工智能研究领域的
自然语言处理研究已经相对丰富,但其在社会传播领域的应用仍局限于文本分析、情感归类、主题词提取等基础数据分析工作,两个领域的结合只是
基础、外围和浅层的。事实上,新闻传播学作为研究新闻信息阐释和互动关系的学科,与自然语言处理一样,都强调信息意义的建立和阐释。因此,
新闻传播学领域众多实证性或阐释性理论分析框架,有助于拓宽自然语言处理的应用领域,同时促进理论本身的发展。自然语言处理与新闻传媒1自
然语言处理工具目录自然语言处理概述2NLP的开发环境3NLP常用的处理工具包括编程语言和在线工具,包括R语言、Python、JAV
A等多种编程语言,以及腾讯、哈工大、百度等多种在线工具,重点介绍Python常见的自然语言处理库在自然语言处理中的应用。(1)RR
是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工
具。R在自然语言处理中的可以使用Snowball包对英文进行词干化处理,使用rmmseg4j包进行中文分词处理,以及使用tm包进行
文本挖掘处理等。常见的自然语言处理工具1. 编程语言(2)PythonPython语言以其清晰简洁的语法、易用和可扩展性以及丰富庞
大的库深受广大开发者喜爱。其内置的非常强大的机器学习代码库和数学库,使Python理所当然成为NLP的开发工具。同时Python是
开源且免费的,这意味着开发人员不需要花费资金即可进行开发。(3)JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种
优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编
程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。LingPipe是一个自然语言处理的Java开源
工具包。LingPipe目前已有很丰富的功能,包括主题分类、命名实体识别、词性标注、句题检测、查询拼写检查、兴趣短语检测、聚类、字
符语言建模、医学文献下载/解析/索引、数据库文本挖掘、中文分词、情感分析、语言辨别等API。常见的自然语言处理工具(1)腾讯腾讯云
自然语言处理,深度整合了腾讯内部(包括AI Lab、信息安全团队和知文团队等)顶级的NLP前沿技术,依托于海量中文语料累积,全面覆
盖了从基础到高级的智能文本处理能力。主要应用有,社交媒体上的用户言论,可以使用腾讯云NLP的情感分析接口,来做用户的情感倾向分析,
动态监测海量用户的舆情变化,为相关的舆情监控或内容社区的运营提供数据支持。新闻网站或App信息流,可以使用腾讯云NLP的敏感信息识
别接口,实时识别出是否含敏感信息,为文本数据的合法合规保驾护航,为流动信息的质量提供保障。银行、保险、证券、政务等领域,经常有大量
的文档需要投入人力进行整理、提炼和归档,可以使用腾讯云NLP的关键词提取和文本分类接口,快捷、高效地完成结构化抽取,有效辅助人工,
降低人力参与成本。常见的自然语言处理工具2. 在线工具(2)哈工大语言技术平台(Language Technology Platf
orm,LTP)是哈工大社会计算与信息检索研究中心历时十年开发的一整套中文语言处理系统。LTP制定了基于XML的语言处理结果表示,
并在此基础上提供了一整套自底向上的丰富而且高效的中文语言处理模块(包括词法、句法、语义等6项中文处理核心技术),以及基于动态链接库
(Dynamic Link Library, DLL)的应用程序接口,可视化工具,依存树库等语料资源,并且能够以网络服务(Web
Service)的形式进行使用。从2006年9月5日开始该平台对外免费共享目标代码,截止目前,已经有国内外400多家研究单位共享了
LTP,也有国内外多家商业公司购买了LTP,用于实际的商业项目中。2010年12月获得中国中文信息学会颁发的行业最高奖项:"钱伟长
中文信息处理科学技术奖"一等奖。2011年6月1日,为了与业界同行共同研究和开发中文信息处理核心技术,正式将LTP的源代码对外共享
,LTP由C++语言开发,可运行于Windows和Linux操作系统。常见的自然语言处理工具(3)百度百度也可用于自然语言处理,百
度自然语言处理技术包括语言处理基础技术和语言处理应用技术。语言处理基础技术包括,词法分析、词法分析(定制版)、词向量表示、词义相似
度、短文本相似度、依存句法分析、DNN语言模型。语言处理应用技术包括,情感倾向分析、情感倾向分析(定制版)、评论观点抽取、评论观点
抽取(定制版)、对话情绪识别、文本纠错、文章分类、文章标签。常见的自然语言处理工具Python中常见的自然语言处理库,如表所示。P
ython与自然语言处理Python中常见的自然语言处理库,如表所示。Python与自然语言处理1自然语言处理工具目录自然语言处理
概述2NLP的开发环境3采用Python进行NLP是再好不过的选择。这种强大的编程软件对初学者来说往往会遇到设置环境变量的困扰,为
此推荐已经集成了Python开发环境且自带了多种常用数据科学库的软件Anaconda。Anaconda是一个开源的Python发行
版本,其包含了conda、Python等180多个科学包及其依赖项。Anaconda可以应用于多种系统,不管是Windows、Li
nux还是Mac OS X,都可以找到对应系统类型的版本。Anaconda可以同时管理不同版本的Python环境,包括Python
2和Python 3两个版本。本书推荐使用Python 3版本,因为Python 2已停止更新维护,并且本书中所有的程序代码都是
基于Python 3版本进行编写的。Anaconda安装在Windows环境下,Anaconda的安装比较简单。安装按照默认选项进
行安装,在选择完路径后,可勾选所示的“Add Anaconda3 to the system PATH environment v
ariable”(添加Anaconda至系统环境变量路径中)复选项,如图所示。勾选此选项的好处是方便后续创建多种版本的Python
,坏处是可能会影响到其他程序的使用。Anaconda安装Anaconda安装完成后在开始菜单栏中会出现几个应用,分别为Anacon
da Navigtor、Anaconda Prompt、Jupyter Notebook和Spyder。Anaconda Navi
gator是Anaconda发行包中包含的桌面图形界面,可以在不需要使用命令的条件下,方便的启动应用程序,管理conda包、环境和
频道。单击Anaconda Navigator后会启动网页,网页上会出现CMD.exe Prompt、JupyterLab、Jup
yter Notebook、Powershell Prompt、Qt Console、Spyder、Glueviz、Orange
3、RStudio等应用。Anaconda应用介绍1. Anaconda NavigatorAnaconda Prompt相当于命
令提示符CMD,与CMD不同的是Prompt已经配置好环境变量。初次安装Anaconda的包一般比较旧,为了避免之后使用报错,可以
先单击Anaconda Prompt,然后输入“conda update –all”命令,更新所有包的版本,在提示是否更新的时候输
入“y”(即Yes),然后等待更新完成即可。(1)创建NLP的虚拟环境在开发过程中,很多时候不同的项目会需要用的不同版本的包,甚至
是不同版本的Python,使用虚拟环境即可轻松解决这些问题。虚拟环境通过创建一个全新的Python开发环境,从而实现不同项目间的隔
离。打开Anaconda Prompt后,可以利用Anaconda自带的conda包管理不同的Python环境。刚开始学习NLP的
读者,可以利用conda包创建一个自然处理的虚拟环境。先查看Python版本,然后创建一个名为“NLP”的虚拟环境,并且指定Pyt
hon版本。Anaconda应用介绍2. Anaconda Prompt(2)进入NLP虚拟环境创建虚拟环境完成之后,使用acti
vate命令进入这个虚拟环境,并在NLP虚拟环境中查看配置的编译环境信息,创建NLP虚拟环境的结果如图所示。图中展示了刚创建的NL
P虚拟环境的所在路径,路径显示该环境位于Anaconda安装路径下的envs文件夹中。在刚创建好的虚拟环境中,除了Python自带
的包之外,没有其他的包。Anaconda应用介绍(3)在NLP虚拟环境中安装或卸载程序包在学习过程,可以根据需要安装不同的程序包。
可通过pip命令或者conda命令两种方式安装程序包,即“pip install package_name”和“conda ins
tall package_name”,其中“package_name”是指程序包的名称。在虚拟环境中,“pip install”只
是安装需要安装的那个包本身,而“conda install”除了安装需要安装的包,还会自动安装这个包的依赖。(4)退出编译环境(5
)删除环境Anaconda能够管理不同环境下的包,使其在不同环境下互不影响。在NLP的学习过程中,会使用到很多的程序包,Anaco
nda的这种功能无疑为我们的学习提供了很大的便利。Anaconda应用介绍Jupyter Notebook是一个在浏览器中使用的交互式的代码编辑器,可以将代码、文字结合起来,它的受众群体大多数是一些从事数据科学领域相关(机器学习、数据分析等)的人员。打开Jupyter Notebook有三种方式。第一种是直接在开始菜单栏中单击Anaconda下的Jupyter Notebook;第二种是在Anaconda Prompt中输入“jupyter notebook”,浏览器就会自动打开并且显示当前的目录;Anaconda应用介绍3. Jupyter Notebook第三种方式为首先进入某个文件夹,然后按住“Shift”键并单击鼠标右键,在新窗口中单击“在此处打开Powershell窗口”,如图所示,这时会弹出命令窗口,接着输入“jupyter notebook”即可。Anaconda应用介绍Spyder是一款囊括了代码编辑器、编译器、调试器和图形用户界面工具的集成开发环境(简称IDE),与Jupyter Notebook一样是用于编写代码的IDE工具。为了方便读者进行编写或修改代码,本书的代码使用Spyder进行编写和调试。Spyder界面如图所示。Anaconda应用介绍4. Spyder由上图所示的标注,Spyder界面可分为菜单栏、查看栏、输出栏、状态栏及工作区,菜单栏下一栏被称为工具栏。各个区域的工作范围介绍如下。菜单栏:放置所有功能和命令。工具栏:放置快捷菜单并可通过菜单栏View的Toolbars复选框勾选。工作区:编写代码的地方。查看栏:查看文件、调试时的对象及变量。输出栏:查看程序的输出信息并可作为shell终端输入Python语句。状态栏:用于显示当前文件权限、编码,光标指向位置和系统内存。Anaconda应用介绍菜单栏的常用命令与说明如表所示。Anaconda应用介绍本章主要介绍一些与NLP相关的基础知识和基本概念。首先介绍了NLP的基本概念以及发展历程;其次讲解了NLP的常用处理工具,重点介绍了Python在自然语言处理的硬要用;最后介绍了NLP的基本流程和开发环境的创建。小结相关的实训、课程视频等资源:https://edu.tipdm.org相关的培训动态:http://www.tipdm.com/pxdt/index.jhtml
献花(0)
+1
(本文系籽油荃面原创)