APP下载

社会化阅读平台的信息查询提示机制优化

2019-04-16严中华孟亚琪程秀峰

图书馆论坛 2019年4期
关键词:特征向量书目检索

严中华,孟亚琪,程秀峰

0 引言

在社会化阅读平台中,由于信息过载,用户越来越难找到符合需求的书目。特别是学习型用户在使用平台时需要探索不熟悉的领域,检索难度提升使他们有可能有意避开专业领域而去寻找感兴趣的阅读资料,导致建立在搜索引擎上的查询提示工具在不熟悉用户的情况下提供有偏差的提示信息。一般来说,用户通常只会利用简短的非语义检索词来进行查询(往往只有1~2 个词),这并不能反映出其深层的检索需求。查询扩展被认为是解决检索过程中非语义问题的有效方案[1]。它使搜索引擎具备扩展查询词语义范围的能力,是信息检索领域研究的重点问题。查询提示(也称作查询建议)功能便是查询扩展的一种实际应用。对大多数检索系统而言,即使具有较高的语义理解和信息处理能力,其响应速度也不能达到查询提示功能的水平,查询提示功能的出现缓解了因查询式过短而产生的语义缺乏问题。学者尝试从多种角度,包括查询日志、首次检索结果、多种聚类方法等来实现提示信息的生成[2-4],但在所用语料的多源信息融合、系统的实用性和可预测性方面一直存在拓展空间。本文使用响应速度较高的词-词关联的解决方法,快速融入包含用户查询行为的特征库,得到优化后的查询提示结果;并用实证检验这一方法的有效性,通过检验丰富度和检全率两个指标来评价这一方法的效果。

1 相关研究

用户提供的查询式往往较短,因此查询扩展(Query Expansion)一直是检索过程中存在的问题。Furnas 于1987年提出查询扩展概念[5],随后学者们提出多种解决查询扩展问题的方法,如查询提示。但应用查询提示得到的结果在实用性和可预测性上依然不能彻底解决信息过载问题。从信息融合角度看,查询提示研究根据提示信息的生成来源可划分为两类:独立于查询历史的研究和基于查询历史的研究。

独立于查询历史的研究主要基于文档内容或文档链接的相似度计算,得到文档-词的频率矩阵,利用矩阵进行查询扩展[6]。但是,矩阵存在稀疏性、计算开销大、精度低等缺点。为解决这个问题,有学者提出只计算查询结果中文档的相关词[7],有学者提出可直接使用词典得到查询提示结果[8],也有学者提出利用知识库(维基)扩展生成查询提示结果[9]。独立于查询日志的方式缺点是机械性、精度低、无法预测用户检索意图。由于硬件处理数据效率的不断提高,这种方法逐渐被具有动态行为反馈功能的查询提示机制所取代。基于行为反馈的查询提示研究,建立在日志与文本分析技术的基础上。Cucerzan 等利用日志中的session 信息,提出一种方法用以识别用户的目标网页,探寻用户的查询意图[10]。Baeza-Yates等将查询日志中的查询记录进行聚类,当新的查询式出现时,利用向量相似度度量和识别相似的查询记录并推荐给用户[11]。Barouni-Ebarhimi 等通过计算用户提交的查询式历史频率来作为查询提示的参考[12]。国内学者利用日志中的有效信息,通过概率统计[13]、聚类[14]、图理论[15]、语义关联[16]等建立模型,进行查询扩展与提示信息的生成。

对阅读社区应用而言,查询提示大多停留在利用词典机械扩展查询词的水平,提示结果并不理想[17]。因为,当学习型用户进行书目检索时,除书名信息外,并不能融入更多内容相关信息。针对阅读社区,构建一个集用户各种检索行为于一体的行为特征库,利用关键词序列、访问链接、停留时间等信息进行多源融合,为查询提示提供快捷的查询扩展接口,是简洁高效的手段。目前学者对用户行为特征库(简称“特征库”)已有一定研究,大量应用型研究均集中于用户画像与信息的精准推荐方面,鲜有针对阅读社区查询扩展的特征库。本文根据日志信息,通过提取用户特征向量,构建用户行为特征库的方式,将特征库的离散信息融入查询扩展机制,做到扩大查询提示维度的同时又保证响应速度快、推荐结果具有一定丰富度和可预测性,进而提升用户体验。

2 用户行为特征库

用户在网络交互过程中会留下很多记录,包括用户个人信息,如认证、浏览、检索、购买等信息;以及群体性或交互性信息,如评论、发布的内容。从中可以挖掘出用户行为规律。因此,建立针对个人的行为画像,构建特征库成为可能;也可以利用特征库的信息挖掘个体或群体的行为规律,进而进行知识推荐或信息决策。

2.1 特征库的组成

用户行为特征库是各种体现用户行为特征离散信息的融合。融合过程需要对不同类型的行为特征进行形式化描述。社会化阅读平台的特征库由五个基本方面组成:(1)认证特征,存储用户的认证信息,如用户名、用户编号及其他基本信息。(2)分布特征,存储用户的时间(访问时间)和空间(基站ID、IP 地址等)分布特征信息。(3)浏览特征,记录用户点击跳转页面时的信息,如目标页面、访问时间,以及页面的停留时间。(4)检索特征,主要是检索时使用的关键词序列(将检索式进行分词和筛选处理)。(5)交互特征,用来存储用户在信息发布、评论、打分、留言等文本信息。

2.2 特征库的构建

用户检索行为特征的提取与融合是构建优化查询提示机制的主要方面,因此上述五种特征信息并不都具有查询扩展功能上的意义。根据文献[18]与文献[19]中用到的日志特征种类,将从以上特征类型中筛选出具有检索扩展意义的特征向量和元组进行重组。将有效的检索行为与检索特征向量一一对应,并以此为基础构建检索特征库。本文认为具有检索扩展意义的用户特征有三类:分布特征、浏览特征和检索特征。

(1)分布特征。在检索系统的服务器日志中包含了多种特征信息,如IP 地址、Cookie、session、访问时间等。这些参数分别可以用于统计用户空间和时间分布信息。下面的公式可用于描述用户的分布特征:

DFi表示用户i 的分布特征向量,是一个包含地理位置信息的实践序列。vtn表示用户访问时间,ipn表示用户IP 地址。

(2)浏览特征。用户浏览特征除包含用户点击的目标页面信息(URL),也包含用户每次点击后在目标页面的停留时间,因此浏览特征比用户点击特征更有价值。下面的公式用于描述用户浏览特征:

BFi表示用户i 的浏览特征。urln表示用户访问过的页面URL,stn表示用户在该URL页面的停留时间。

(3)检索特征。用户检索特征在构建过程中会抽取用户每一次检索所提交的检索式,并通过相关处理得到关键词序列。下面的公式用于描述用户检索特征:

SFi表示用户i 的检索特征向量。swn表示检索式中第n 个检索词。每个检索词所表示的语义与主题有效特征并不相同,因此,引用刘湘生提出的主题分面组配公式,将各个检索词的语义信息按照一定标准进行概括性划分,tmn表示检索词的主题分面类型,包括“主体-通用-时间-空间-文献类型”等语义标注类型[20]。

每类特征信息对语义扩展的价值不同。经过经验性筛选,本文从三类特征信息中提取具有检索意义的元组,分别是IP 地址、访问时间、关键词序列、查询结果URL 和停留时间。页面链接(URL)用于有效浏览的判断。IP 地址用于判断用户发生检索行为的地点。本文主要针对阅读平台查询提示,因此地理特征并没有被融入,但该特征对其他应用领域(如基于地理位置的内容推荐)则十分必要。停留时间信息对于决定扩展的结果十分重要。为此,在构建特征库时着重考虑URL、停留时间、关键词序列三项特征。图1描述了用户检索行为特征库的构建过程。

图1 用户检索行为特征库构建过程

3 查询提示机制的优化过程

查询提示机制过程可分为三部分:特征库构建、查询过程优化、查询提示生成。特征库的构建过程中,需要收集每一次有效检索的检索式A1和检索结果A2,以及检索结果的浏览时长A3,为了确保记录的有效性,检索式需要与URL 进行有效性匹配过滤。过滤所得可作为构建检索特征向量的基础。当特征向量积累到一定数量之后可以根据其关键词共现频率建立频数矩阵,再利用频数矩阵计算其词-词欧氏距离矩阵,之后通过后述标准化公式对矩阵进行标准化,使得矩阵的数值都在0 到1 之间,并形成j*j(j 为特征向量集中涉及到的所有关键词和检索结果词的总数)矩阵,即完整的相似度矩阵;剔除掉所有关键词的行和列,可以得到只关系到书与书之间的i*i(i 为检索结果词的数量)相似度矩阵。图2是检索特征库融入到检索过程的具体图示。

图2 查询结果不为空时的查询提示过程图示

图3 查询结果为空时的查询提示过程图示

查询过程优化过程贯穿整个书目检索过程,该过程通常可以根据用户输入的检索式查找篇名、作者等书目基本信息,得到包含检索式或检索式子集的书目集LIST1,初步过滤后得到LIST1’,且LIST1’是根据相关度排序,融入浏览时长与URL 等信息。查询提示生成过程中首先应按LIST1’顺序逐一在书目相似度矩阵中查询与该书目高相关的书目。LIST1’前n 本书找到的相关书目构成相关书目集LIST2。在根据书目的源书目(即找到该书目的依托书目)及二者之间的相似度进行加权,最终排序输出LIST2’作为查询提示。在这个过程中,并不是所有查询都是合适的,因为总会有检索式Q 的查询结果为空。因此,当用户输入的某个检索式导致结果为空,查询提示机制会按照图3流程为用户提供信息。

当用户查询结果为空时,会用到前述过程中没有用到的完整相似度矩阵SM(j*j)。这个过程分为两部分(忽略前述中相似度矩阵的构建方法):查询式分解与查询提示构建。查询式分解过程即通过分词、去停用词的方法提取关键词序列。在查询提示构建过程中,将上一过程提取出的关键词序列中的关键词在相似度矩阵中进行查询,将相同关键词的高相关书目进行记录;最终形成未排序的相关书目集合LIST3,然后依据相似度进行排序后得到LIST3’,可以作为查询提示输出。如最终形成的查询提示为空,则有几种可能:查询式Q 中有错别字、查询式不够充实。此时,提示用户检查查询式输入是否有误或建议其扩充查询式、更换检索词等。

4 实证过程

4.1 数据收集

数据来源是豆瓣读书TOP250①,采集排行榜前列225 本书的书名、作者、评分信息(评分与评分人数)、出版时间、(前10 个)热门标签、“有用”数量前3 的短评内容、“赞”数量前3 的长评内容。对不同的检索系统来说,选取标签、长评个数应作出相应改变。在“豆瓣读书”中,每一本书的主页都会显示其支持数前9~10 个标签(视标签长度而定),而前3 个评论(含长评及短评)的阅读量和互动数都明显高于其他长评。出于这样的考虑,本文选取每本书的前10 个热门标签、前3 个长评和短评的内容,其中标签、短评和长评的内容用于书目主题特征值的确定。

4.2 形成检索特征向量

检索特征的统计算法分为两步。首先设置阈值,根据每次检索的页面停留时间过滤掉无效浏览的情况;其次将有效检索的相应检索结果URL转化为结果内容信息,具体到某一本书、某一份报纸、某一本刊物等读物的信息,并同时统计其检索特征信息(即关键词序列),关键词序列和检索结果将共同构成一次有效检索的检索特征向量。

(1)筛选有效检索。在不同的检索系统中,可根据检索对象适当变更有效查询的判断方式。本文针对书目检索系统,将判断阈值设置为δ=30s,目标页面停留时间大于δ 的浏览行为被称作是一次有效检索的结果。该次检索行为也是一次有效检索。检索结果信息和检索特征将会根据下面方法进行处理。

(2)检索特征向量的构建。检索特征向量由检索特征信息和检索结果两部分组成。检索特征信息可直接从服务器日志中提取,每一条检索特征信息以关键词序列的形式存在。在书目检索系统中,检索结果通常是一本书,因此要统计每一本书的书目信息,初步形成书目特征向量。书目特征向量分为两个维度:书目信息特征和书目主题特征。对于学习型用户来说,用户兴趣并不是重要的维度,因此没有纳入书目特征的考虑。书目信息特征向量公式为:

Bli表示编号为i 的书目的信息特征向量。authorName 表示作者,publishPeriod 表示出版年代,scoreLevel 表示评分级别(豆瓣评分数据与评分人数加权值分级),origin 表示书目来源(国内/国外)。考虑到学习型用户需求多为探索型,国籍对学习型用户的意义不大,且“作者”维度与“国籍”维度之间的区分度低、相关度高,因此本文将书目来源的维度定义为“国内”和“国外”两个值。书目主题特征向量公式为:

BTi表示编号为i的书目的主题特征向量,type1表示书目体裁,type2 表示书目题材,theme1表示书目主题1,theme2 表示书目主题2。相比短评和长评的内容,热门标签的适用性更高,原因是:以短语和词语的形式出现,无需预先处理;而且其参评人数是书评内容的5~10倍,甚至更多。确定书目主题特征值有三个步骤。

第一,筛选热门标签。通过咨询专家和笔者讨论,将每本书10 个热门标签按如下原则筛选:①删除长句子。②删除作者名与国籍信息,如遇地名,则判断书目主题是否与地名非常相关:是,保留;否,删除。③删除重复信息,如“明史”“明朝”“历史”同为某书热门标签,则删除“明史”标签。④删除“文学”标签,其区分度几乎为零。⑤合并同义词、近义词,如“爱情”与“言情”,“大学”与“校园”。⑥合并学术领域,如“心理学”与“心理”,“政治学”与“政治”。⑦拆分组合词,如“古典名著”拆分为“古典”和“名著”两个标签。筛选方法如下:将原始数据以Excel 表格的形式收集在一张表中,规格为225*10。依次按照上述原则来删除或合并符合要求的标签。笔者将不同处理人员的筛选结果进行了一致性检验,检验结果表明该筛选原则并无界限不明或引起歧义之处。

第二,将标签填入相应主题特征维度。将经过筛选的热门标签根据属性分别填入主题特征的题材、体裁、主题维度后,所有书目题材和体裁都已填充完毕,部分书目的书目主题部分没有值或是只有一个值。

第三,提取主题词。利用中文分词软件对待填充书目的长评和短评内容进行分词并归纳共现频数,去掉停用词和无意义词。按照频数大小选择词语作为书目主题特征值填入书目主题特征向量公式中。最终形成的书目主题特征向量(部分)见表1。

4.3 创建相似度矩阵

得到检索特征向量后,需分别根据词的共现频率建立关键词共现矩阵FM。比如,“兄弟”和“人性”两个词在所有书目主题特征向量中共同出现2 次,则FM(“兄弟”“人性”)=2,同时该矩阵是一个对阵矩阵,因此FM(“人性”“兄弟”)=2。共现矩阵FM 建立目的是计算各关键词之间的距离,从而对其进行标准化,量化为关键词或书目之间的相似度。本文用于计算的距离选择的是欧氏距离,公式如下:

表1 书目主题特征向量(部分)

其中δ(x,y)表示书目x 和书目y 在n 维空间中的欧氏距离。i,j 分别为书目x,y 的编号。aik为矩阵第i 行所对应第k 维的值,ajk为矩阵第j行所对应第k 维的值。本文用于计算标准化相似度的公式如下:

其中,s(x,y)表示书目x 和书目y 的相似度。c 是一个常数,本文中取c=1.4。经过公式2 的计算,可以将矩阵的值都控制在[0,1]之间,以上处理是一种科学的将相似度量化为数值的方法。

根据公式(1)(2)计算结果,分别形成书目信息相似度矩阵和书目主题相似度矩阵,并进行加权处理。考虑到对于学习型用户的需求,笔者认为书目主题的重要性大于书目信息,但书目信息中的作者、年代维度又是书目检索与推荐的必备因素,因此将书目主题的权重定为w1=0.6,将书目信息的权重定为w2=0.4。最终形成的书目相似度矩阵(部分)结果见表2。

表2 书目相似度矩阵(部分)

4.4 融合性比较分析

本文方法更加看重算法在查询提示丰富度和覆盖(检全)率两个维度上的表现。因此从这两个方面出发,分别对该方法进行评价[21]。

(1)丰富度。丰富度的计算公式如下:

图4 查询提示的丰富度结果表

其中Vi表示ID 为i 的书目的查询提示丰富度,SNi表示该书目在普通书目检索系统中检索结果的、属于原始数据库的书目数量,RNi表示该书目的查询提示结果的、属于原始数据库的书目数量。计算结果如下:丰富度最大值为38,表示以这本书的书名作为查询式时查询提示的书目数量为38;最小值为1,表示这本书的书名作为查询式时查询提示书目的数量为1,没有改善。平均数为9.734,中位数为4,标准差为10.644,表示书目查询提示结果的书目数量并不是非常稳定,随着数据量的上升,这种情况会逐步改善。丰富度评定具体结果如图4所示。其中,横轴表示丰富度区间,纵轴表示图书数量。

在书目检索系统中,用户普遍使用书名进行检索,而得到的书目通常是书名相符的一本书(系列图书、重名图书除外)。因此,本文认为检索提示结果数量大于1 的查询视为比普通查询结果更丰富的查询。由图4看出,49 本书的查询结果丰富度为1,176 本书的查询结果丰富度大于1,因此176/225(78.22%)的检索式可以在检索提种得到比普通检索更丰富的结果。

(2)覆盖率。覆盖率计算公式如下:

其中,ci为ID 为i的书目的覆盖率,RN’i为该书目二次查询提示的书目数量,即首次检索的提示数目,加上在此基础上对第一个提示条目进行检索的查询提示数量,并去重后的结果数量。T为样本总数,在本研究中为225。

查询提示排序机制应用了社会网络分析方法中中心度的概念。中间中心度表示书目的中介性,即该书目作为两书目之间最短路径的中间节点的次数;接近中心度则由节点与其他节点距离之和计算得到,可以描述书目整体的中心性。考虑到学习型用户在使用书目检索系统时更加需要提示结果的引导作用,因此笔者认为中间中心性的重要性应大于接近中心度,故分别给两者赋权值7 和3。另外,由于这两个值在计算方法上并不同,因此在进行加权之前会对其进行标准化处理,标准化方式是用原中心度值除以该类中心度最大值。综合中心性计算结果见表3。

表3 综合中心性计算结果(部分)

根据中心性计算结果和相似度矩阵,计算书目查询提示的二次查询提示的书目覆盖率和二次检索相对于一次检索的覆盖率提升情况。以二次检索覆盖率作为检索覆盖率指标的原因是,用户喜欢在检索过程中选择重构检索式,以修正检索方向。二次查询提示书目覆盖率计算结果见图5,其中纵坐标表示图书数量,横坐标表示二次检索后查询提示的覆盖率区间。二次检索相比单次检索的查询提示覆盖率提升情况见图6,其中横坐标表示覆盖率提升的倍数区间,纵坐标表示图书数量。

图5 二次查询提示书目覆盖率

图6 二次检索覆盖率提升情况

由图5看出,只有40 本书的二次检索覆盖率不高于1%,也就是大约82.22%的检索式经过两次检索后都可以得到数据集中1%以上的书目。有些书目的主题非常流行或主题并不鲜明,可能会导致检索过程中得到太多的查询提示(有13 条检索式在二次检索后得到超过数据集中20%的书目)。因此,在应用过程中,查询提示列表的排序更重要,因为本文的目的是向用户提供最优而不是最多的提示结果。

由图6可看出,在225 条检索式中,59 条检索式在二次检索后并未提升书目覆盖率,166条检索式在二次检索后均有1 倍以上的覆盖率提升。其中,有22 条检索式在进行二次检索后较单次检索提升了5 倍以上的覆盖率,这是因为有部分书目的相似书目很少,但是与之相似的书目却拥有很多相似书目。

实验结果表明,本文提出的查询提示优化方法在丰富度和覆盖率两个方面都比普通书目检索系统更加出色。对于学习型用户来说,在检索初期很可能并没有明确的检索目标,因此提示列表提示结果的丰富度和检全率有助于用户更快地确定检索方向,具有一定预测性。

5 结语

本文利用检索特征向量构建用户检索行为特征库,并融合传统书目检索系统从而实现书目查询提示。在实证部分,利用数据集进行查询提示机制的模拟实验,并量化和计算了提示结果的丰富度和检全率。实验证明,本文提出的方法可以在提示丰富度和提示书目覆盖率两方面提升用户检索体验。并且由于丰富度的提高,该查询提示机制非常适合学习型用户进行探索,除了提供直接相关的书目,还会根据其他用户的检索数据找到用户潜在需要的书目。同时,对学习型用户来说,查询提示结果的丰富性和检全率可以很好地引导用户找到合适的检索方向。在研究与实验过程中,笔者也发现了该方法的局限性:(1)特征库的构建还需要进一步融合其他类型的行为信息,从更丰富的维度优化提示机制。(2)检索特征库的成长需要一定时间,提示效果是随着数据量增长而提升的。下一步的研究将会着重研究提升检索特征向量维度的多样性,从更丰富的角度构建检索特征库,从而使检索特征库能代表更广泛人群的检索行为。本文认为查询提示优化方法的提出可以在未来的研究中辅助形成一种适合学习型用户(或无具体检索目标的用户)使用的书目检索系统。

注释

①来源:https://book.douban.com/top250,检索日期:2017-11-09。

②书目编号-书名索引:B1-《追风筝的人》;B2-《小王子》;B3-《围城》;B4-《解忧杂货店》;B5-《或者》;B6-《白夜行》;B7-《挪威的森林》;B8-《嫌疑人X 的献身》;B9-《三体》;B10-《不能承受的生命之轻》。

猜你喜欢

特征向量书目检索
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
推荐书目《初春之城》
克罗内克积的特征向量
瑞典专利数据库的检索技巧
在IEEE 数据库中检索的一点经验
一种基于Python的音乐检索方法的研究
一类三阶矩阵特征向量的特殊求法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
《全国新书目》2009年1月荐书榜
赠书书目