"greenestcity"inEuropewith35,000acresofpublicparks,woodlandsandgardens -notthecapitalofEngland,asEnglanddoesnothaveitsowngovernment
现在事情正在变得更加趣了!这是我们自动收集的大量信息。
要获得额外的支持,请尝试安装 neuralcoref 库,并将 Coreference 解析添加到流水线中。这会让你得到更多的事实,因为它会抓住谈论「it」而不是直接提及「London」的句子。
我们还能做些什么呢?
通过浏览 spaCy 文档和 textacy 文档,你可以看到许多可以用解析文本处理的示例。到目前为止,我们看到的只是一个小型示例。
下面是另一个实际例子:假设你正在构建一个网站,让用户使用最后一个例子中提取的信息查看世界上每一个城市的信息。
如果你在网站上有一个搜索功能,那么可以自动完成像谷歌这样的普通搜索查询:
Google‘s autocomplete suggestions for「London」
谷歌对「London」的自我完善的建议
但是要做到这一点,我们需要一个可能的完善建议的列表来向用户提出建议。我们可以使用 NLP 来快速生成这些数据。
下面是从文档中提取频繁提到的名词块的一种方法:
importspacy importtextacy.extract #LoadthelargeEnglishNLPmodel nlp=spacy.load('en_core_web_lg') #Thetextwewanttoexamine text="""Londonis[..shortenedforspace..]""" #ParsethedocumentwithspaCy doc=nlp(text) #Extractnounchunksthatappear noun_chunks=textacy.extract.noun_chunks(doc,min_freq=3) #Convertnounchunkstolowercasestrings noun_chunks=map(str,noun_chunks) noun_chunks=map(str.lower,noun_chunks) #Printoutanynounsthatareatleast2wordslong fornoun_chunkinset(noun_chunks): iflen(noun_chunk.split(""))>1: print(noun_chunk)
如果你在伦敦维基百科的文章上运行,你会得到这样的输出:
westminsterabbey naturalhistorymuseum westend eastend stpaul'scathedral royalalberthall londonunderground greatfire britishmuseum londoneye ....etc....
深入探讨
这只是一个微小的尝试,让你去理解可以用 NLP 做什么。在以后的文章中,我们将讨论 NLP 的其他应用,如文本分类以及 Amazon Alexa 等系统如何解析问题。
但在此之前,先安装 spaCy(https://spacy.io/)并开始去使用它!可能你不是一个 Python 用户,也可能你最终使用是一个不同的 NLP 库,但这些想法都应该是大致相同。
原文链接:https://medium.com/@ageitgey/natural-language-processing-is-fun-9a0bff37854e
相关数据
深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。
来源:LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature, 521(7553), 436.