天然语言处理在eBay的技术实践


本文由 【FMI飞马网】原创,原文连接:天然语言处理在eBay的技术实践php

由飞马网主办的“FMI人工智能&大数据高峰论坛”,大会上各位专家带给咱们的关于人工智能的深深的思考都还在继续......
算法

在大会上,来自eBay的李睿老师为咱们详细介绍了NLP(天然语言处理)在eBay的具体应用及其运用场景。网络


李睿性能

李睿,eBay Inc. Tech Lead数据科学家,项目负责人,负责研究与开发电子商务平台上用到的分类识别算法。熟悉文字、图像处理、分类的各类经典算法。大数据

NLP——搜索的支撑网站

在演讲中,李睿给咱们介绍到,做为电商企业,搜索功能是其重中之重。可是搜索由什么支撑呢?搜索引擎

答案就是天然语言处理。除此以外,还有一些其余的东西在支撑,能够保证eBay在世界20多个国家都可以有网页,可以说不一样语言的人买东西,使得我在美国卖,在俄国的买家可以用俄语看到咱们的商品,可以用俄语进行搜索,这背后就是机器翻译在支持。人工智能

那么问题来了:怎样使语音结构化,来提升搜索准确率?翻译

李睿老师给咱们举了个例子:因为不一样地区的文化差别,有些搜索关键词在不一样的地方含义不一样。好比在欧洲有人输入Iphone orange,他不是要搜索一个橘色的Iphone,他是要搜索叫orange的供应商所绑定的Iphone。这里面须要经过质问识别,来识别出用户在这个场合,这个词究竟是什么意思?只有正确的进行了这样的理解以后,才可以准确的进行搜索,准确的找到用户想要的东西。orm

搜索跟分类器

用户在eBay上,是想要买新的仍是旧的?搜索的出来的卖家产品是新的仍是旧的,怎样作正确匹配?怎样针对不一样的用户群去作个性化推荐?这些都是分类器帮助个性化搜索。

分类器很大程度上可以帮到机器翻译,就像上文提到的orange,要不要翻呢?要不要从英语翻到德语呢,是须要分场合的。若是它被识别成颜色,那就应该翻译;若是识别成一个手机供应商,那就不须要翻译。一样的也是,若是识别出来这个词是表示一个品牌,它也不须要翻译。因此分类器背后,NER是一个很重要的组成部分。


NER的做用与目的

说到这里,相信会有人问:NER的做用是什么呢?目的是什么呢?在演讲中,李睿老师为咱们作了很好的解释。好比你在eBay上要找一个关键词,它要把这个标题上每个单词,尽量的把每个单词,都分红某一个列别,打成一个标签。你好比说New,他须要把它标成一个Condition,Apple是一个品牌,iPhone6s,它但愿可以把它识别成model为,16GB,可以识成容量,ATT,Locked,绑定的就是手机供应商,SPACE GRAY是颜色,Smartphone是类别。

传统的NER的作法很简单,每个词就是一个对象,这个词有多长,里面含有一些什么样的字母的组合,以及他这个先后文,它出如今句子的开头或者结尾,它里面是几个词,有了这些特征以后,就能够训练一个Classifiers。

后来,神经网络兴起以后,你们就用词向量,使得这些矢量能够表明他的语意,并且矢量还能够从新加减,后来就用词向量,发现效果获得了很是大的提高。固然,这是用谷歌本身的词向量,而对于电商,由于它是用谷歌的New训练出来本身的词向量,不必定适用于电商,后来咱们就把本身的商品做为训练数据,训练出了本身的词向量,性能获得了进一步的提高。这几年,你们都作神经网络,神经网络的perform会更好,咱们训练出了本身的神经网络,perform获得了进一步的提高。这些NER可以在各个领域对用户体验进行帮助。

eBay的类别推荐系统演进

据李睿老师介绍,eBay在美国的网站上有一万六千个分类,因此对于C2C的用户来讲,有时候本身的商品会放在错误的分类里面,影响买卖。而经过类别推荐,能够将用户的商品放在正确的门类中。

尽管有类别推荐,但仍是会有一些偷懒点错或者故意点错的现象出现。还有一些商品的评价,有一些是真正的评价,有一些是一些无关的脏话或者其余等等,对于这些的状况都是须要系统自动分类出来。

李睿老师给咱们举了eBay的例子,eBay最先的推荐版本,Histogram版本很是简单。由于虽然eBay有1万6千个类别,你们类别的分布是很是不均匀的,10%的商品都是手机,手机事实上是eBay卖的最好的一个类别。可能有0.0001%是卖一些记念品或者什么样的,分布很是的不均匀。当你画出柱状图以后,每个类别有一个几率,他根据这个几率把一个新的商品分到这个门类下去。实际上有50%的准确度。

后来你们发现这个办法实际是太土了,就作了一步改进,这也是用的不少的算法,这也是NLP里面用的不少的一个算法,他的原理是当你进行一个,你输入卖的产品的标题以后,它把标题作一个搜索关键词,利用搜索引擎找到跟你这个产品相似的标题,好比找到一百个产品或者五百个产品,他就看这些产品分属于哪些类别,从50%提升到73%的准确度。但由于咱们的类别会常常改,每一个季度都会有一些增长或者删减,他会自适应的适应类别的改变。可是它的坏处也是,刚才那些放错了类别的商品,会使得准确度降低。

因而在2015年的时候eBay就作了一些改进,好比说一百个类似产品里面,他分属于10个类别,这10个类别,不能简单的根据哪一个类别的商品多就用哪一个类别,而是再加了一层逻辑,用本来属于这些类别的商品,就是一些比较大的,比较多的数据量作的一个统计语言模型,这个也是NLP的一个重要的技术,统计语言模型,作了一个model以后,从新对这10个领域进行排序。这一步简单的作法,就使得精确度从73%提升到了81%。这是一个很简单的算法。

一样的,神经网络出来以后,神经网络兴起以后,咱们也想,神经网络会不会使得它有更好的性能。咱们作了一些卷积神经网络,你们觉得,最开始的时候主要是应用于图象的,卷积,对图象上抽取的特征,一样的思路,也能够应用于文字上,作了以后发现效果果真不错,从81%提升到了90%的精确度。可是,这个算法也有问题,有两个问题,第一你须要很大的宣传样本,第二还有一个问题,就像咱们刚才提到的,咱们的类别,每一个季度都在变,他变的很少。

在演讲中,李睿表示,她的理念是,能用简单的就不要用复杂的,尤为在工业界里面越复杂系统越容易出错。

怎么去用咱们的分类器在背后能识别出他们分别是商品自己,或者是套装,或者是附件呢?具体的作法是这样的:

好比来了一个标题,我把它符号化,首先这个标题叫作Red leather case for iPhone7。符号化以后,由于是你对一个词典,Red不在我这个词典里面,我就把它标成星号, Leather case我把它标成A,for是至关于一个链接词,就用数字4来替代,Iphone7是一个型号,它也是一个产品,因此用P,produce。有了这个以后,我就把它做为一个统计语言模型,说白了,就是算一个几率,第一个字符是星号的几率,第二个字符是A的几率,第三个字符是4的几率,第四个字符是P的几率,作了语言统计模型以后,你们若是熟悉统计语言模型的同窗就应该知道,其实他要考虑上下文,他不能简简单单的只看当前词或者当前符号的几率,他但愿可以有先后文。

统计语言模型里面就有所谓的,就是我只关心前一个词,两个词的模型,给定前一个字符是A,下一个字符是4的几率。有人可能以为这两个词不够,我要三个词,前面是星号A,下一个字是4的几率,这是最简单的模型的概念,有了这个统计模型以后咱们就能够训练一个分类器了。

但为何要作符号化这一步呢,不少统计语言模型都是用词自己,好处是什么?一样的模型,能够用在手机的类别下,能够用在照相机的类别下,能够用在电脑的类别下,它结构比较类似,你符号化以后,它会用一样的模型适用于不一样的状况,这就是它的好处。这就是统计语言模型在NLP,它是NLP的技术,这是分类器的应用。

最后,李睿老师表示,技术是共通的,就像NLP、分类器、机器翻译等技术,不仅是运用于电商,也能拓展到其余领域。全部语言处理,文字处理背后,其实都是NLP的各类技术在支撑。明白了这个(NLP)天然语言处理的基本技术,你就能够应用在各行各业里边。

最后,附上李睿老师现场演讲的Q&A:

Q:请问符号化的过程是一个虚拟的过程仍是说是人工标注的呢?

A:你能够作人工标注,咱们最开始是作的人工标注。固然你须要有一个词典,你要知道在手机类别下,我有哪些关键字是可以被标注的,我知道Iphone7在个人字典里面,因此我能把它标注成,有些是个人词典里面没有的,我就不标。因此这个词典的构造是人工构造的,固然你能够想象,用NER的技术也能够作一些标注,能够作绿标注,而后人工的去调整,都是能够的。

Q:请问要快速的对一个物品进行分类的话,如何保障效率呢,是只是离线的吗?

A:没有,这个固然是线上的,神经网络它训练的时候确定是要变得更长,可能训练好几个礼拜,都有可能。关键是你在运用的时候,你在对新来的商品进行分类的时候,你不须要训练,你只是用这个模型作一个估计。这一步,神经网络时长是很快的,贝叶斯也很快,神经网络运算稍微复杂一点,可是也都是在几十毫秒的量级,不影响实时性的。

Q:你好,我想问一下,刚刚您讲到上下文处理问题,能再讲一下吗?有没有一些办法或者算法?

A:上下文,有几个办法,一个办法就是所谓的,就刚才提到的,由于他用这个条件几率,前面出现一个词,后面出现另一个词,事先用训练样本把这些几率算出来,以后你来了新的样本的时候,若是发现了一样的先后文组合,就会把这个几率算进去,这是一种作法。

还有一种作法,这就是所谓的统计语言模型,它是一个马尔可夫链的概念,他是以一个词一个词为单位,就看在你的文章中出现这个词的几率有多少,你来的新的样本若是也出现这个词就把这个几率用进去,他把两个词的短语或者三个词的短语作成一个单位,把这个几率也算出来,到时候,当你的新的样本里出现了两个字的短语或者三个字的短语的时候就把这个几率用进去,各类方式都有,看你的训练样本的复杂度来决定。

Q:有了统计语言模型以后,是怎么来计算套装产品这个过程的?

A:有几种作法,统计语言模型作出来以后,条件几率都算好了,你来了以后,固然咱们的作法是这样子的,你在训练的时候,你就把它切成各类,你把全部各类各样的组合都挑出来,有一个A4P,这种挑出来以后,你就统计出他的几率,新来的这个样本里边,若是也出现了A4P,你就把这个几率存在里头,你就算出,固然有这个几率,出现其余的几率,还有条件几率的模型,把它存在一块。

相关文章
相关标签/搜索