导读:本次分享将从上面四个方面先容,首先先容一下最近AI进展概述,然后大略先容OPPO在个性化推举业务和框架性的背景知识,第三部分将先容一下在推举中比较主要的一个技能“语义理解”及我们的做法,末了先容游戏推举中强化学习的一个实践情形。
--
01
AI进展概述
首先先容下我自己对AI发展的理解,AI它不是一个技能词汇,更像一个广告词汇,它在不同阶段是有不同含义的。
结合行业专家履历将AI发展总结为下面四个发展阶段:
前期阶段打算机各方面做一些定理证明等运用;
第二个阶段知识处理阶段,比如大量的知识工程、专家系统。
第三个阶段便是90年代到10年代,这是真正意义的算法和机器学习所做的事情。这个阶段做算法的紧张在做特色工程,而机器学习算法相比拟较成熟。
从2012年因此深度学习在图像识别上的一个重大打破,一个标志性的事宜便是AlexNet在图像识别上的重大打破为标志,AI引起了工业界或者是媒体一个巨大关注。我将其总结为数据时期,这因此大数据为根本的进展,这一阶段深度学习是其代表性技能。Google的AlphaGo将强化学习带进人们的视野。
还有强化学习不仅不才棋方面、工业掌握等运用很大,在互联网方面不管是搜索还是推举都有很多考试测验。第三个常常被提起的技能便是语义理解,但是它并没有由于第四个时期而取得实质性的打破。后面我会以案例的形式讲一讲我们在这三个方面所做的事情。
--
02
OPPO个性化推举
第二个阶段大略先容下OPPO个性化推举方面的事情。我们的个性化推举平台是一个通用推举平台,支持OPPO很多业务,包括运用商店、游戏运营、定向广告、信息流推举、个性化push等。这些业务首先具备一个平台性,不同业务对推举的目标也是不同的,因此也是一个多目标的问题,有的因此点击率(CTR)为目标,有些因此用户留存为目标,比如游戏,他下载游戏会不会玩,他在游戏中的付费情形。信息流须要实时化,因此在中间有一个实时推举引擎,另一块对实时性不高的就进行个性化Push,但是个性化Push对可阐明性哀求比较高。运营职员可能会选一些标签,我的内容就要推给这些标签的人,比如定向广告商哀求就要推举给李易峰的粉丝,他们都须要这样明确的哀求,对实时性哀求不是很高。
我们做推举,离不开数据,OPPO数据量也非常大,后续讲AI也是针对这些数据做一些理解。大略先容一下我们的数据,有构造化的数据,用户在API利用的一些行为统计、手机信息,最能表示AI的是在文本数据这一块,作为一个手机厂商,OPPO拥有全网的各种类型的文本数据,包括外部访问搜索的query,以及在社区等各种信息流的发帖及评论。还有一些图片和语音数据,本日禀享没涉及到干系技能,就不再赘述。
接下来大略列一下做推举须要做的一些事情,做推举首先要对用户数据提取特色。在文本这一块是相对繁芜的,须要做文本类别的识别,可能有一级二级平分歧层次更加细粒度的识别还有关键词、实体词的提取。有了特色往后要做召回,尤其在信息流有千万级item要做召回,找一个比较小的凑集。这里有很多策略,本日重点结合AI讲解干系性召回、语义召回方面的事情。召回后做排序,比如CTR预估。然而有很多是多目标的,有些目标是长期非实时反馈的,因此也做了一些探索,后续将以游戏方面基于强化学习方面的探索。
--
03
推举中的语义理解
首先紧张讲的是推举在语义理解方面的事情,语义理解就我理解也不是一个技能词汇,与AI一样也像一个广告词。基于其技能理解我认为语义理解有这几类问题:分类问题、匹配、信息提取(比如语句、文档中提取实体词;还有短息信息提取实体与目的,比如“订一张去北京的机票”,要提取“北京”是目的地,事宜是订机票)以及天生、推理这五类问题。语义理解相对付AI在图像识别、语音识别由于深度学习的涌现有巨大的提升而言并没有很大的提升,它比较难,紧张难在尤其在文本方面,每一个问题都涉及很大的算法量,每一步都可能有不同算法涌现。像图像识别你输入一个图片用多层网络做各种特色提取,终极打一个标签,对付文本,虽然深度学习也在考试测验这么做但并没有比较好的效果,下图列举了几个关键技能和步骤。深度学习涌现后确实会有有一些提升,紧张是在向量化表示这一块,以前词便是一个词,顶多一个词缀模型,后来深度学习可以将其压缩用embedding表示,这是一个比较主要的技能,当然还有自动翻译写文章这些分外运用,在推举里运用不多。下面会以文本分类和干系性图谱为例来讲一下我们的事情。
文本标签这一块,OPPO由于全网在文本这类数据很多,访问的各种数据都可能有,类型多、隐喻多、标题党等问题,很多意思不是字面表示的。如何捕捉这些实质意思是很有寻衅的,乃至是不可完成的,但是我们针对文本类型要做文本标签有这几类方法,并不是单一算法能实现,它是一个别系工程。有基于分类模型做特色分类;有的是基于关键词和规则,直接提取关键词,如包含刘德华,刘德华属于娱乐明星,就将这个文本打成娱乐明星的标签;还有基于文本相似度,有些文本已经打上标签,新来文本直接用相似度来找相同的标签;有的是基于文本聚类,先做一个聚类,然后基于人工对聚类结果筛选和打上标签;有些事结合URL,比如有些小说、漫画,只假如来自这个网站(出发点中文网),它基本都是关于小说的。因此先根据url判断它是属于小说,然后再细分它属于什么小说。下面紧张基于深度学习方面对分类模型的探索。
文本分类传统的方法如下图所示,便是做特色工程,对文本进行分词、词性标注,然后提取实体词、关键词,有时乃至要做聚类剖析,提取分类决策树,然后用svm或逻辑回归做分类,这种方法的问题是把词当一个字符,并不能阐明语义,深度学习涌现后在语义表达上有很大打破,可以将一个词用一个向量表示,每一个向量在某一个维度可表示一个词在高下文关系的值,结合全体维度就可以表示词的语义。相似的词就会在空间间隔上很近,Word2vec发明后对分类算法有很大改进,Facebook提出的fastText便是直接对一个文本提取出每一个词向量做一个均匀,然后直接用softmax做分类,大多数情形不错,缺陷是没有考虑词序,而文本词的先后顺序可能是包含巨大信息量的。后面比如CNN、RNN都发明了各种算法,像CNN一个改进便是它可以用不同窗口滑动,形成一个ngram特色,捕捉局部干系性捕,毛病是窗口固定,而RNN可以捕捉变长文本高下文信息。后面会大略先容一下我们用到的CNN和RNN模型。
CNN紧张用的是TextCNN算法,如下图所示,左边把一个文本中、句子中的词转化为一个embedding,得到一个矩阵,矩阵高度是词的个数,宽度是每个词embedding的维度。用三种不同窗口的大小,两个filter去卷积这个矩阵,然后用pooling机制提取最显著特色,将这些特色输入softmax函数,末了得到分类结果。不敷是filter_size是固定的,设计时可以用不同filter_size,可以每四个词或三个词,这样不同的filter_size相称于利用不同的ngram特色。
RNN就可以用不同的窗口,目前它也有很多算法。利用TextRNN,还有一个Attention机制,有一篇论文论述所有的IRP问题都是Attention,可以表示Attention对模型的运用。下面这个例子是对长文做分类的,分为两层,首先对长文每个句子针对词级做特色向量,捕捉不同句子中词的Attention权重。第一层结束会得到每一个词的embedding表示,第二层中一篇文章可能包含很多句子,每个句子又有一个embedding权重,末了得到整篇文章的分类效果。而我们针对短文本,只用到词级Attention机制。
下图有一个实际的分类效果,我们对互联网文本有一个两级分类机制,图中只截取一部分。图中可以看到用这类模型确实比传统模型(磁带模型+softmax)有明显的提升。我用三个小例子展示不同的方法能捕捉到的不同特色,第一个例子便是“你在生孩时你老公在干嘛,看完第一条就泪目”这实在是隐喻出轨,标题是内容可能不是,如果出轨是一个社会标签。但是LR包括CNN在分类时将生孩子当做关键词,当做孕产种别,而RNN包含很多模型,包括生孩子还有类目等信息,会捕捉更长的高下文信息,分类比较精确。第二个例子“两个女儿一个剃秃顶,一个翘课去美甲,天后家教遭网友质疑”,这个天后肯定是娱乐方面的,但是有的判断成美容,有的判断成社会的,或者娱乐的。“美甲”肯定是美容的。第三个是“多年前小女孩救了一个即将饿去世的狼,几年后风云突变”,这个属于一个奇闻异事,但是全部判断成社会的。这种须要要大量的知识去判断,由于不可能小女孩救狼,这种须要大量人类背景知识,而这种知识很难去量化成打算机可以识别的信息。目前末了的模型也很难做到,因此对付语义理解难就难在人类的背景知识有很多很难去量化,构造化成打算机可以理解的知识。这个难题有一个办理的方法便是建知识图谱。
下一步事情便是干系性图谱,没有建知识图谱是由于还没有像知识图谱这样完善,下面讲一下我们在干系性图谱方面的运用背景和方法。其运用也比较广泛,比如信息流推举中的召回中的干系性召回,用户如果看了一篇刘德华的文章,那么刘德华演过的电影或者他妻子的信息可能也会感兴趣,以是干系性召回你须要找出与刘德华干系的实体信息有哪些。还有个性化push,一个广告紧张发给李易峰的粉丝,那你得知道李易峰粉丝都喜好那些东西,当然这种会有很多其他算法。通过搜索李易峰演过什么电影、电视剧,参加什么综艺做关键词匹配,这种强干系性可阐明性也很强。找干系性词也有不同算法,像LDA主题模型我们也考试测验过,下图右边左边是LDA结果,他确实可以把同一主题的词聚类到一起,但是缺陷是噪声很大,粒度难掌握,主题到底要聚类到何种粒度很难掌握。Word2Vec也能提取干系词,但是侧重于语法构造,以是与刘德华干系的都是和他同时期的影星,没有他演过的电影。基于这我们在干系性图谱做了很多考试测验。
下图是我们建知识图谱的事情。目前很多网站的数据都是构造化的,直接爬取做些大略处理就能知足实际中大部分需求,因此我们也爬取了很多垂直网站、百科网站的信息,这个事情可以很快完成。但是紧接着就会创造还有很多关系须要从非构造化的文本做关系提取,提取的实体还要做实体连接(与刘德华和华仔是一个是实体)映射起来,关系对齐有些关系实在也不一样。今天主要讲一下在关系提取方面的事情,关系提取方法很多,有有监督、无监督,关系提取的难点便是一个句子有两个实体,须要判断下这两个实体到底有什么关系,这实在是一个分类问题。现在有一个盛行的方法叫远程监督,实在也是有监督,只是在演习样本的布局上会有一些启示式的方法来布局。我们也紧张在远程监督方面做了一些探索。
远程监督一个基本思想便是:我们通过构造化信息已经提取出一大批,两个实体加关系就构成一个三元组,远程监督思想便是我用E1和E2去语句中匹配,如果匹配到就默认关系是R。当然假设太强,很多并不符合,比如“邓超英语太火,孙俪都忍不住发文调侃”,虽然他们确实是夫妻关系,但是并不是描述夫妻,如果你将这个例子当做一个夫妻的正样本,实在是一个缺点样本。
基于上面这个问题我们也做了很多探索,首先还是远程监督,筛选出很多候选的正样本,负样本用互斥关系。比如你要演习一个识别夫妻关系的模型,把明确不是夫妻关系确当做负例。前面有些很多正例是缺点的,我们用启示式规则,人工不雅观察一些数据去设置一些规则,比如一对实体在句子中的间隔太远就作为负例,或者一对实体还包含其他实体也归为负例等,这些规则也不是完备基于规则,也会基于算法自动扩展这些规则。其余一种方法便是关键词过滤,针对同一类关系的样本,统计实体对左、中、右的名词token,人工筛选布局与夫妻关系强干系性的词库,用词库对第一步远程监督结果的实体对去做过滤。
下面是列举的样例数据,如林心如、霍建华的例子“林心如与老公霍建华互助的第一部作品”这肯定是一个正例,还有“聂力其丈夫为年夜将丁衡高”这也是正例。负例如“通过梅艳芳和张学友合唱歌曲”这肯定不是夫妻关系,还有谢贤和谢霆锋也不是夫妻关系。第三个表是缺点样本,便是以上面的规则得出的结果也是错的,比如周冬齐和林永健是夫妻关系,但是上面的句子并不能表示夫妻关系,实在该当标为负例也被标成正例,下面的例子也是一样。这类是须要一直增加规则优化迭代。
前面讲如何获取正负样本,有了样本就依据正负样本做关系分类。这些分类的算法便是常规算法,首先对所有样本抽取实体对,然后提取特色,也是用的常规方法,比如提取种别词、高下文等一些特色,模型也是用的LR、svm等。下面是一个例子,对一个输入要提取特色,首先提取候选对,比如“马伊琍与首次当导演的老公函章合演电影《小爸爸》”,这里面两个实体,判断马伊琍和文章是不是实体关系,然后提取特色,提取特色之前须要分词、实体标注(标注那些是实体名),接下来是模型的演习和推理,然后做预测,末了得出马伊琍和文章夫妻关系的一个概率。人工去选择这些规则是不合实际的,有很多方法可以赞助自动扩展,例如句中涌现“E_1和E_2结婚”,则(E_1,E_2)得到正标注。根据对“和”和“结婚”等token的扩展,我们可以得到“E_1与E_2结婚”、“E_1和E_2婚后”、“E_1和E_2的婚礼”等类似该当标注为正的样本。
--
04
强化学习在游戏推举中的运用
接下来讲一下在强化学习方面的探索,强化学习的一个基本思想:上面是一个Agent,类似一个推举引擎,对这种状态通过一定策略转换函数得到一个action,然后再environment里实行,反馈给用户。他点了没点,点了之后下载游戏玩了没有,根据这些行为设置一些Reward褒奖函数,反馈给agent用于优化策略函数,对付游戏Reward函数对设计效果影响很大,对付游戏Reward涉及到点击一下一分,越日点击2分,还有7日留存等等或者依据付费额度进行reward,如果Reward设计不好全体过程都不会收敛。学习算法是policy gradients,针对Reward是连续值,action是一个参数性表达办法。
下面是深度学习探索的一些效果,目标不只要点击率好还要后续用户留存,反馈方面,留存和付费:越日反馈,周统计反馈,月统计反馈,每次预测是须要试错:Trial-and-error search。因此我们选择强化学习,最开始我们用的是逻辑回归,更加方向推举单机游戏,但不符合业务目标。后来采取LR + 用户兴趣+ 留存和付费特色,这样更加推举付费游戏、网游,单机游戏很难推举,随意马虎造成用户流失落。后来结合强化学习能更准确捕捉用户需求各种用户体验都有提升,在CTR和付费方面都有提升。
关于我们
DataFun:专注于大数据、人工智能技能运用的分享与互换。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100+线下和100+线上沙龙、论坛及峰会,已约请超过2000位专家和学者参与分享。其"大众年夜众号 DataFunTalk 累计生产原创文章800+,百万+阅读,15万+精准粉丝。