这家中国AI公司,1个月拿了两个世界第一

7月收官,8月开局。回顾整个火热的7月,除了商汤股东变动、科大讯飞的定向增发这类资本事件,在技术赛事方面,笔者还关注到有一家AI公司在7月的两场国际顶级会议竞赛中,都获得了第一。这家公司就是总部位于上海的深兰科技。

月初,第17届IEEE ISI会议公布了IEEE ISI 2019国际大数据分析竞赛结果,深兰科技分别取得了一项冠军和一项季军的优异成绩,尤其在夺冠的企业投资价值评估赛题中战胜了来自中科院自动化所的团队。

而上周,SIGIR 2019 eBay数据挑战赛结果出炉,深兰科技又斩获冠军,在SIGIR这场国际信息检索领域顶级会议的电子商务研讨会组织的挑战赛中,战胜了京东和Mercari这两家以电商为主营的上市公司。

深兰科技在业界一直以落地应用著称,从早期的新零售TakeGo自贩柜、quiXmart快猫智能零售平台,到近期在智能驾驶领域的表现,如熊猫智能公交车以及AI智能扫路机等,都可圈可点。技术方面一直较为低调的深兰科技,7月份连拿两个国际技术赛事的第一,不禁令人重新审视。

就此,我们联系到深兰科技董事副总裁、深兰科学院院长王昕磊博士。他表示,深兰科技成立之初即完整地规划了深兰科学院的架构,并陆续成立了五大研究院,致力于人工智能基础研究和应用开发。在核心技术的基础研究方面,深兰科技矢志不渝,不但为自身的商业化应用落地持续注入强劲能量,更希望赋能更多行业,将"人工智能,服务民生"的理念落实到底。

同时,我们也有幸邀约到深兰科技DeepBlueAI团队,对上周SIGIR上新近取得的优异成绩进行了技术解析,一探冠军团队的实力。该方案不仅可以应用在电子商务的召回任务中,也可以应用在智能客服,文章推荐等需要做文本匹配的场景中。

赛题介绍

本次比赛是由eBay搜索组组织的高精度召回任务,挑战针对的是电子商务搜索中的常见问题:展示非相关性排序时要显示的项目。用户通常按非相关性的维度进行排序,例如流行度、评论得分、价格等。本次比赛的重点在于:使用非相关性排序时找到应该召回的内容。比赛数据集包括大约90万条来自eBay收藏类别中的特定字段,以及与收藏类别相关的150个热门搜索查询短语。每条数据带有商品标题,价格,分类目录和相应图像网址的URL。参赛选手要合理运用数据集材料,来判断查询短语和文档是否相关。

评测指标

使用150个查询短语的平均F1-score作为本次竞赛的主要性能指标。得分越高代表模型性能越好。

题目特点

在这次比赛中,主要有以下难点:

1. 数据量大

原始数据集共约90万字段,150个查询短语,两两组合即要预测约1亿3千万个(document, query)对是否相关。

2. 匹配难度大

给定的query长度短,一般为2-3个专业性英文单词,最长的不超过6个词,匹配难度较大,对建模挑战较大。

3. 训练集小,调优难

在约1亿3千万条(document, query)中只有6万余条数据作为训练集,其余部分全部需要给出预测结果。此外,150个query中每个query的训练集数据量差异很大,需要对average-f1指标进行优化处理。

特征工程

我们通过LightGBM模型来验证特征效果。特征分三部分构成,第一部分是对query做基础属性特征;第二部分是对商品做基础属性特征;第三部分就是对query与商品做组合特征。在所有的特征当中,query与title的句向量以及在句向量的基础上再做的特征对效果影响较大。我们针对这点尝试了不同的文本,单词处理方法与不同的词向量训练方法去生成query与title的句向量。

· query基础属性特征

a. query单词的个数,query数字的个数;

b. query的形容词占比与名词占比;

c. query的语义向量。

· 商品基础属性特征

a. title单词的个数,title数字的个数;

b. title的形容词占比与名词占比;

c. 商品类别的hash值(5列),商品类别是逐级递减的,最多5级,下一个类别是上一个的子集;

d. 最后一列商品类别的hash值;

e. 最后一列商品类别的value_counts;

f. 价格分箱,一个查询可能搜索出价格差异较大的两个商品,价格分箱能体现出这两个商品的差异;相比直接把价格做特征,价格分箱能把两个价格相近的商品归为一类。下图是商品的价格分布,可以看出价格分布差异较大,而做完价格分箱后,能弱化这种差异,价格分布都很集中。

· 查询关键词与商品组合特征

a. title句向量与query句向量的差值与点积;

b. title句向量与query句向量的相似度,相似度计算包括cosine, cityblock, canberra;

c. query单词与cate单词相同的个数,query单词与title单词相同的个数;

d. 使用fuzzywuzzy计算字符的编辑距离;使用fuzzywuzzy计算单词的编辑距离;

e. title单词数与query单词数的差值与比值;

f. 价格分箱针对query,与直接用价格分箱相比,对每个query分别做分箱,能使每个query的价格分箱互不干扰;

g. BM25计算query与title的相关性分数,BM25算法通常用来作搜索相关性评分。其主要思想为:对query进行语素解析,生成语素qi;然后,对于每个商品title D,计算每个语素qi与D的相关性得分,最后,将qi相对于D的相关性得分进行加权求和,从而得到Query与D的相关性得分。

BM25算法的一般性公式如下:

· 不同的单词文本预处理方法

a. 把句子里的标点与分隔符去掉,并转成小写;

b. 把句子里的标点与分隔符去掉,提取词干并转成小写;

c. 不去特殊字符,直接用空格分隔,转成小写。

· 句向量的生成

a. 用预处理好的title与query训练使用word2vec来生成词向量,然后生成句向量,虽然总语料库数据量小 ,但是使用它们训练得出的词向量更能体现出该数据的特性,同时也能覆盖到更多的词;

b. 用google已经预训练好的词向量来生成句向量。

实验模型

在本次比赛中,我们实验了几种经典的文本相似度匹配、自然语言推理模型,包括CNN, BiGRU, decomposable attention, ESIM等,其中效果最好的是ESIM。

我们最好的单模型是在ESIM中引入我们构造的特征,这部分特征我们称作 dense feature。在实验中发现把 dense feature 和 nn 模型某一层直接 concat 的效果并不好,我们参考了 product neural network 概念以及 LSTM 中的 Gate 设计,我们把 dense feature 作为 gate 来使用,使用中我们把 dense feature 经过全连接层得到和子模型维度一样的表示向量,然后加上 sigmoid 激活函数,再进行 element-wise-multiplication,这样 dense feature 就可以控制子模型的信息流通,通过实验发现这样的结构在各个子模型上都能够得到较大提升。优化后的Gate-ESIM模型结构如下:

效果优化

考虑到不同的query的训练数据量和分布都有些不同,并不一定都使用0.5作为正负例的划分阈值。所以我们可以调整每个query预测出来概率的正负例划分阈值,来优化Average F1-Score。

相对于测试集,训练集的数量较少,为了让调整阈值后的结果更稳定,我们选择对训练集进行10折交叉验证,每折用10个不同的种子分别训练得到10个模型,然后把预测结果取平均。同样,对测试集预测时,全量训练集用10个不同的种子分别训练得到10个模型,然后预测结果取平均。

在搜索阈值时,我们以优化10折交叉验证结果上的得分为目标。之后将10折交叉验证上搜到的阈值用于测试集。并且考虑到训练集中有些query数量较少,二分类的阈值微调后对验证集的分数会影响很大,所以我们选择只对训练集中样例数大于120的query调整阈值,数量约为整体的81.3%。这种优化方法虽然会在本地数据集上出现轻微的过拟合,但线上测试集也得到的较大提升,对我们后期的提分也是至关重要的。

实验结果

*注: loca最好的结果E没有来得及提交。

从实验结果来看基于我们构造的特征的LightGBM模型在Ave-F1指标上也取得了0.7521的成绩,也能在榜单中排名前列,证明我们在特征工程上做了很多有效的特征。经过参数调优的ESIM[1]模型在Ave-F1指标上也取得了非常好的效果,同时我们通过初始化预训练词向量和采用门限机制的Gate-ESIM的效果得到进一步提升。

我们使用多种子10折交叉验证的方法在local搜索阈值对Ave-F1进行调优,经过这一步优化后的结果,线上成绩达到0.7731,提升非常明显。最后我们对Decomposable Attention Model[2]模型也进行了优化,最后和优化后的Gate-ESIM模型进行融合,在local效果上再次提升了千分之5左右,因结束时间理解有误未能提交到线上。

工作总结

· 提出了一种用 dense feature 做 gate 的网络结构,使得原有的模型得到较大提升。

· 对正负例划分阈值进行优化来提升评测指标效果。我们采用在local结果上进行阈值搜索的方式来优化评测指标,为了使得搜索到的阈值更稳定可靠,我们采用10折交叉验证并结合多seed的方式获取local预测结果,并且只在那些有不低于120个样本的query下进行阈值搜索。

· 构造丰富的基于query,商品以及query-商品对的特征。

· 使用不同的预处理方法构造特征,加强了特征表达。

进一步工作

· 尝试利用商品的图像信息

· 对query和doc进行数据增强,增加更多训练样本

· 对query进行扩展

· 使用BERT进行Fine-tune

参考文献

[1] Chen, Qian, et al. "Enhanced LSTM for Natural Language Inference." ACL. 2017.

[2] Parikh, Ankur, et al. "A Decomposable Attention Model for Natural Language Inference." EMNLP. 2016.

本文为转载内容,授权事宜请联系原著作权人。

ebay

2.2k
  • “亚马逊封杀”事件三年后,跨境电商傲基科技转战港股IPO
  • eBay与美国司法部达成5900万美元和解协议,了结关于非法出售药丸压片机的指控

评论

暂无评论哦,快来评价一下吧!

这家中国AI公司,1个月拿了两个世界第一

7月收官,8月开局。回顾整个火热的7月,除了商汤股东变动、科大讯飞的定向增发这类资本事件,在技术赛事方面,笔者还关注到有一家AI公司在7月的两场国际顶级会议竞赛中,都获得了第一。这家公司就是总部位于上海的深兰科技。

月初,第17届IEEE ISI会议公布了IEEE ISI 2019国际大数据分析竞赛结果,深兰科技分别取得了一项冠军和一项季军的优异成绩,尤其在夺冠的企业投资价值评估赛题中战胜了来自中科院自动化所的团队。

而上周,SIGIR 2019 eBay数据挑战赛结果出炉,深兰科技又斩获冠军,在SIGIR这场国际信息检索领域顶级会议的电子商务研讨会组织的挑战赛中,战胜了京东和Mercari这两家以电商为主营的上市公司。

深兰科技在业界一直以落地应用著称,从早期的新零售TakeGo自贩柜、quiXmart快猫智能零售平台,到近期在智能驾驶领域的表现,如熊猫智能公交车以及AI智能扫路机等,都可圈可点。技术方面一直较为低调的深兰科技,7月份连拿两个国际技术赛事的第一,不禁令人重新审视。

就此,我们联系到深兰科技董事副总裁、深兰科学院院长王昕磊博士。他表示,深兰科技成立之初即完整地规划了深兰科学院的架构,并陆续成立了五大研究院,致力于人工智能基础研究和应用开发。在核心技术的基础研究方面,深兰科技矢志不渝,不但为自身的商业化应用落地持续注入强劲能量,更希望赋能更多行业,将"人工智能,服务民生"的理念落实到底。

同时,我们也有幸邀约到深兰科技DeepBlueAI团队,对上周SIGIR上新近取得的优异成绩进行了技术解析,一探冠军团队的实力。该方案不仅可以应用在电子商务的召回任务中,也可以应用在智能客服,文章推荐等需要做文本匹配的场景中。

赛题介绍

本次比赛是由eBay搜索组组织的高精度召回任务,挑战针对的是电子商务搜索中的常见问题:展示非相关性排序时要显示的项目。用户通常按非相关性的维度进行排序,例如流行度、评论得分、价格等。本次比赛的重点在于:使用非相关性排序时找到应该召回的内容。比赛数据集包括大约90万条来自eBay收藏类别中的特定字段,以及与收藏类别相关的150个热门搜索查询短语。每条数据带有商品标题,价格,分类目录和相应图像网址的URL。参赛选手要合理运用数据集材料,来判断查询短语和文档是否相关。

评测指标

使用150个查询短语的平均F1-score作为本次竞赛的主要性能指标。得分越高代表模型性能越好。

题目特点

在这次比赛中,主要有以下难点:

1. 数据量大

原始数据集共约90万字段,150个查询短语,两两组合即要预测约1亿3千万个(document, query)对是否相关。

2. 匹配难度大

给定的query长度短,一般为2-3个专业性英文单词,最长的不超过6个词,匹配难度较大,对建模挑战较大。

3. 训练集小,调优难

在约1亿3千万条(document, query)中只有6万余条数据作为训练集,其余部分全部需要给出预测结果。此外,150个query中每个query的训练集数据量差异很大,需要对average-f1指标进行优化处理。

特征工程

我们通过LightGBM模型来验证特征效果。特征分三部分构成,第一部分是对query做基础属性特征;第二部分是对商品做基础属性特征;第三部分就是对query与商品做组合特征。在所有的特征当中,query与title的句向量以及在句向量的基础上再做的特征对效果影响较大。我们针对这点尝试了不同的文本,单词处理方法与不同的词向量训练方法去生成query与title的句向量。

· query基础属性特征

a. query单词的个数,query数字的个数;

b. query的形容词占比与名词占比;

c. query的语义向量。

· 商品基础属性特征

a. title单词的个数,title数字的个数;

b. title的形容词占比与名词占比;

c. 商品类别的hash值(5列),商品类别是逐级递减的,最多5级,下一个类别是上一个的子集;

d. 最后一列商品类别的hash值;

e. 最后一列商品类别的value_counts;

f. 价格分箱,一个查询可能搜索出价格差异较大的两个商品,价格分箱能体现出这两个商品的差异;相比直接把价格做特征,价格分箱能把两个价格相近的商品归为一类。下图是商品的价格分布,可以看出价格分布差异较大,而做完价格分箱后,能弱化这种差异,价格分布都很集中。

· 查询关键词与商品组合特征

a. title句向量与query句向量的差值与点积;

b. title句向量与query句向量的相似度,相似度计算包括cosine, cityblock, canberra;

c. query单词与cate单词相同的个数,query单词与title单词相同的个数;

d. 使用fuzzywuzzy计算字符的编辑距离;使用fuzzywuzzy计算单词的编辑距离;

e. title单词数与query单词数的差值与比值;

f. 价格分箱针对query,与直接用价格分箱相比,对每个query分别做分箱,能使每个query的价格分箱互不干扰;

g. BM25计算query与title的相关性分数,BM25算法通常用来作搜索相关性评分。其主要思想为:对query进行语素解析,生成语素qi;然后,对于每个商品title D,计算每个语素qi与D的相关性得分,最后,将qi相对于D的相关性得分进行加权求和,从而得到Query与D的相关性得分。

BM25算法的一般性公式如下:

· 不同的单词文本预处理方法

a. 把句子里的标点与分隔符去掉,并转成小写;

b. 把句子里的标点与分隔符去掉,提取词干并转成小写;

c. 不去特殊字符,直接用空格分隔,转成小写。

· 句向量的生成

a. 用预处理好的title与query训练使用word2vec来生成词向量,然后生成句向量,虽然总语料库数据量小 ,但是使用它们训练得出的词向量更能体现出该数据的特性,同时也能覆盖到更多的词;

b. 用google已经预训练好的词向量来生成句向量。

实验模型

在本次比赛中,我们实验了几种经典的文本相似度匹配、自然语言推理模型,包括CNN, BiGRU, decomposable attention, ESIM等,其中效果最好的是ESIM。

我们最好的单模型是在ESIM中引入我们构造的特征,这部分特征我们称作 dense feature。在实验中发现把 dense feature 和 nn 模型某一层直接 concat 的效果并不好,我们参考了 product neural network 概念以及 LSTM 中的 Gate 设计,我们把 dense feature 作为 gate 来使用,使用中我们把 dense feature 经过全连接层得到和子模型维度一样的表示向量,然后加上 sigmoid 激活函数,再进行 element-wise-multiplication,这样 dense feature 就可以控制子模型的信息流通,通过实验发现这样的结构在各个子模型上都能够得到较大提升。优化后的Gate-ESIM模型结构如下:

效果优化

考虑到不同的query的训练数据量和分布都有些不同,并不一定都使用0.5作为正负例的划分阈值。所以我们可以调整每个query预测出来概率的正负例划分阈值,来优化Average F1-Score。

相对于测试集,训练集的数量较少,为了让调整阈值后的结果更稳定,我们选择对训练集进行10折交叉验证,每折用10个不同的种子分别训练得到10个模型,然后把预测结果取平均。同样,对测试集预测时,全量训练集用10个不同的种子分别训练得到10个模型,然后预测结果取平均。

在搜索阈值时,我们以优化10折交叉验证结果上的得分为目标。之后将10折交叉验证上搜到的阈值用于测试集。并且考虑到训练集中有些query数量较少,二分类的阈值微调后对验证集的分数会影响很大,所以我们选择只对训练集中样例数大于120的query调整阈值,数量约为整体的81.3%。这种优化方法虽然会在本地数据集上出现轻微的过拟合,但线上测试集也得到的较大提升,对我们后期的提分也是至关重要的。

实验结果

*注: loca最好的结果E没有来得及提交。

从实验结果来看基于我们构造的特征的LightGBM模型在Ave-F1指标上也取得了0.7521的成绩,也能在榜单中排名前列,证明我们在特征工程上做了很多有效的特征。经过参数调优的ESIM[1]模型在Ave-F1指标上也取得了非常好的效果,同时我们通过初始化预训练词向量和采用门限机制的Gate-ESIM的效果得到进一步提升。

我们使用多种子10折交叉验证的方法在local搜索阈值对Ave-F1进行调优,经过这一步优化后的结果,线上成绩达到0.7731,提升非常明显。最后我们对Decomposable Attention Model[2]模型也进行了优化,最后和优化后的Gate-ESIM模型进行融合,在local效果上再次提升了千分之5左右,因结束时间理解有误未能提交到线上。

工作总结

· 提出了一种用 dense feature 做 gate 的网络结构,使得原有的模型得到较大提升。

· 对正负例划分阈值进行优化来提升评测指标效果。我们采用在local结果上进行阈值搜索的方式来优化评测指标,为了使得搜索到的阈值更稳定可靠,我们采用10折交叉验证并结合多seed的方式获取local预测结果,并且只在那些有不低于120个样本的query下进行阈值搜索。

· 构造丰富的基于query,商品以及query-商品对的特征。

· 使用不同的预处理方法构造特征,加强了特征表达。

进一步工作

· 尝试利用商品的图像信息

· 对query和doc进行数据增强,增加更多训练样本

· 对query进行扩展

· 使用BERT进行Fine-tune

参考文献

[1] Chen, Qian, et al. "Enhanced LSTM for Natural Language Inference." ACL. 2017.

[2] Parikh, Ankur, et al. "A Decomposable Attention Model for Natural Language Inference." EMNLP. 2016.

本文为转载内容,授权事宜请联系原著作权人。