自然语言处理(NLP)如今发展得火热,但其实它应用领域还存在着很多不成熟的技术。作为一块刚刚挖掘不久的宝矿,自然语言处理还有着无限的前景等着我们去开发。本文碍于篇幅的限制,就不带大家深入钻研自然语言处理技术了,下面一起来初步入门自然语言处理的学习吧!
在这里插入图片描述

自然语言处理入门

1、初步认识自然语言处理

举个生活中的例子,帮助大家入门自然语言处理。小时候语文课上,老师会教我们看图说话,会教给我们阅读理解,还会教给我们通过指定题目写出一篇作文。后来我们长大了,还需要学习说话的艺术,例如怎样从一天的会议中精准提取老板布置的任务,如何有针对性回答客户的问题等等。原来,我们这一生都需要通过“自然语言”进行理解、思考和表达。

所谓自然语言,呈现形式无非就是文字和语音。所谓处理,也就是思考的过程。就比如教给计算机如何看图说话、阅读理解、写一篇高考作文,甚至像前段时间出现的作诗机器人。我们知道,在人类的交谈过程中,总是往复循环着两个过程。一个过程是听到并去理解对方说的话,另一个过程是清晰地表达自己的想法给对方。同理,在广义上,我们会把自然语言处理分成两个类别,一个叫自然语言理解,来让机器理解人类在跟它说什么;另一部分叫自然语言生成,让机器懂得如何告诉人类它自己的想法。

2、自然语言处理的实际应用

(1)自然语言理解:就是希望机器可以具备正常人的语言理解能力。例如,我们邮箱里都具备的垃圾邮件过滤功能。比如我们今天的分类项目,就是通过对用户评论的理解来分出好评和差评,这就类似将邮件分成是“垃圾邮件”和“不是垃圾邮件“。

(2)自然语言生成:就是希望机器可以将自己的想法转化成人类能看懂的语言。例如前段时间大热的”作诗机器人“,就是一个十分典型的自然语言生成应用。

(3)自然语言理解和自然语言生成结合:例如各大网站上都渐渐出现了的机器人客服,可以回答一些简单设置的问题。还有现在很火的智能机器人,小度、小爱同学以及很早就被网友玩坏了的Siri。

3、自然语言处理的任务细分

现在我们理解了自然语言处理广义上的两大类。但是我们知道,类似一栋房子的搭建不仅由一类团队的人完成。需要有设计团队,有采购团队,还得有建筑工人。所以,我们这两大类别的每个模块,也都是由很多子领域的人一起努力创造出来的。目前这个分类其实业内并不统一,分类标准也是五花八门。所以我们只需要宏观来感受一下,每一个应用的背后都会有哪些团队的人在努力着。

(1)词级别的任务

A.分词:例如,把“我爱自然语言处理”分成“我/爱/自然/语言/处理”

B.词性标注:把分词后的每个词标注上词性。

C.命名实体识别:识别出一句话中的实体,例如:“小明得了流感”中会识别出“小明”和“流感”。

(2)句级别的任务

A.下一句话预测:例如,给出“我今天请假了”,预测下一句可能是“因为我得了流感”。

B.问答系统。

C.机器翻译。

(3)文本级别的任务

A.文本分类:例如,这本书是属于惊悚呢还是都市爱情呢?

B.文本摘要:例如,给定一篇文章,生成简要总结。

C.文本相似度:例如,两篇文章的主题是不是类似?

一个简简单单的写诗机器人,也许就会用到分词、词性标注、分类、下句话预测等等各项模块。听上去好像很复杂,不过那些研究怎么分词,怎么标注都是科学家语言学家做的事情。如果我们只是想做一个项目,目前世面上已经有了很多库可以供我们直接使用~

到现在,自然语言处理的基础内容认识得差不多了,大家也算是初步入门了。对自然语言处理感兴趣的朋友,可以在博学谷继续深入学习相关课程~

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐