写在前面
如果单从NLP缩写包含很多方面:
有数学的非线性规划(Non-linear programming)
医学的无光感(No light perception)
心理学的神经语音规划(Neuro-linguistic programming)
计算机科学与语言学转换的领域(natural language processing)
这里指的是计算机科学与语言学转换的领域。(NLP)是人工智能和语言学领域的分支学科。(人工智能主要包含以下几个方面:自动推理-计算语言学-计算机视觉-进化计算-专家系统-自然语言处理-机器人学)自然语言处理(NLP)是信息时代最重要的技术之一。理解复杂的语言也是人工智能的重要组成部分。NLP的应用无处不在,因为人们用语言进行大部分沟通:网络搜索,广告,电子邮件,客户服务,语言翻译,发布学报告等等。NLP应用背后有大量的基础任务和机器学习模型。
什么是自然语言处理
NLP是计算机以一种聪明而有用的方式分析,理解和从人类语言中获取意义的一种方式。通过利用NLP,开发者可以组织和构建知识来执行自动摘要,翻译,命名实体识别,关系提取,情感分析,语音识别和话题分割等任务。
自然语言处理如何工作
目前NLP的方法是基于深度学习,这是一种AI,它检查和使用数据中的模式来改善程序的理解。深度学习模型需要大量的标记数据来训练和识别相关的相关性,汇集这种大数据集是当前NLP的主要障碍之一。早期的NLP方法涉及更基于规则的方法,在这种方法中,简单的机器学习算法被告知要在文本中查找哪些单词和短语,并在这些短语出现时给出特定的响应。但深度学习是一个更灵活,直观的方法,在这个方法中,算法学会从许多例子中识别说话者的意图,就像孩子如何学习人类语言一样。
自然语言应用
NLP算法通常基于机器学习算法。NLP可以依靠机器学习来自动学习这些规则,而不是手工编码大量的规则集,通过分析一系列的例子(如,一个大的数据库,像一本书,直到一堆句子的集合),并且做一个静态的推论。一般来说,分析的数据越多,模型越精确。社交媒体分析是NLP使用的一个很好的例子。品牌在线跟踪对话以了解客户的意见,并洞悉用户行为。
开源的NLP库
Apache OpenNLP:一种机器学习工具包,提供标记器,句子分段,词性标注,命名实体提取,分块,解析,共参考解析等等。
自然语言工具包(NLTK):提供用于处理文本,分类,标记化,词法分析,标记,解析等模块的Python库。
斯坦福的NLP:一套NLP工具,提供词性标注,命名实体识别器,共识解析系统,情感分析等等。
视频资料查找
斯坦福大学NLP - Dan Jurafsky&Chris Manning教授
自然语言处理- 密歇根大学 (IIT Bombay计算机科学与工程系Pushpak Bhattacharyya教授的自然语言处理)
自然语言理解:基础和艺术西蒙斯学院
自然语言处理导论- 剑桥编码学院
处理的主要范畴
文本朗读(Text to speech)/语音合成(Speech synthesis)
语音识别(Speech recognition)
中文自动分词(Chinese word segmentation)
词性标注(Part-of-speech tagging)
句法分析(Parsing)
自然语言生成(Natural language generation)
文本分类(Text categorization)
信息检索(Information retrieval)
信息抽取(Information extraction)
文字校对(Text-proofing)
问答系统(Question answering)
机器翻译(Machine translation)
自动摘要(Automatic summarization)
文字蕴涵(Textual entailment)
使用NLP构建您自己的RSS阅读器
可以使用以下算法在30分钟内构建机器学习RSS阅读器:
ScrapeRSS从RSS提要中获取标题和内容;
Html2Text保留重要的文本,但从文档中去除所有的HTML;
AutoTag使用潜在的Dirichlet分配来识别文本中的相关关键字;
情感分析然后用来确定文章是积极的,消极的还是中立的;
Summarizer终于被用来识别关键句子。
本文参考资料
Wikipedia
The Stanford NLP Group
Coursera
Matt Kiser
Margaret Rouse
领取专属 10元无门槛券
私享最新 技术干货