打字猴:1.704849913e+09
1704849913
1704849914
1704849915
1704849916
1704849917 图1–1 用户画像
1704849918
1704849919 (图片制作:https://wordart.com/create)
1704849920
1704849921 初步了解推荐系统架构,有助于我们更好地认知这一过程:信息是如何匹配给用户的,用户的选择又是如何影响后续信息分发过程的。
1704849922
1704849923 在推荐系统没有大规模应用于内容分发之前,人们更多地通过搜索的方式来获取信息。如果你对NBA(美国男子职业篮球联赛)感兴趣,或许需要时不时地在搜索引擎中查询“NBA”来了解最新资讯。
1704849924
1704849925 从工程角度来看,推荐系统的架构与搜索系统的架构具有一定的相似度:二者实现的都是信息与用户意图之间的匹配。搜索系统是将海量内容与用户表意明确的查询词相关联,推荐系统则是将海量内容与用户没有明确表达的偏好相关联。我们可以将推荐问题极度简化:当用户只有一个爱好“NBA”时,那么推荐引擎给用户的结果就可以近似等于搜索引擎在“NBA”这个搜索词下的结果。
1704849926
1704849927 首先,我们从简化的问题开始:搜索系统的架构是什么样的?
1704849928
1704849929 如图1–2所示,我们通常将搜索系统划分为离线和在线两部分。
1704849930
1704849931 其中,离线部分专注于内容的搜集和处理。搜索引擎的爬虫系统会从海量网站上抓取原始内容,并针对搜索系统的不同要求建立不同的索引体系。比如,我们假设新内容是有时效性消费价值的,那么,为了让新内容能够被更好地检索,就可以建立专门的时效性索引用于存储几小时之内发布的内容。
1704849932
1704849933 索引是一个基于关键词的序列,每一个关键词对应一长串提及该关键词的内容(倒排索引)。比如,“教育”这个词命中内容1、2、3,“NBA”命中了另外一批内容1、2、4。
1704849934
1704849935 在线部分负责响应用户的搜索请求,完成内容的筛选和排序,并最终把结果返回给用户。
1704849936
1704849937 当用户输入搜索词后,系统会首先对搜索词进行分词、变换、扩充、纠错等处理过程,以便更好地理解用户的搜索意图。如图1–2所示,用户只输入了“NBA”一个关键词,系统发现“NBA”和“美职篮”是同义词,就会将其扩充,以便两个词都可以应用在索引的查询上。又如,你输入了“NB2K”,系统认为你的输入有误,就会将其纠正为“NBA2K”,并首先返回相应结果。
1704849938
1704849939
1704849940
1704849941
1704849942 图1–2 搜索系统架构
1704849943
1704849944 经历完搜索词处理后,将进入召回环节。系统通过多种方式从不同的索引数据里获得候选集合。在图1–2中,就进行了一个“2×2”的过程,两个搜索词“NBA”与“美职篮”分别查询了全量的索引数据和时效性索引数据,一共获得了8篇内容的集合。
1704849945
1704849946
1704849947
1704849948
1704849949 图1–3 输入“NB2K”的显示结果
1704849950
1704849951 召回得到的候选集合会继续进入排序环节,通过更精细的计算模型对每一篇候选内容进行分值计算,从而获得最终结果(如图1–2中的文章10和文章1)。
1704849952
1704849953 在展示给用户之前,搜索结果还需要经过规则干预这一环节。规则通常服务于特定的产品目的,对计算产出的内容进行最终的调整。假如我们有这样一条“官方网站保护规则:确保所有品牌名搜索词都可以优先返回官网”,那么规则层就会在文章10和文章1之前,强行插入NBA官方网站返回给用户。
1704849954
1704849955 在结果展示给用户之后,用户的点击反馈会影响到排序环节的模型。在图1–4中,用户在展示给他的两篇内容中只点击了文章10,这一行为会被模型记录为统计文章10和文章1在搜索词“NBA”下的表现情况。如果在“NBA”的搜索结果中,更多人点击了文章10,那么文章10在后续计算中的权重会升高,从而获得更靠前的展现位置(即点击调权的过程)。
1704849956
1704849957 以搜索系统为参考基础,我们可以更好地理解推荐系统的工作方式。
1704849958
1704849959 推荐系统的离线部分同样需要通过各种方式来获取待推荐的内容(如用户提交、协议同步、数据库导入等)。对内容平台来说,其内容的结构化要远胜于推荐引擎爬虫抓取的内容。
1704849960
1704849961 之后,离线系统依据推荐引擎对信息的不同理解维度对这些内容进行索引化处理,如话题、类目、实体词等。图1–4中展示了两个维度:分类维度和实体词维度。
1704849962
[ 上一页 ]  [ :1.704849913e+09 ]  [ 下一页 ]