自然语言处理入门
自然语言处理(NLP)如今发展得火热,但其实它应用领域还存在着很多不成熟的技术。作为一块刚刚挖掘不久的宝矿,自然语言处理还有着无限的前景等着我们去开发。本文碍于篇幅的限制,就不带大家深入钻研自然语言处理技术了,下面一起来初步入门自然语言处理的学习吧!
一、初步认识自然语言处理
举个生活中的例子,帮助大家入门自然语言处理。小时候语文课上,老师会教我们看图说话,会教给我们阅读理解,还会教给我们通过指定题目写出一篇作文。后来我们长大了,还需要学习说话的艺术,例如怎样从一天的会议中精准提取老板布置的任务,如何有针对性回答客户的问题等等。原来,我们这一生都需要通过“自然语言”进行理解、思考和表达。
所谓自然语言,呈现形式无非就是文字和语音。所谓处理,也就是思考的过程。就比如教给计算机如何看图说话、阅读理解、写一篇高考作文,甚至像前段时间出现的作诗机器人。我们知道,在人类的交谈过程中,总是往复循环着两个过程。一个过程是听到并去理解对方说的话,另一个过程是清晰地表达自己的想法给对方。同理,在广义上,我们会把自然语言处理分成两个类别,一个叫自然语言理解,来让机器理解人类在跟它说什么;另一部分叫自然语言生成,让机器懂得如何告诉人类它自己的想法。
二、自然语言处理的实际应用
1> 自然语言理解:就是希望机器可以具备正常人的语言理解能力。例如,我们邮箱里都具备的垃圾邮件过滤功能。比如我们今天的分类项目,就是通过对用户评论的理解来分出好评和差评,这就类似将邮件分成是“垃圾邮件”和“不是垃圾邮件“。
2> 自然语言生成:就是希望机器可以将自己的想法转化成人类能看懂的语言。例如前段时间大热的”作诗机器人“,就是一个十分典型的自然语言生成应用。
3> 自然语言理解和自然语言生成结合:例如各大网站上都渐渐出现了的机器人客服,可以回答一些简单设置的问题。还有现在很火的智能机器人,小度、小爱同学以及很早就被网友玩坏了的Siri。
三、自然语言处理的任务细分
1> 词级别的任务
A.分词:例如,把“我爱自然语言处理”分成“我/爱/自然/语言/处理”
B.词性标注:把分词后的每个词标注上词性。
C.命名实体识别:识别出一句话中的实体,例如:“小明得了流感”中会识别出“小明”和“流感”。
2> 句级别的任务
A.下一句话预测:例如,给出“我今天请假了”,预测下一句可能是“因为我得了流感”。
B.问答系统
C.机器翻译。
3> 文本级别的任务
A.文本分类:例如,这本书是属于惊悚呢还是都市爱情呢?
B.文本摘要:例如,给定一篇文章,生成简要总结
C.文本相似度:例如,两篇文章的主题是不是类似?
一个简简单单的写诗机器人,也许就会用到分词、词性标注、分类、下句话预测等等各项模块。听上去好像很复杂,不过那些研究怎么分词,怎么标注都是科学家语言学家做的事情。如果我们只是想做一个项目,目前世面上已经有了很多库可以供我们直接使用~