NLP的迷局
NLP这个缩写,其实可以指好几种东西,不过本文主要指的是目前比较火的Natural Language Processing,也就是自然语言处理。说的复杂一点,自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。说的简单一些,就是让计算机理解人类语言的含义,并且可以生成人类语言来交流(是的!你们喜爱的siri女神)。这个解释不见得百分百准确,但是更容易理解一些。这样大家也就明白为什么这个东西和人工智能也沾边了,因为本来就是人工智能不可分割的一部分。
但是NLP最终应用在哪些地方了呢?以前为啥大家都对这个东西感觉好像没啥用呢?主要原因就是因为NLP的基本核心功能单独使用是没有太大实际价值的。自然语言处理的基本处理方法包括以下这些:
文本分词
词性分析
实体识别和提取
依存文法分析
文本分类
词联想
综上所述,你觉得有啥用?我给你下面这样一张词云图,如果不解释的话你会觉得很有用么?
通常来说是不会的,因为这张图你只会觉得看起来挺有意思的,却无法直接分析出来什么。简单形容就是以上那些功能就像厨具,需要有机的和原材料(文本)结合在一起,通过具体的操作(应用场景和流程)才能做出来菜(最终的成果)。这么来说的话,那最总体现在客户面前的就是菜了,客户本身就是为了这道菜买单的。
那这道菜到底是什么呢?我来组合一下,只给客户吃一道菜,大家都懂的,客户并不会轻易满足的,一道菜根本不值几个钱,想卖出高价除非有特别的内涵在里面,大多数公司都没有这么强大的技术壁垒。所以我们要学西餐,翠花!上套餐!
头盘:大段文本的各种“词分析”端上来!客户来了,必须先吃点东西开开胃,就像蔬菜沙拉一样,先眼花缭乱的来一通尝尝。
为了保证您的营养健康,我们选择了各种颜色的“蔬菜”,保障营养(装13)。为什么头盘要上这些呢?因为这些都是我所说的基本型功能,这是基础,一个NLP系统有了这些之后才好做更复杂的处理。对很多系统来说,这些可视化图表也是基本的展示方法。当然,这是头盘,开开胃,下面上汤品!
也许你觉得这些图看起来没什么,好像也不复杂,就像用番茄做的西式清汤,看起来就是一碗半透明的水(不是打成糊的,是自然静置过滤出来的番茄汁,半透明液体,如果不知道可以参见经典美食纪录片《杰米私房菜-番茄篇》)。但是制作是相当费工夫的,调料也不少,这些表面背后的功夫,只有料理人才知道,就像开水白菜这个梗一样。扯远了,言归正传,举个栗子吧,情感分析看起来是个没什么大不了的功能,但是每个行业的情感分析都千差万别,甚至同行业也要根据不同的产品或者类型细分。虽然这只是个分类器的作用,但是若不经过大量数据做深度学习训练,此外数据还得清洗到一定质量,避免噪声干扰,否则很难训练处准确率足够高的模型。新闻摘要等功能也是包含了很多高级的算法在里面,并不仅仅是删减。
OK!接下来我们不要副菜了,直接上主菜!有请文本挖掘的高级版,知识图谱出场!Oh~等等,我们还是要先讲一下文本挖掘,文本只是一大堆没啥用的字符串,也就是没有直接价值的非结构化数据。但是我们人类理解的时候,通常是脑内把一段话结构化了,搞清楚这段话的含义就要从结构开始,就像主谓宾结构一样,一听就知道是谁要做什么,怎么做。
上面是一个非常直接的栗子!即使是非常结构化的病历(虽然实际上大多数国内病历医生填写的部分就是乱七八糟的天书,不要怪我鄙视医生,我从来都看不懂他们写的东西),也只是体现和反映了每一次病人看病的情况、过程、结果。但是当一个人的病历达到几十年的时候呢,能不能通过病历推测他现在的身体问题以及预测他将来可能得什么病呢?当然可以,全世界科学家都在考虑这么干,只要有海量且高质量的数据源,优秀的算法,高性能的计算阵列,一切都有可能实现!Wait!你说为啥到现在还没实现?那是因为数据源都搞不定,国内一堆医院还各种数据孤岛和数据壁垒,何谈汇总和学习训练计算机?就是这么悲剧。
当然,这一切我认为将来终究都会实现,所以现在先不管这个。文本挖掘如果只是关联挖掘、预测分析,还是比较基本。当真正的海量数据形成知识的时候,就一定需要一个网状结构了,所以最近吹得比较多的知识图谱出来了~
上面主要说的是实体-概念-关系,下面有一些知识图谱案例:
知识图谱本身还是一个有些复杂,而且可应用化程度较高,可以实际解决很多具体应用场景的问题。这部分我实在不敢瞎说,还是搬出来一个介绍的比较全面的文章给大家看看:
https://zhuanlan.zhihu.com/liwenzhe/20394260
兔哥数据极客俱乐部QQ群:群号:462346024
个人WordPress博客:www.geekerlee.com