《自然语言处理NLP快速入门.docx》由会员分享,可在线阅读,更多相关《自然语言处理NLP快速入门.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、自然语言处理NLP快速入门计算机非常擅长处理标准化以及构造化的数据如数据库表以及财务记录。他们可以比我们人类更快地处理这些数据。但我们人类不使用“构造化数据进展沟通也不会讲二进制语言我们用文字进展沟通这是一种非构造化数据。不幸的是计算机很难处理非构造化数据因为没有标准化的技术来处理它。当我们使用c、java或者python之类的语言对计算机进展编程时我们实际上是给计算机一组它应该操作的规那么。对于非构造化数据这些规那么是非常抽象以及具有挑战性的详细定义。人与计算机对语言的理解人类写东西已经有几千年度了。在这段时间里我们的大脑在理解自然语言方面获得了大量的经历。当我们在一张纸上或者互联网上的bo
2、ke上读到一些东西时我们就会明白它在现实世界中的真正含义。我们感受到了浏览这些东西所引发的情感我们经常想象现实生活中那东西会是什么样子。自然语言处理(NLP)是人工智能的一个子领域致力于使计算机可以理解以及处理人类语言使计算机更接近于人类对语言的理解。计算机对自然语言的直观理解还不如人类他们不能真正理解语言到底想讲什么。简而言之计算机不能在字里行间浏览。尽管如此机器学习(ML)的最新进展使计算机可以用自然语言做很多有用的事情深度学习使我们可以编写程序来执行诸如语言翻译、语义理解以及文本摘要等工作。所有这些都增加了现实世界的价值使得你可以轻松地理解以及执行大型文本块上的计算而无需手工操作。让我们
3、从一个关于NLP怎样在概念上工作的快速入门开场。之后我们将深化研究一些python代码这样你就可以自己开场使用NLP了NLP难的真正原因浏览以及理解语言的经过比乍一看要复杂得多。要真正理解一段文字在现实世界中意味着什么有很多事情要做。例如你认为下面这段文字意味着什么 “StephCurrywasonfirelastnice.Hetotallydestroyedtheotherteam对一个人来讲这句话的意思很明显。我们知道StephCurry是一名篮球运发动即使你不知道我们也知道他在某种球队可能是一支运动队。当我们看到“着火以及“消灭时我们知道这意味着StephCurry昨晚踢得很好击败了另一
4、支球队。计算机往往把事情看得太过字面意思。从字面上看我们会看到“StephCurry并根据大写假设它是一个人一个地方或者其他重要的东西。但后来我们看到StephCurry“着火了电脑可能会告诉你昨天有人把StephCurry点上了火哎呀。在那之后电脑可能会讲,curry已经摧毁了另一支球队它们不再存在伟大的StephCurry真的着火了但并不是机器所做的一切都是残酷的感谢机器学习我们实际上可以做一些非常聪明的事情来快速地从自然语言中提取以及理解信息让我们看看怎样在几行代码中使用几个简单的python库来实现这一点。使用Python代码解决NLP问题为了解析NLP是怎样工作的我们将使用Wikip
5、edia中的以下文本作为我们的运行例如Amazon,Inc.,doingbusinessasAmazon,isanAmericanelectroniccommerceandcloudcomputingcompanybasedinSeattle,Washington,thatwasfoundedbyJeffBezosonJuly5,1994.ThetechgiantisthelargestInternetretailerintheworldasmeasuredbyrevenueandmarketcapitalization,andsecondlargestafterAlibabaGroupint
6、ermsoftotalsales.Theamazonwebsitestartedasanonlinebookstoreandlaterdiversifiedtosellvideodownloads/streaming,MP3downloads/streaming,audiobookdownloads/streaming,software,videogames,electronics,apparel,furniture,food,toys,andjewelry.ThecompanyalsoproducesconsumerelectronicsKindlee-readers,Firetablets
7、,FireTV,andEchoandistheworldslargestproviderofcloudinfrastructureservices(IaaSandPaaS).Amazonalsosellscertainlow-endproductsunderitsin-housebrandAmazonBasics.几个需要的库首先我们将安装一些有用的pythonNLP库这些库将帮助我们分析本文。#InstallingspaCy,generalPythonNLPlibpip3installspacy#DownloadingtheEnglishdictionarymodelforspaCypyth
8、on3-mspacydownloaden_core_web_lg#Installingtextacy,basicallyausefuladd-ontospaCypip3installtextacy实体分析如今所有的东西都安装好了我们可以对文本进展快速的实体分析。实体分析将遍历文本并确定文本中所有重要的词或者“实体。当我们讲“重要时我们真正指的是具有某种真实世界语义意义或者意义的单词。请查看下面的代码它为我们进展了所有的实体分析#coding:utf-8importspacy#LoadspaCysEnglishNLPmodelnlpspacy.load(en_core_web_lg)#Thete
9、xtwewanttoexaminetextAmazon,Inc.,doingbusinessasAmazon,isanAmericanelectroniccommerceandcloudcomputingcompanybasedinSeattle,Washington,thatwasfoundedbyJeffBezosonJuly5,1994.ThetechgiantisthelargestInternetretailerintheworldasmeasuredbyrevenueandmarketcapitalization,andsecondlargestafterAlibabaGroupi
10、ntermsoftotalsales.Twebsitestartedasanonlinebookstoreandlaterdiversifiedtosellvideodownloads/streaming,MP3downloads/streaming,audiobookdownloads/streaming,software,videogames,electronics,apparel,furniture,food,toys,andjewelry.Thecompanyalsoproducesconsumerelectronics-Kindlee-readers,Firetablets,Fire
11、TV,andEcho-andistheworldslargestproviderofcloudinfrastructureservices(IaaSandPaaS).Amazonalsosellscertainlow-endproductsunderitsin-housebrandAmazonBasics.#ParsethetextwithspaCy#Ourdocumentvariablenowcontainsaparsedversionoftext.documentnlp(text)#printoutallthenamedentitiesthatweredetectedforentityin
12、document.ents:print(entity.text,entity.label_)我们首先加载spaCyslearnedML模型并初始化想要处理的文本。我们在文本上运行ML模型来提取实体。当运行taht代码时你将得到以下输出Amazon,Inc.ORGAmazonORGAmericanNORPSeattleGPEWashingtonGPEJeffBezosPERSONJuly5,1994DATEsecondORDINALAlibabaGroupORGamazonORGFireTVORGEcho-LOCPaaSORGAmazonORGAmazonBasicsORG文本旁边的3个字母代码
13、1是标签表示我们正在查看的实体的类型。看来我们的模型干得不错JeffBezos确实是一个人日期是正确的亚马逊是一个组织西雅图以及华盛顿都是地缘政治实体(即国家、城市、州等)。唯一棘手的问题是FireTV以及Echo之类的东西实际上是产品而不是组织。然而模型错过了亚马逊销售的其他产品“视频下载/流媒体、mp3下载/流媒体、有声读物下载/流媒体、软件、视频游戏、电子产品、服装、家具、食品、玩具以及珠宝可能是因为它们在一个庞大的的列表中因此看起来相对不重要。总的来讲我们的模型已经完成了我们想要的。想象一下我们有一个宏大的文档里面满是几百页的文本这个NLP模型可以快速地让你解析文档的内容和文档中的关键
14、实体是什么。对实体进展操作让我们尝试做一些更适用的事情。假设你有与上面一样的文本块但出于隐私考虑你祈望自动删除所有人员以及组织的名称。spaCy库有一个非常有用的去除函数我们可以使用它来去除任何我们不想看到的实体类别。如下所示#coding:utf-8importspacy#LoadspaCysEnglishNLPmodelnlpspacy.load(en_core_web_lg)#ThetextwewanttoexaminetextAmazon,Inc.,doingbusinessasAmazon,isanAmericanelectroniccommerceandcloudcomputing
15、companybasedinSeattle,Washington,thatwasfoundedbyJeffBezosonJuly5,1994.ThetechgiantisthelargestInternetretailerintheworldasmeasuredbyrevenueandmarketcapitalization,andsecondlargestafterAlibabaGroupintermsoftotalsales.Theamazonwebsitestartedasanonlinebookstoreandlaterdiversifiedtosellvideodownloads/s
16、treaming,MP3downloads/streaming,audiobookdownloads/streaming,software,videogames,electronics,apparel,furniture,food,toys,andjewelry.Thecompanyalsoproducesconsumerelectronics-Kindlee-readers,Firetablets,FireTV,andEcho-andistheworldslargestproviderofcloudinfrastructureservices(IaaSandPaaS).Amazonalsos
17、ellscertainlow-endproductsunderitsin-housebrandAmazonBasics.#ReplaceaspecificentitywiththewordPRIVATEdefreplace_entity_with_placeholder(token):iftoken.ent_iob!0and(token.ent_type_PERSONortoken.ent_type_ORG):returnPRIVATEelse:returntoken.string#Loopthroughalltheentitiesinapieceoftextandapplyentityrep
18、lacementdefscrub(text):docnlp(text)forentindoc.ents:ent.merge()tokensmap(replace_entity_with_placeholder,doc)return.join(tokens)print(scrub(text)效果很好这实际上是一种非常强大的技术。人们总是在计算机上使用ctrlf函数来查找以及交换文档中的单词。但是使用NLP我们可以找到以及交换特定的实体考虑到它们的语义意义而不仅仅是它们的原始文本。从文本中提取信息我们之前安装的textacy库在spaCy的根底上实现了几种常见的NLP信息提取算法。它会让我们做一些
19、比简单的开箱即用的事情更先进的事情。它实现的算法之一是半构造化语句提取。这个算法从本质上分析了spaCy的NLP模型可以提取的一些信息并在此根底上获取一些关于某些实体的更详细的信息简而言之我们可以提取关于我们选择的实体的某些“事实。让我们看看代码中是什么样子的。对于这一篇我们将把华盛顿特区维基百科页面的全部摘要都拿出来。#coding:utf-8importspacyimporttextacy.extract#LoadspaCysEnglishNLPmodelnlpspacy.load(en_core_web_lg)#ThetextwewanttoexaminetextWashington,D
20、.C.,formallytheDistrictofColumbiaandcommonlyreferredtoasWashingtonorD.C.,isthecapitaloftheUnitedStatesofAmerica.4FoundedaftertheAmericanRevolutionastheseatofgovernmentofthenewlyindependentcountry,WashingtonwasnamedafterGeorgeWashington,firstPresidentoftheUnitedStatesandFoundingFather.5Washingtonisth
21、eprincipalcityoftheWashingtonmetropolitanarea,whichhasapopulationof6,131,977.6AstheseatoftheUnitedStatesfederalgovernmentandseveralinternationalorganizations,thecityisanimportantworldpoliticalcapital.7Washingtonisoneofthemostvisitedcitiesintheworld,withmorethan20millionannualtourists.89Thesigningoft
22、heResidenceActonJuly16,1790,approvedthecreationofacapitaldistrictlocatedalongthePotomacRiveronthecountrysEastCoast.TheU.S.ConstitutionprovidedforafederaldistrictundertheexclusivejurisdictionoftheCongressandtheDistrictisthereforenotapartofanystate.ThestatesofMarylandandVirginiaeachdonatedlandtoformth
23、efederaldistrict,whichincludedthepre-existingsettlementsofGeorgetownandAlexandria.NamedinhonorofPresidentGeorgeWashington,theCityofWashingtonwasfoundedin1791toserveasthenewnationalcapital.In1846,CongressreturnedthelandoriginallycededbyVirginia;in1871,itcreatedasinglemunicipalgovernmentfortheremainin
24、gportionoftheDistrict.Washingtonhadanestimatedpopulationof693,972asofJuly2017,makingitthe20thlargestAmericancitybypopulation.CommutersfromthesurroundingMarylandandVirginiasuburbsraisethecitysdaytimepopulationtomorethanonemillionduringtheworkweek.TheWashingtonmetropolitanarea,ofwhichtheDistrictisthep
25、rincipalcity,hasapopulationofover6million,thesixth-largestmetropolitanstatisticalareainthecountry.AllthreebranchesoftheU.S.federalgovernmentarecenteredintheDistrict:U.S.Congress(legislative),President(executive),andtheU.S.SupremeCourt(judicial).Washingtonishometomanynationalmonumentsandmuseums,which
26、areprimarilysituatedonoraroundtheNationalMall.Thecityhosts177foreignembassiesaswellastheheadquartersofmanyinternationalorganizations,tradeunions,non-profit,lobbyinggroups,andprofessionalassociations,includingtheOrganizationofAmericanStates,AARP,theNationalGeographicSociety,theHumanRightsCampaign,the
27、InternationalFinanceCorporation,andtheAmericanRedCross.Alocallyelectedmayoranda13membercouncilhavegovernedtheDistrictsince1973.However,Congressmaintainssupremeauthorityoverthecityandmayoverturnlocallaws.D.C.residentselectanon-voting,at-largecongressionaldelegatetotheHouseofRepresentatives,buttheDist
28、ricthasnorepresentationintheSenate.TheDistrictreceivesthreeelectoralvotesinpresidentialelectionsaspermittedbytheTwenty-thirdAmendmenttotheUnitedStatesConstitution,ratifiedin1961.#ParsethetextwithspaCy#Ourdocumentvariablenowcontainsaparsedversionoftext.documentnlp(text)#Extractingsemi-structuredstate
29、mentsstatementstextacy.extract.semistructured_statements(document,Washington)print(*InformationfromWashingtonsWikipediapage*)count1forstatementinstatements:subject,verb,factstatementprint(str(count)-Statement:,statement)print(str(count)-Fact:,fact)count1我们的NLP模型从这篇文章中发现了关于华盛顿特区的三个有用的事实 (1)华盛顿是美国的首都 (2)华盛顿的人口和它是大都会的事实 (3)许多国家纪念碑以及博物馆最好的局部是这些都是这一段文字中最重要的信息原文发布时间为2018-10-8本文Xiaowen本文来自云栖社区合作伙伴“专知解析相关信息可以关注“。