一鸣作者

从700多支队伍脱颖而出,知乎这个算法大赛冠军这样让大V「谢邀」答题

鸽了多日的知乎大 V 为何频频「谢邀」?潜水多年的小白为何突然开始积极回答?昨日,智源-看山杯专家发现算法大赛正式落幕。机器之心带你走进冠军算法,揭秘什么样的方法能让系统准确邀请到答题者回答问题。

知乎是目前国内最大的知识问答社区。截止 2019 年 1 月,它已经成为一个拥有 2.2 亿用户的平台。每天平台上都会产生大量的新提问,但是如此海量的问题往往不会被能够回答问题的答题者主动发现。因此,有时候需要用户或平台算法主动向潜在的答题者提出邀请,让他们来回答问题。

知乎建立的早期,邀请主要由用户向熟悉的其他答题者进行邀请。随着用户规模和问题数量的增长,人工方法不能满足实际的需求,因此知乎需要一种算法能够自动向专家邀请回答领域内的问题。

为了利用知乎积累的海量高质量文本数据和行为数据,2019 年 8 月份知乎联合智源人工智能研究院推出了专家发现算法大赛,寻找一种答题者推荐合适问题的算法。据介绍,为期四个月的比赛中,吸引了全球 11 个国家或地区 711 支队伍、1631 名选手参赛。

本次比赛共设三个级别的奖项,其中一等奖一名,二等奖两名,三等奖四名。经过几轮角逐后,昨日,智源-看山杯专家发现算法大赛举行了颁奖典礼。比赛冠军由 test 团队获得,团队成员为来自腾讯的曹雄。而亚军和季军获奖团队成员分别来自电子科技大学、广东工业大学、华南理工大学、重庆邮电大学、北京邮电大学、Keep京东等高校和企业。

在颁奖典礼上,北京智源人工智能研究院副院长、清华大学计算机系副主任、教授唐杰称,2019 年智源人工智能研究院先后组织了 10 次竞赛,本次比赛是智源 2019 人工智能大赛的任务之一。智源研究院通过采用新的科研组织形式和人才引进培养模式,希望推动人工智能发展方向和理论、方法、工具、系统等方面的关键性突破。

知乎技术副总裁李大任表示,知乎希望能够贡献自身的数据,帮助人工智能社区发展,同时通过大赛改进知乎的内容推荐和搜索方法,推动技术进步。

随着算法等方面的进步,目前知乎平台上新提问的三天解答率为 70%,在热门关注问题上解答率则为 80% 以上。

为 183 万问题寻找答题者,这个赛题不简单

本次比赛的任务是:给定相关数据,判断被邀请的答题者是否会回答被推荐的问题,是一个推荐领域的匹配问题。

尽管看起来这是一个 matching 方面的问题,但是这一任务实际上面临很多挑战。例如它有着冷启动方面的问题——85% 的问题只有四个及以下的回答,而 66% 的用户没有回答过任何问题。

同时,任务也面临着新出现问题信息少、描述少、获取文本特征不充分的问题。此外,考虑到现实中答题者本身精力有限,而提问者对问题的需求有一定的即时性要求。如何让算法能够平衡这一矛盾也是一个值得探究的话题。

另一个较为困难的点在于,赛题涉及的数据量非常大但较为稀疏。数据集总共包含了 183 万个问题,近 200 万专家(即答题者)画像,以及 1100 多万的问题邀请记录。其中有很多问题从来没有人回答过,大量潜在的答题者都是潜水的小白,许多邀请记录是负样本。

这样一来,就要求参赛者能够从海量的稀疏数据中使用特征工程的方式,尽可能多的获取问题、用户画像和邀请记录中的各种特征,从而将数据进一步凝练。

在数据集的构建中,知乎随机选择了一个月的邀请数据进行训练,其之后一周的数据则为测试数据。其中正样本进行保留,而负样本则采样了一部分。

在比赛中,参赛队伍在获得数据后需要进行训练和测试,测评以 AUC 为指标,并按照性能进行排名。

获奖队伍使用的算法模型如下所示:

从较为靠前的排名选手使用的模型可以看出,大部分参赛者都使用了模型融合的方式进行构建。其中,使用最为广泛的是 LightGBM,一个决策树机器学习模型。此外,还可以看到和梯度提升有关的模型也受到关注,如 Catboost 和 XGBoost。最后,深度学习模型也占据着重要地位,包括 DeepFM、Wide&Deep 等。

从这里可以看出,在推荐任务上,非深度学习算法依然有着重要的地位,特别是 LightGBM、各类 Boosting 算法。它们在计算效率、特征处理等方面具有一定优势。但是深度学习强大的拟合能力,使其在包括推荐系统在内的机器学习领域都具有了一定的地位。

算法加持,特征工程也很重要

获得一等奖的是来自腾讯的 test 团队,团队仅有成员曹雄一人。他主要的研究方向是推荐算法和系统。

这一算法使用了两种机器学习模型,并采用了 5 类数据特征,通过训练模型并融合结果,取得了 0.8969 的 AUC 性能,在 700 多支参赛队伍中排名第一。

在他的解题过程中,首先对数据进行特征工程,然后将特征输入到模型中进行训练并调参,最终评价结果。其中,特征工程无疑是解题中非常关键的步骤。

5 大类别数十种特征的使用

在数据特征上,冠军算法采用了以下 5 类特征,其中每一类都包含了很多特征:

1. 用户特征

2. 问题特征

3. 用户兴趣命中特征

4. 问题统计特征

5. 用户行为特征

看起来非常分的很清楚了,但实际上,这些特征还可以继续细分,分为类别特征、文本特征、行为特征等,有些可以直接从数据中获得,而有些则需要按照时间等方式进行统计,还有一些则需要进行编码处理(如文本等)。

举例说明,在用户特征方面,用户性别、创作数量、关注话题等属于其本身的类别特征,但同时也会有它的行为特征,如用户问题标题点击率统计等。有些用户行为就需要按照天区间进行统计,如分为 1 天、7 天、14 天、30 天。同时,还可以对用户行为相似性进行统计,如问题标题点击相似等。而问题也具有类别特征,如所属话题等,还有点击率等需要统计计算的特征。

另一方面,对问题标题、描述等文本进行特征工程也是必不可少的。例如,对于问题的标题和描述,可以使用单字的嵌入或分词后进行词嵌入的方式进行处理,像冠军算法中就采用了 64 维的词嵌入

在经过了周密的特征工程,充分挖掘特征后,解题进入下一阶段:选择模型并训练。

LightGBM+DeepFM:优势互补的模型融合

冠军算法采用的是模型融合的方法,分别使用数据在 LightGBM 和 DeepFM 两个模型上进行训练,并以 0.7 和 0.3 的权重进行融合,取得最终的 AUC 结果。

据曹雄介绍说,LightGBM 是一种较为常用的、推荐系统领域的机器学习算法。在处理特征数量不太多的情况下性能较好。

具体而言,LightGBM 是一个梯度 boosting 的框架。使用决策树算法。和其他决策树(如 XGBoost)不同,LightGBM 的树在「生长」的过程中随树叶向下,即「Leaf-wise」。而其他树的生长,如 XGBoost,则是 Level-wise 的。

LightGBM 算法图解

随着树的子叶进行收敛使其速度更快,对于内存的占用也更少了。而且 LightGBM 支持使用 category 的特征,因此在有很多类别特征的推荐系统中使用较广。这也是为什么基本上所有参赛选手都选择它作为模型一部分的原因。

在冠军算法中,LightGBM 模型中使用的超参数如下:

num_leaves=800learning_rate=0.035min_data_in_leaf=100max_bin=2047

当然,和科研有所区别,竞赛中一般会选择采用多个模型融合的方式,使整体效果得到提升,因此冠军算法还选择了 DeepFM。

DeepFM 是一个深度学习模型。首先,对于不同的特征,它采用「分而治之」的方法,让不同的特征都对应不同神经网络层,将这些特征的独热编码映射为密集向量。然后,将神经网络和因子分解机(Factorization Machines, FM)结合起来,采用并行或串行的方式,让 FM 和全连接层分别映射低阶和高阶的特征,最终实现预测。

DeepFM 的优势在于其强大的学习能力,和相比 DNN 更小的计算量。据曹雄介绍,当特征量非常巨大的时候,神经网络相比 LightGBM 等算法实际上具有更好的性能优势。

在实际过程中,test 团队对于 DeepFM 进行了一定改进,具体架构图如下:

从架构上可以看到,这里的 DeepFM 模型采用的是并行的方法:一方面使用 FM 建模特征,但同时使用 Pooling 方法单独建模用户相关的特征。同时还使用了点积计算,将问题和用户特征共同映射。最终,和 DeepFM 一样,将 FM 学习到的特征和神经网络学习到的特征一同映射到一个全连接层,并最终预测结果。

从最终的结果来看,LightGBM 取得 AUC 为 0.895,DeepFM 取得的 AUC 为 0.88。通过模型融合的方式,最终的 AUC 为 0.8969。

在专家点评环节,知乎算法团队负责人孙付伟评价说,这一工作采用了和知乎团队相似的特征工程工作,但是仅使用单模型就取得了很高的性能,是非常令人惊讶的。

作为一家知识内容平台,知乎一直重视技术创新价值的挖掘。自 2016 年引入机器学习技术以来,知乎已经将人工智能、算法技术应用到社区内容和产品体验的各个环节中。通过比赛征集算法思路,知乎可以进一步生产大量优质内容,每天为 10w+的问题找到合适的答题者。

入门比赛算法知乎
1
相关数据
唐杰人物

唐杰是清华大学计算机系副教授。他以学术社交网络搜索系统Arnetminer而闻名,该系统于2006年3月推出,目前已吸引来自220个国家的2,766,356次独立IP访问。他的研究兴趣包括社交网络和数据挖掘。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

梯度提升技术

梯度提升是用于回归和分类问题的机器学习技术,其以弱预测模型(通常为决策树)的集合的形式产生预测模型。 它像其他增强方法一样以阶段式方式构建模型,并且通过允许优化任意可微损失函数来推广它们。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

XGBoost技术

XGBoost是一个开源软件库,为C ++,Java,Python,R,和Julia提供了渐变增强框架。 它适用于Linux,Windows,MacOS。从项目描述来看,它旨在提供一个“可扩展,便携式和分布式的梯度提升(GBM,GBRT,GBDT)库”。 除了在一台机器上运行,它还支持分布式处理框架Apache Hadoop,Apache Spark和Apache Flink。 由于它是许多机器学习大赛中获胜团队的首选算法,因此它已经赢得了很多人的关注。

独热编码技术

独热编码是将分类变量转换为可提供给机器学习算法更好地进行预测的形式的过程。 一种稀疏向量,其中:一个元素设为 1;所有其他元素均设为 0。 one-hot 编码常用于表示拥有有限个可能值的字符串或标识符。例如,假设某个指定的植物学数据集记录了 15000 个不同的物种,其中每个物种都用独一无二的字符串标识符来表示。在特征工程过程中,您可能需要将这些字符串标识符编码为 one-hot 向量,向量的大小为 15000。

京东机构

京东(股票代码:JD),中国自营式电商企业,创始人刘强东担任京东集团董事局主席兼首席执行官。旗下设有京东商城、京东金融、拍拍网、京东智能、O2O及海外事业部等。2013年正式获得虚拟运营商牌照。2014年5月在美国纳斯达克证券交易所正式挂牌上市。 2016年6月与沃尔玛达成深度战略合作,1号店并入京东。

腾讯机构

腾讯科技股份有限公司(港交所:700)是中国规模最大的互联网公司,1998年11月由马化腾、张志东、陈一丹、许晨晔、曾李青5位创始人共同创立,总部位于深圳南山区腾讯大厦。腾讯由即时通讯软件起家,业务拓展至社交、娱乐、金融、资讯、工具和平台等不同领域。目前,腾讯拥有中国国内使用人数最多的社交软件腾讯QQ和微信,以及中国国内最大的网络游戏社区腾讯游戏。在电子书领域 ,旗下有阅文集团,运营有QQ读书和微信读书。

http://www.tencent.com/
知乎机构

作为中文互联网综合性内容平台,知乎将AI广泛应用与社区,构建了人、内容之间的多元连接,提升了社区的运转效率和用户体验。知乎通过内容生产、分发,社区治理等领域的AI应用,也创造了独有的技术优势和社区AI创新样本。

https://www.zhihu.com
机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
卡路里科技机构

Keep 致力于提供健身教学、跑步、骑行、交友、健康饮食指导及装备购买等一站式运动解决方案,持续打造「自由运动场」来帮助人们随时随地尽享运动。 Keep APP提供丰富的运动课程、社区交友、产品功能;Keepland线下城市运动空间,轻便的小团课精品课程使城市人群可以随时随地享受运动的乐趣;KeepKit智能硬件是部署「家庭」场景,硬件产品KeepKit连接运动与家庭场景,以内容为核心的智能运动产品平台,重塑家庭运动体验;KeepUp 是 Keep 的运动服饰品牌。年轻、酷感和运动是 KeepUp 一脉相承的品牌特点。

https://www.gotokeep.com/
用户画像技术

用户画像(persona)的概念最早由交互设计之父Alan Cooper提出:“Personas are a concrete representation of target users.” 是指真实用户的虚拟代表,是建立在一系列属性数据之上的目标用户模型。

推荐文章
暂无评论
暂无评论~