一般来说,命名实体识别的任务就是识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。如下图所示。
特征提取
文本是由一系列文字组成的,这些文字在经过分词后会形成一个词语集合,对于这些词语集合(原始数据),机器学习算法是不能直接使用的,我们需要将它们转化成机器学习算法可以识别的数值特征(固定长度的向量表示),然后再交给机器学习的算法进行操作。假设一个语料库里包含了很多文章,在对每篇文章作了分词之后,可以把每篇文章看作词语的集合。然后将每篇文章作为数据来训练分类模型,但是这些原始数据是一些词语并且每篇文章词语个数不一样,无法直接被机器学习算法所使用,机器学习算法需要的是定长的数值化的特征。因此,我们要做的就是把这些原始数据数值化,这就对应了特征提取。如何做呢?
对训练数据集的每篇文章,我们进行词语的统计,以形成一个词典向量。
在经过第一步的处理后,每篇文章都可以用词典向量来表示。这样一来,每篇文章都可以被看作是元素相同且长度相同的向量,不同的文章具有不同的向量值。
针对于特定的文章,如何给表示它的向量的每一个元素赋值呢?最简单直接的办法就是0-1法了。简单来说,对于每一篇文章,我们扫描它的词语集合,如果某一个词语出现在了词典中,那么该词语在词典向量中对应的元素置为1,否则为0。
在经过上面三步之后,特征提取就完成了。
分类器选取
机器学习的过程是训练模型和使用模型的过程,训练就是基于已知数据做统计学习,使用就是用统计学习好的模型来计算未知的数据。
机器学习分为有监督学习和无监督学习,文本分类也分为有监督的分类和无监督的分类。有监督就是训练的样本数据有了确定的判断,基于这些已有的判断来断定新的数据,无监督就是训练的样本数据没有什么判断,完全自发的生成结论。
无论监督学习还是无监督学习,都是通过某种算法来实现,而这种算法可以有多重选择,贝叶斯就是其中一种。除此之外还包括以下几种:
回归分类器:逻辑回归是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。以概率的形式估计事件发生的可能性。逻辑回归分为两个部分:1学习预测模型,2应用预测模型预测结果。
朴素贝叶斯:朴素贝叶斯分类器是分类算法集合中基于贝叶斯理论的一种算法。它不是单一存在的,而是一个算法家族,在这个算法家族中它们都有共同的规则。例如每个被分类的特征对与其他的特征对都是相互独立的。
贝叶斯网络:介绍贝叶斯网络(Bayesian Network,简称BN)是一种特殊的图形模型,是有向无环图(Diected Acyclic Graph,简称DAG)。也就是说,在贝叶斯网络中,所有的边都是有方向的(即指向一个特殊的方向),而且不存在回路(即不存在这样的一条路径,从某个节点出发,沿着一组有向边前进又回到出发点)。
决策树:决策树分类算法是一种基于实例的归纳学习方法,它能从给定的无序的训练样本中,提炼出树型的分类模型。树中的每个非叶子节点记录了使用哪个特征来进行类别的判断,每个叶子节点则代表了最后判断的类别。
自然语言处理能做什么?
1、 文本分类
一个流行的分类示例是情感分析,类标签代表源文本的情感基调,比如“积极的”或“消极的”。
下面列举几个例子:
垃圾邮件过滤,将电子邮件文本分类为垃圾邮件或正常邮件。
维基百科的文档分类
烂片评论的情感分析
亚马逊产品评价的情感分析,IMDB电影评论和新闻文章的主题分类。
2、 语言建模
语言建模真的是更有趣的自然语言问题的一个子任务,特别是那些在其它输入条件下的语言模型。
下面列举几个例子:
生成新的文章标题。
生成新的句子,段落,或文件。
生成一个句子的建议延续的句子。
3、 语音识别
语音识别是理解说了什么的问题。
下面列举几个例子:
录制语音。
为电影或电视节目创建文本字幕。
开车的时候向无线电发出指令。
4、字幕生成
字幕生成是描述图像内容的问题。
下面列举几个例子:
描述一个场景的内容。
为照片创建标题。
描述一个视频。
5、机器翻译
机器翻译是把源文本从一种语言转换成另外一种语言的问题。
下面列举几个例子:
将一个文本文件从法语翻译成英语。
将西班牙音频翻译成德语文本。
将英语文本翻译成意大利音频。
6、文档摘要
文档摘要是对创建的文本文档进行简短描述的任务。
下面列举几个例子:
为一篇文档创建一个标题。
为一篇文档创建一个摘要。
7、 问答
回答问题就是给定一个主题,如文本文件,回答关于这个主题的一个特定问题。
下面列举几个例子:
智能客服系统。
对话型机器人。
熟悉自然语言处理需要哪些知识储备?
自然语音处理相对于产品来说比较技术门槛比较高,要想熟悉了解必须具备一些基本的学科知识。主要包括数学基础和数据结构于算法两方面。下面列举一些基础类别以供参考。
数学基础
数学对于自然语言处理的重要性不言而喻。当然数学的各个分支在自然语言处理的不同阶段也会扮演不同的角色,这里介绍几个重要的分支。
代数
代数在自然语言处理中也有举足轻重的作用。这一部分需要重点关注矩阵处理相关的一些知识,比如矩阵的SVD、QR分解,矩阵逆的求解,正定矩阵、稀疏矩阵等特殊矩阵的一些处理方法和性质等等。
概率论
在很多的自然语言处理场景中,我们都是算一个事件发生的概率。这其中既有特定场景的原因,比如要推断一个拼音可能的汉字,因为同音字的存在,我们能计算的只能是这个拼音到各个相同发音的汉字的条件概率。也有对问题的抽象处理,比如词性标注的问题,这个是因为我们没有很好的工具或者说能力去精准地判断各个词的词性,所以就构造了一个概率解决的办法。
信息论
信息论作为一种衡量样本纯净度的有效方法。对于刻画两个元素之间的习惯搭配程度非常有效。这个对于我们预测一个语素可能的成分(词性标注),成分的可能组成(短语搭配)非常有价值,所以这一部分知识在自然语言处理中也有非常重要的作用。
数据结构与算法
学习了上面的基础知识,只是万里长征开始了第一步,要想用机器实现对自然语言的处理,还是需要实现对应的数据结构和算法。这里就做一个简单的介绍和说明。
语言学
这一部分就更多是语文相关的知识,比如一个句子的组成成分包括:主、谓、宾、定、状、补等。对于各个成分的组织形式也是多种多样。比如对于主、谓、宾,常规的顺序就是:主语→谓语→宾语。当然也会有:宾语→主语→宾语(饭我吃了)。这些知识的积累有助于我们在模型构建或者解决具体业务的时候,能够事半功倍,因为这些知识一般情况下,如果要被机器学习,都是非常困难的,或者会需要大量的学习素材,或许在现有的框架下,机器很难学习到。如果把这些知识作为先验知识融合到模型中,对于提升模型的准确度都是非常有价值的。
深度学习
随着深度学习在视觉和自然语言处理领域大获成功,深度学习在自然语言处理中的应用也越来越广泛,大家对于它的期望也越来越高。所以对于这部分知识的学习也几乎成为了一个必备的环节。
知识图谱
知识图谱的强大这里就不再赘述,对于这部分的学习可能更多的是要关注信息的链接、整合和推理的技术。不过这里的每一项技术都是非常大的一个领域,所以还是建议从业务实际需求出发去学习相应的环节和知识,满足自己的需求。
自然语言处理可以帮助产品经理做什么?
1、市场调研与分析
大量的数据调研及海量的数据分析才能得出更精准的判断依据。AI产品经理必须要学会运营更科学的方法和现有的技术手段来解决遇到的问题。例如在市场调研过程中运用爬虫爬取海量的竞品APP应用市场的评论,运用自然语言处理来做出统计结果。找出竞品优缺点,有的放矢的设计自家产品。
2、产品的定义设计与规划
在产品设计中,能够了解并且熟悉现有技术手段可实现的能力边界,使得产品更智能,例如在搜索框设计模糊联系功能,使得用户在搜索过程中更快的找到想要的东西。例如千人千面应用的产品设计中,可以根据用户所表现的文本内容为用户打标签。更精准的展现用户想要的内容。思考语音唤醒和语音输入等技术手段如何结合自己的产品,更好的让产品更智能。
总结
语言是人人沟通的介质,自然语言处理技术是人机沟通的介质。要想让产品更智能更好服务人类,就必须让机器更懂人。所以说自然语言处理技术是人工智能的基础,是每一个AI产品经理必须了解的基础知识。
作者:老张, 宜信集团保险事业部智能保险产品负责人,运营军师联盟创始人之一,《运营实战手册》作者之一。