@产品AI产品经理人工智能与自然语言处理

AI产品经理必须了解自然语言处理基础知识

2018-07-05  本文已影响5人  AI老张

传说古时候,天下的人都说同一种语言,后来古巴比伦人要修建一坐能够通天的高塔,以建立自己的声誉。通天塔越建越高,后来惊动了天上的耶和华,他怕通天塔真的修成后。天上的秘密就被人间所知晓,便施展法术,使人们的语言互不相通,结果由于修塔的人互相无法沟通,通天塔的工程就没有进展下去!

后来人们把这座塔叫作巴别塔,而“巴别”的意思就是“分歧”。虽然巴别塔停建了,但一个梦想却始终萦绕在人们心中:人类什么时候才能拥有相通的语言,重建巴别塔呢?机器翻译被视为“重建巴别塔”的伟大创举。假如能够实现不同语言之间的机器翻译,我们就可以理解世界上任何人说的话,与他们进行交流和沟通,再也不必为相互不能理解而困扰。而这种机器翻译所运用到的技术就是自然语言处理。

什么是自然语言处理 

简单地说,自然语言处理(Natural Language Processing,简称NLP)就是用计算机来处理、理解以及运用人类语言(如中文、英文等),它属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。由于自然语言是人类区别于其他动物的根本标志。没有语言,人类的思维也就无从谈起,所以自然语言处理体现了人工智能的最高任务与境界,也就是说,只有当计算机具备了处理自然语言的能力时,机器才算实现了真正的智能。

人类对机器理解语言的认识走了一条大弯路。早期的研究集中采用基于规则的方法,主要从语法规则,文法规则出发,对语句的成分进行分析。这种处理方法存在很大的缺陷:一个简单的句子居然需要几十条甚至上百条规则才能分析成功。另外,我们现今的时代是一个信息量爆炸的时代,句子的成分越来越复杂,因此基于规则的自然语言处理方法逐渐苍白无语。因此,基于统计的自然语言处理逐渐取代基于规则的自然语言处理成为了自然语言处理的主要研究手段。

自然语言处理包括哪些

自然语言处理一般分为:文档预处理、特征提取、分类器选取。

文档预处理

分词:中文任务分词必不可少,指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。现有的分词方法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。

词性标注:又称为词类标注或者简称标注,是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或者其他词性的过程。词性标注这里基本可以照搬分词的工作,在汉语中,大多数词语只有一个词性,或者出现频次最高的词性远远高于第二位的词性。据说单纯选取最高频词性,就能实现80%准确率的中文词性标注程序。现如今比较流行的汉语词性对照表是[北大标准/中科院标准](如下表所示),标注完成后的示例如下图。

汉语词性对照表[北大标准/中科院标准]

词性编码词性名称注 解

Ag形语素形容词性语素。形容词代码为 a,语素代码g前面置以A。

a形容词取英语形容词 adjective的第1个字母。

ad副形词直接作状语的形容词。形容词代码 a和副词代码d并在一起。

an名形词具有名词功能的形容词。形容词代码 a和名词代码n并在一起。

b区别词取汉字“别”的声母。

c连词取英语连词 conjunction的第1个字母。

dg副语素副词性语素。副词代码为 d,语素代码g前面置以D。

d副词取 adverb的第2个字母,因其第1个字母已用于形容词。

e叹词取英语叹词 exclamation的第1个字母。

f方位词取汉字“方”

g语素绝大多数语素都能作为合成词的“词根”,取汉字“根”的声母。

h前接成分取英语 head的第1个字母。

i成语取英语成语 idiom的第1个字母。

j简称略语取汉字“简”的声母。

k后接成分 

l习用语习用语尚未成为成语,有点“临时性”,取“临”的声母。

m数词取英语 numeral的第3个字母,n,u已有他用。

Ng名语素名词性语素。名词代码为 n,语素代码g前面置以N。

n名词取英语名词 noun的第1个字母。

nr人名名词代码 n和“人(ren)”的声母并在一起。

ns地名名词代码 n和处所词代码s并在一起。

nt机构团体“团”的声母为 t,名词代码n和t并在一起。

nz其他专名“专”的声母的第 1个字母为z,名词代码n和z并在一起。

o拟声词取英语拟声词 onomatopoeia的第1个字母。

p介词取英语介词 prepositional的第1个字母。

q量词取英语 quantity的第1个字母。

r代词取英语代词 pronoun的第2个字母,因p已用于介词。

s处所词取英语 space的第1个字母。

tg时语素时间词性语素。时间词代码为 t,在语素的代码g前面置以T。

t时间词取英语 time的第1个字母。

u助词取英语助词 auxiliary

vg动语素动词性语素。动词代码为 v。在语素的代码g前面置以V。

v动词取英语动词 verb的第一个字母。

vd副动词直接作状语的动词。动词和副词的代码并在一起。

vn名动词指具有名词功能的动词。动词和名词的代码并在一起。

w标点符号 

x非语素字非语素字只是一个符号,字母 x通常用于代表未知数、符号。

y语气词取汉字“语”的声母。

z状态词取汉字“状”的声母的前一个字母。

un未知词不可识别词及用户自定义词组。取英文Unkonwn首两个字母。(非北大标准,CSW分词中定义)

实体抽取:实体抽取是信息提取、问答系统、句法分析、机器翻译、面向Semantic Web的元数据标注等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要地位。一般来说,命名实体识别的任务就是识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。如下图所示。

特征提取

文本是由一系列文字组成的,这些文字在经过分词后会形成一个词语集合,对于这些词语集合(原始数据),机器学习算法是不能直接使用的,我们需要将它们转化成机器学习算法可以识别的数值特征(固定长度的向量表示),然后再交给机器学习的算法进行操作。假设一个语料库里包含了很多文章,在对每篇文章作了分词之后,可以把每篇文章看作词语的集合。然后将每篇文章作为数据来训练分类模型,但是这些原始数据是一些词语并且每篇文章词语个数不一样,无法直接被机器学习算法所使用,机器学习算法需要的是定长的数值化的特征。因此,我们要做的就是把这些原始数据数值化,这就对应了特征提取。如何做呢?

对训练数据集的每篇文章,我们进行词语的统计,以形成一个词典向量。

在经过第一步的处理后,每篇文章都可以用词典向量来表示。这样一来,每篇文章都可以被看作是元素相同且长度相同的向量,不同的文章具有不同的向量值。

针对于特定的文章,如何给表示它的向量的每一个元素赋值呢?最简单直接的办法就是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产品经理必须了解的基础知识。

作者:老张, 宜信集团保险事业部智能保险产品负责人,运营军师联盟创始人之一,《运营实战手册》作者之一。

上一篇下一篇

猜你喜欢

热点阅读