想让机器学会读心术?先跨过自然语言处理这个难关丨科技云·交锋

2022-04-14 14:23:33 浏览数 (1)

媒体报道、微博内容、消费者购买评价等文本信息,正在成为大数据重要的组成部分。然而,人类使用的语言对计算机而言是模糊的、非结构化的,要处理和分析这部分数据,就必须用到自然语言处理技术。

目前计算机能否解析这些大型的非结构化数据中的模式,从而理解里面包含的信息?计算机对人类语言的理解又能达到什么程度呢?

此次科技云报道分别采访了业界知名的大数据公司相关负责人——百分点首席架构师兼技术副总裁刘译璟,玻森数据CTO赵迎宾,请他们介绍自然语言处理领域的经验,并分享对大数据行业发展的看法。

百分点首席架构师兼技术副总裁刘译璟(左)

玻森数据CTO赵迎宾(右)

对于新闻报道、微博微信等文本内容,技术上是如何进行处理和分析的?

文本、自然语言这些数据,实际上有许多相关联的程序在处理,包括抓取、页面去噪、文本提取、分词、篇章结构分析、信息抽取、情感分析等等。

自然语言处理是一个综合性非常强的领域,大多数机器学习或者数据挖掘的技术都会在这里面运用。自然语言处理也是人工智能中最重要的问题,因为语言和思维是相辅相成的。人们常说自然语言处理的问题解决了,人工智能的也就解决了,就是这个道理。

在自然语言处理方面,百分点有一整套的产品体系:

首先,在底层有各种各样的词库,通用词库、品牌词库、品类词库、领域词库、领域知识库等等,在在这些词库之上的是许多基础技术,包括分词、自动分类、词性标注、命名实体、Word2vec、IDF、相似度计算等,这是最基础的。

其次,基于这些底层技术,我们的产品重点会集中在情感分析、自动打标签,篇章热点分析、自动摘要、定制分类等几个领域,对数据进行再加工。

最后,到了应用层,呈现在客户面前的是智能采编,标签提取,舆情监控,客户声音,精准营销,推荐系统等各种应用。

玻森数据搭建了一套比较完整的语义分析引擎体系,包含两个层次:

第一个层次,基础引擎,是对于文本进行通用性的结构化处理,包括句子的分词、词性标注、句法分析以及实体识别,这些引擎把句子打散成词语的粒度再进行重新整合,例如句法分析是识别句子中的主谓宾定状补,而实体识别是进行篇章里人名、公司名、地址、产品等信息的提取,以帮助我们去理解这个句子在表达什么。

另外一个层次,应用引擎,与特定的应用需求相关,例如情感分析、文本分类、关键词提取、文本聚类和典型意见提取等。以文本分类为例,针对不同类型的数据,有不同的分类方法,比如针对淘宝、京东上的消费者评论,可以去看他们关注的到底是价格、品质,还是物流的速度等不同的细分方面,再进一步看每个类别下面的正负面情感。

在自然语言的理解度、关联性、情感判断等层面,目前能达到什么水平?

整个自然语言处理领域,如果从语言学方面讲的话,应该有三个不同的层次:

第一层,语法分析,包括分析词法、句法、篇章结构等;

第二层,语义分析,也就是分析语言承载的人的知识和思维。语义分析的内容很多,浅层语义例如词性、命名实体识别、语义角色标注、词之间的相似度、句子之间的相似度、篇章之间的相似度、篇章的情感倾向等等;深层的语义包括实体、属性、关系等等;

最高一层,语用分析,分析语言在不同的环境中的使用特点,比如为什么在这个场景下这样讲话,而不是那样讲话。

实际上在自然语言分析的每一个层次,我们做的都还远远不够,离人类的自然语言差得非常非常远。

目前人们解决的比较好的问题是语法分析和浅层语义分析。实际上,编译器这样的技术就是得益于语法分析才有大的发展的。而类俗于命名实体识别这类浅层语义分析任务,人们已经能做到百分之七八十的准确性,可以满足一般的应用需求。

语义分析,其实是一个非常难的问题。想让机器区分一个词的不同含义,要结合上下文才能做判断。比如“名片夹”这个词,对于计算机来说,它只是一个符号而已。但人在看到这个符号后,脑海中会浮现出一大堆的概念,并且知道哪些概念对当前的对话是有意义的。我们想要从“名片夹”这三个符号,马上让计算机联想到后面那一堆东西,现在完全做不到。

说回到语义分析里的情感判断,分析一个词代表的是正向还是负向情感,一段话讲的是偏正向还是偏负面,现在已经可以做一些区分。它是一个很专门的分析课题,目前人们已经取得了很好的分析效果。例如在百分点,我们采用了基于CNN的算法进行情感分析,分析的准确率已经超过了90%。

但语义里面还有更复杂的,比如判断一篇文稿涉及到了什么事件,它是一个政治事件还是体育事件,甚至更细分的领域等等,都是比较难的事情。再高级一点的语义,比如对篇章的理解等等,就做的比较糟糕,可能百分之二三十都不到。

最后说语用分析,基本没有人做,但这会是人工智能中很重要的一个问题。可以看到,现在大家也就做到浅层语义这一层。所以目前我认为自然语言处理领域,人们只能算刚开始入门。

正如之前所说,自然语言处理这个问题的难度跟人工智能是等同的。语言塑造了人的思维,如果我们能够把语言研究清楚,实际上人怎么去思考我们就都清楚了,人工智能的问题我们也只能说刚刚入门,自然语言处理也一样。

就目前而言,现在很多的语义分析任务,基本上是在文本的浅层语义处理上,实际上计算机离真正读懂一篇文章,还有很长的距离。

目前就情感分析而言的话,我们实验测试的准确率在85%左右,这个数据是在近千万条情感标注语料的基础上得到的。在实际的应用当中,我们观察到的准确率是高于测试结果的。

从技术角度看,存在三类问题会导致情感分析的准确率下降:

一类是情感标准的模糊性,我们在实验中发现,在没有明确定义情感标准的情况下,人与人之间对情感判断的一致性不足80%;

第二类,在语言当中存在长搭配、双重否定等情况,比如“我不觉得这个电影不好”这句话,虽然包含“不好”短语,但是实际上是一个非负面的表达。目前有不少解决这方面问题的尝试,在玻森我们也会使用句法分析对一些长搭配的情况进行处理。这个问题在学术上是一个比较活跃的领域。

还有一类问题,是人在表达情感时会使用反讽等复杂的修辞手法,比如“这个电影太好看了,我看得都睡着了”这句话。在统计上来讲,99%的太好看,指的真的就是太好看了,但是在这里就必须对整个语境有一个完整的理解才能看出真实的情感,这对于目前的机器学习模型而言有很大的难度。

对于学术上的开放性问题,很难说一蹴而就得到解决,需要工业界和学术界更多地去合作,才能够更好地理解语言的本质。

自然语言处理技术尚待突破,能否在实际应用中创造价值?

我用两个实际案例来说明自然语言处理的商业价值,它已经和业务结合的比较紧了。

第一个例子,是我们给TCL做的一个手机营销项目,目标是从微博里去识别两类用户:一类是对TCL品牌感兴趣,一类是对手机感兴趣。

这是一个非常具体的问题,它有明确的目标、有业务要素、业务要素可以建模、也有业务规则,所以是可以做出来的。

在项目中,我们要识别什么人对TCL品牌可能感兴趣。我们的方法是首先框定了一些与TCL相关的品牌关键词,包括品牌词、品类词、产品词、人物词等、以及与TCL有合作的影视作品等,如果用户微博提及了这些词,我们都认为是对TCL这个品牌有了解。同时,我们判断整个微博的情感,据此来判断用户对品牌的了解是正面还是负面的。这两个技术点一结合,就可以找到对TCL品牌有兴趣的用户。这是浅层语义分析技术的典型应用。

另外,我们还要找到对手机产品感兴趣的用户,这件事更困难一点,因为对手机感兴趣涉及到手机的硬件、软件、应用场景等等,有时候不会直接提手机这个词。例如用户微博可能是“已经体会到了不能边听歌边充电的不方便之处了”,这句话隐含着的是对iphone7硬件的不满,但我们需要结合更多的业务知识和业务规则才能准确分析出来。

我再举一个汽车的案例。我们帮长安汽车分析了包括微博、百度贴吧、汽车之家、爱卡等汽车论坛里面的用户评论,识别用户评论提到了哪些车型,以及车型的哪些方面,比如是空间、油耗、操纵感还是内饰。对于这些方面,用户讲的是好的还是坏的,会分的更细。所以最后能够看出来产品方面哪些地方做的好,哪些地方做的比较不好,可以给长安汽车比较细致的产品方面的洞察。

针对不同场景,对文本的处理有不同的模型,准确率的标准也是不一样的。

比如在金融领域,去识别一条法律文书是否与特定公司相关,在我们产品的准确率达到100%,也就是说不会出现判定为相关但实际上不相关的;在覆盖率上,会有1-2%漏掉数据的情况。

针对特定问题提高准确率的方式是挖掘这类数据 自己的特点,像裁判文书的书写格式比较良好,有很多半结构化的特征可以使用,因此通过针对裁判文书做专项优化就可以实现比较高的准确率。

不过在所有数据上都实现完美的准确率是不现实的,因此更多时候建模需要在准确率和召回率之间取得平衡,并且允许客户对于不准确的数据有一个反馈机制。通过这样一种综合的产品体验,加上机器自我学习的机制,能够达到比较好的用户满意度。

在营销这个领域,我们在公司成立初期接触较多,后来看到一个矛盾——需求是非常多样性的,但模型在很多时候又只使用一次,这样使用机器学习建模的成本就比较高。

还有另外一个问题,在营销方面客户最关注的其实是投放,但是文本数据对于投放实际上是非常间接的数据,并不能够很好地反映客户的投放效果。如果说这个分析会对客户的产品和运营有一些帮助,最终效果也取决于客户有没有按照我的建议采取行动,所以价值比较难衡量。

国内外在自然语言处理领域,技术上是否存在差距?

我自己感觉国内外其实差不多,目前整个学术界,大家所处的水平都类似。而且目前这些技术的传播都很快,研究成果一旦发出来大家都会看到,相关的模型甚至代码都能拿过来用,所以更多的是在比拼业务上的应用情况。

目前国内在人工智能领域,跟国外实际上已经没有太大的差异了,尤其深度学习领域,有大量的论文是来自国内学者的发表。

在自然语言处理领域,国内市场格局是怎样的?

BAT等各大互联网公司都在干这个事,因为这是一个基础技术。另外像百分点这样以企业服务为主的公司也在研究自然语言处理技术,我们主要的业务是给其他企业提供针对性的大数据解决方案,更偏具体的行业,就会做的更纯粹、更深一些。研究机构就更多了,知名高校里面基本都有这方面的研究,像清华、北大、哈工大、中科院,都做得比较好。

现在大家主要的技术都差不多,从我的角度来说,整个行业的最大的瓶颈其实是在应用端。

为什么说应用是瓶颈呢,我想从两方面来说一下。

第一方面是数据,没有数据当然没法做任何分析。但站在企业角度来看,企业首先想的是业务运转,而不是做分析和优化,这是起点。数据其实在业务上衍生出来的东西,不是最核心的,或者说至少不是从0到1要做的事。所以,没有应用场景,就没有好的数据,自然语言处理也难以入手。

第二方面是算法,任何算法说到底就是一个数学建模,数学建模核心考量的是对现实中待建模事物或业务的理解,其次才是算法。所以,要做好自然语言处理,理解业务才是最重要的,实际上也是应用场景的问题。

所以我认为市场最后比拼的全是应用,找到普适性的、能带来持续收入的、有足够数据支撑的、并且有一定技术门槛的应用场景,是市场竞争的关键。在这样的场景上形成规模效应以后,企业才能有足够的竞争力。

在自然语言处理这个领域有很多公司,比如文因互联,达观数据,还有最早做分词的公司海量数据。这其中一部分企业面向细分市场提供产品,一部分提供有特色的技术,在各自的领域里各有优势。玻森数据主要专注在为开发者提供通用性的自然语言处理技术,以及在此之上搭建有商业场景的应用。

About 百分点集团

百分点集团成立于2009年,是中国领先的大数据技术与应用服务商。百分点现有员工500 人,包括2位国家千人计划入选者,30多位博士,和来自于国内外一流大学与技术公司的300多人的研发团队。百分点产品线已涵盖大数据技术层、管理层和应用层,其核心产品包括技术层的大数据操作系统(BD-OS),管理层的用户画像标签管理系统,以及应用层的推荐引擎、分析引擎和营销引擎。

About 玻森数据

玻森中文语义开放平台提供使用简单、功能强大、性能可靠的中文自然语言分析云服务。通过自主研发的中文分词、句法分析、语义联想和实体识别技术,结合海量行业语料的不断积累,为企业和广大开发者提供简单、强大、可靠的中文语义分析云端API。

(以上排名不分先后)

科技云报道将陆续邀请大数据领域知名企业相关负责人,就大家关心的话题内容进行访谈。欢迎业界各大企业与我们联系报道,与大家分享宝贵的行业观点,共同促进行业的交流与发展。

【科技云报道原创】

转载请注明“科技云报道”并附本文链接

0 人点赞