基于BDI的语义搜索及其在数字旅游中的应用
2016-09-08李银胜沈剑平
陈 昊 李银胜 沈剑平
(复旦大学软件学院 上海 201203) (电子商务交易技术国家工程实验室 上海 201203)
基于BDI的语义搜索及其在数字旅游中的应用
陈昊李银胜沈剑平
(复旦大学软件学院上海 201203) (电子商务交易技术国家工程实验室上海 201203)
目前的上下文处理方法对语义技术支持不足,导致语义搜索在精准度和智能化上存在局限。提出一种基于BDI(Belief-Desire-Intention)的语义搜索方法,对动态上下文进行语义描述,利用BDI机制优化搜索结果。该方法将用户查询、动态上下文与BDI框架的Belief融合,通过产品特征语义、业务语义推理上下文特征和搜索目标特征作为Desire,通过基于MinHash的语义相似度计算进行候选Intention排序。结合项目需求,在JADEX开源BDI Agent环境下,开发了基于上述语义搜索的旅游产品搜索系统。该系统通过ID3决策树提取用户当前行程的上下文特征实现了语义搜索功能,实验表明该方法搜索准确率相比仅使用语义相似度搜索方法明显提高,能够满足旅游产品搜索的要求。
BDI语义搜索上下文
0 引 言
CNNIC的统计数据表明,截至2014年6月,我国搜索用户规模达5.07亿,较2013年12月增长1783万人,用户对搜索个性化、智能化的搜索需求增加[1]。电子商务发展使各行各业向互联网转型,传统信息检索系统由于对上下文考虑不足,面对各种不同应用场景时,准确度难以有较大提高。例如在旅游领域,游客安排行程时考虑因素复杂,需要在电商网站分析比对各种产品信息,由于缺乏上下文支持,较难获得个性化的搜索结果,用户需耗费大量精灵寻找满足行程需求的产品。
目前互联网上常见的全文搜索引擎与电商平台的搜索功能中,均有语义技术应用。全文搜索引擎一般使用文本模型如概率模型、语言模型进行建模,结合知识图谱技术实现更精准的搜索[3,4];电商网站如淘宝、京东等,面向领域,使用文本模型、反作弊模型、服务质量模型等进行多层次筛选。语义技术从传统的概念匹配、歧义消解[5,6],到现在更多与信息检索紧密结合,用于解决日益严重的信息过载问题。
为提供良好用户体验,语义搜索需要上下文处理技术的支持,而目前相关应用存在以下局限:1)语义搜索类应用对上下文考虑不足,尚未与上下文紧密结合;2)查询历史、用户信息等静态资源作为搜索上下文,使用离线分析解决智能化问题导致实时性较低;3)使用业务规则的方法在处理业务复杂的场景如旅游产品搜索时规则库构造复杂难以维护。
本文结合笔者参与的旅游集散网(Travelhub.cn)项目,在用户搜索过程中,需要根据用户行程单中已添加的行程安排,提供个性化的旅游产品搜索结果。考虑到传统方法的不足之处,本文提出了一种基于BDI的语义搜索方法,该方法使用JADEX[2]开源BDI Agent环境,从产品特征语义,业务语义出发构建语义词典,结合动态上下文推理搜索目标,将MinHash语义相似度用于选项匹配。本文实现了针对旅游产品的语义搜索原型系统。该系统使用ID3决策树多维度动态提取搜索上下文特征,改进语义搜索对实时、动态的上下文支持,提高精准度和智能化程度。
1 相关工作
语义搜索需要上下文处理技术的支持以提高用户体验。上下文从来源上可区分为三类,用户上下文,资源上下文和系统上下文[7]。用户上下文指用户本身信息及其在检索过程中隐含的信息;资源上下文指选项本身包含的上下文信息,例如网页中的超链接等。系统上下文指系统所采用的检索模型,检索界面等。对这些上下文信息的处理方法主要有以下几类:
1) 规则推理方法
该方法通过显式反馈,伪反馈收集上下文信息,如用户在搜索过程中,系统向用户提出问题,或由用户主动设定上下文,如淘宝等网站中在搜索商品时可自行设置搜索的情景、偏好等,作为搜索权重调整依据。相关应用可以获取最准确的上下文信息,但无法为用户提供简洁的体验。另外规则条件需要构造专家知识库,维护工作量大。
2) 机器学习方法
此类方法一般通过隐式反馈收集上下文信息,如面向用户上下文的方法,如点击流反馈模型[8],启发式二元投票模型[9],相关应用有基于Oracle Spatial空间数据和MapXtreme的个性化行程定制[11]等,缺点是对数据记录进行离线分析导致对动态上下文信息支持不足;另一类面向资源上下文,如在网页对象排序中将网页对象本身属性作为上下文,如基于超链接分析的HITS算法[10]等,缺点是算法根据特定选项类型构造,通用性不足。相比前者,机器学习方法具有更好的用户体验,但相关应用在处理上下文时,对上下文的动态性、实时性考虑不足。
3) Agent方法
Agent方法利用了Agent架构本身的自治性、社会性、反映性、能动性特点,如文献[12]将基于Agent的将语义搜索应用于UDDI中的Web服务发现,但未考虑上下文。Agent架构繁多,文献[13]中提出了使用BDI架构的Agent建模方法。文献[14]在此基础上,构建了一种BDI Agent平台的运行框架。目前该框架已有多种实现,如JADEX等。BDI框架的应用通常适用于根据外界环境变化触发动作,来完成指定的目标。如文献[15]实现了一个基于BDI的旅游个人助理Agent,根据处理用户在旅游行程中的位置变化个性化搜索结果,文献[16]利用BDI推理框架将用户模型作为上下文,通过AHP层次分析法实现了基于用户模型的产品推荐。BDI Agent架构设计使得其在适合用于处理动态上下文,但主要基于传统搜索的混合加权,与语义技术结合尚不紧密,有待完善。
总结以上三类方法,其优缺点如表1所示。
表1 上下文处理技术优缺点总结
为改善现有语义搜索技术中上下文处理方法的动态性、实时性,本文参考Agent方法,以及其中的BDI架构,设计了一种基于BDI的语义搜索方法。将该方法用于BDI推理中的Belief生成,Desire推理,Intention匹配计算,并实现了面向旅游产品语义搜索的应用,在利用语义匹配较好精准度同时,能够适应行程的动态上下文需求。
2 基于BDI的语义搜索方法
2.1BDI基础架构
BDI架构包含三个主要概念,Belief(信念),即Agent具有的上下文信息,资源信息的集合。Desire(期望),即Agent期望达到或保持的状态。Intention(意图),基于BDI架构的Agent通过执行Intention来接近或达到Desire的状态。
Belief包含用户查询,选项数据和外部上下文数据。搜索上下文变化,用户查询输入均会导致Belief的更新,查询输入触发事件,引起BDI Agent内部状态变化,Agent将根据Belief生成Desire。在Desire的执行和推理过程中,需要通过可执行动作的Intention权重来选取适当的动作执行。
BDI Agent执行的基本流程如图1所示。
图1 BDI Agent执行流程
图1分为以下三个主要环节:1)用户发起查询后,BDI Agent首先需要根据用户输入的内容与上下文信息,更新Belief内容,如用户查询的特征词、用户上下文的内容等;2)更新内容结合Belief中已有的领域语义词典、候选项特征,生成Desire,即用户期望的选项特征;3)根据该特征,执行语义搜索,计算Intention与Desire间的语义相似度,得到最符合用户Desire的Intention,执行并向用户展示结果。
下文将介绍在环节1中的Belief构造和更新方式,环节2中使用Belief内容生成Desire的方法和环节3中Intention语义搜索的相似度权重计算。
2.2Belief构造与更新
Belief含义为Agent对世界和自身的认识,Agent的Belief包含三个部分:
1) 会话上下文数据用户的每次会话包含了查询目标,可能关联多次查询。以查找旅游产品为例,用户可能先输入由地理位置形容的关键词“附近的餐饮”,再补充输入产品的类别信息“高端”等,可自动将产品类别限制为“餐饮”,提高检索效率。
2) 产品数据及其领域语义词典产品数据中的产品特征将用于后期Intention的权重计算。例如产品的种类、特点、关键概念等。语义词典则用于消除特征中的歧义,实现语义化的搜索。本文构建的旅游领域语义词典使用TF-IDF,对排除停止词后的语料提取旅游产品描述中的关键概念。在此基础上,选取属于旅游产品领域词典子集的高频词作为旅游产品特征。
3) 外部上下文数据外部上下文数据将用于业务规则的触发,例如旅游场景中,当前已选择的旅游产品、天气、地理位置等。上下文数据提取方法根据适用场景有所区别,提取出的外部上下文的特征作为选项匹配的依据之一。
Belief有以下两种更新方式:
1) 用户行为更新按用户输入更新会话上下文数据和高实时性的外部上下文数据。
2) 后台异步更新考虑实现阶段的性能问题,对性能要求高,实时性要求低的数据,如旅游产品数据的领域语义词典和旅游产品概念的提取,采取后台更新的策略,Agent不会主动感知Belief的更新。当用户发起新查询时,Agent会使用最新版本的数据进行推理。
2.3Desire生成策略
Desire含义为Agent需求目标,即对搜索目标的具体特征要求。在旅游场景中,Desire即为用户期望产品的特征,这些特征从用户的查询中获取。Desire依据业务规则的推理结果和用户输入生成。Desire最终表达为一组语义特征集合,用于Intention倾向的计算。
Desire生成方法如下:
1) 基于用户查询内容对用户查询内容进行分词后,提取其中的有效特征,直接作为Desire中的语义特征集合。
2) 基于上下文信息例如用户的行程选择反映了其旅行目的等因素。上下文信息的使用方法众多,受上下文信息种类的约束。如文献[15]在构建上下文信息时以地理位置等信息构建。文献[16]以用户模型作为上下文。为保证上下文的全面性,Desire的推理方法是可扩展的。本文的后续实现基于旅游场景,考虑到旅游行程的连续性、动态性特点,通过选取具有类似特征但尚未选择的产品作为搜索的上下文,可在多维度上使用决策树进行分类,将ID3决策树规则作为上下文特征的生成依据。
生成语义特征后,将合并特征并使用语义词典的关系,如同义关系等,消除特征歧义,形成本次查询的Desire。
2.4Intention权重计算
在Desire生成完成后,对每个待计算Intention的行为,其排序依据Desire中的语义特征集合使用基于特征相似度的算法计算相似度作为其Intention权重。
计算特征相似度的方法主要有基于空间向量模型的欧氏距离,余弦相似度,基于哈希的MinHash,汉明距离等方法,以及基于主题相似度的LAS、PLSA等方法[17]。搜索是一种在线的、同步的动作,具有较高实时性要求,因此选择能快速批量估算多个集合相似度的MinHash算法。
定于语义词典为特征全集C,特定产品特征为Cs,Desire中包含了一组由用户查询和上下文信息得出的期望特征组的集合Sd={C1,C2,…,Cn}。Intention需要计算对于每个产品实体的相似程度。MinHash方法基于Jaccard进行相似度计算原理,当两个集合重复度越高,Jaccard越趋向于1。MinHash则使用随机抽样方法估算集合交集概率,将C1,C2,…,Cn与Cs所含集合映射到特征项[t1-tn]之间,其中t1,t2,…,tn∈C,随机选择[t1-tn]的一个排列组合,Tn∈Cx则此行标记为1,否则标记为0,依次查找第一次出现的行。矩阵取值公式如下:
(1)
表2为C1{t1,t4,…},C2{t1,t2,t4,…},C3{t3,…},C4{t4,…}时的示例。
表2 基于MinHash的产品特征相似度计算示例
对于C1列,根据第一次出现1的列数作进行哈希,得到h1(C1)=0,h1(C2)=0,h1(C3)=2,h1(C4)=3。通过多次抽取随机排列得到N个MinHash函数h1,h2,…,hn,依此对每一列都计算N个MinHash值。对于两个集合,根据N个哈希值中相等的比例,即可估计出两集合的Jaccard相似度如下:
(2)
其中:
(3)
该方法通常可以一次进行多个产品实体特征的计算,而旨在选项数量较多时,所有产品Cd并集的维度数要小于产品实体特征Cs个数,因此可同时降低空间复杂度和时间复杂度,提高效率。倾向计算完成后,将执行按相似度高低顺序返回选项的动作,满足Desire要求。
3 基于BDI的旅游产品语义搜索Agent实现
3.1系统总体架构
本文系统实现依托于旅游集散网(Travelhub.cn)数字旅游平台。该数字旅游平台是一个基于面向服务架构的协同平台,支持旅游产品的智能推荐和搜索,其移动客户端支持用户自由将各类产品组成行程单,因此需要在用户搜索时分析上下文,给出合适的旅游产品,提升用户体验。
结合项目需求,本文基于一种BDI Agent的Java实现JADEX,将语义搜索应用于该项目的旅游产品搜索中,并以行程单中的当前已安排行程作为语义搜索上下文。JADEX与BDI架构中的Belief-Desire-Intention表述略有区别,BDI中的Belief,Desire和Intention分别对JADEX中的Belief,Goal和Plan。Agent会根据外部变化会触发动作,通过选取执行Plan来达成Goal。
基于BDI的语义搜索系统总体架构如图2所示。
图2 总体架构图
其中数据层包括内存中的会话级别生命周期的上下文数据和数据库中的持久化的旅游产品数据,旅游产品数据需要通过文本特征提取生成每个产品的特征,并使用语义词典消除歧义。JADEX推理框架的Belief,Goal和Plan直接访问数据库或内存中的上下文数据。
业务层主要为JADEX推理框架,特征提取部分用于生成语义词典,并根据旅游产品的文本描述和属性提取特征词,进行离线预处理。JADEX框架则使用ID3提取上下文的特征词,与用户输入结合,进行MinHash相似度的Plan筛选和执行。
展现层主要基于Phone Gap实现的HTML5移动端界面,用于记录用户已选行程单,展示搜索结果。
在本文设计的BDI Agent搜索应用,根据用户当前已加入行程单产品和搜索历史作为上下文,提取行程特征,结合用户输入智能选取合理的旅游产品。语义搜索其执行流程如图3所示。
图3 JADEX执行流程
在执行上述流程前,首先需要进行语义词典和产品特征的预处理。在预处理完成后,搜索执行时首先依赖上下文模块将搜索上下文更新至Agent的Belief,并推理出目标特征存入Goal中,最后执行Plan的匹配与筛选。
3.2语义词典与产品特征预处理
旅游产品的语义搜索依赖领域语义词典,旅游领域语义词典通过对旅游产品的特征进行提取获得特征词。通过关系词典,如同义词典等为特征词增加关系。
旅游产品语义特征数据源来自:
1) 旅游产品属性,如酒店的星级分类、景区的类型等。
2) 产品描述描的文本特征。产品描述特征提取主要流程如图4所示。
图4 产品特征提取主要流程
本文使用中文语法分词器IK Analyzer[19]处理产品描述的中文分词。该分词器支持分词歧义排除功能和自定义拓展次,停用词库,适用于定制特定领域的分词词库。
分词完成后,使用TF-IDF提取产品描述特征词。本文选取了各类旅游产品中销量较高的产品作为语料库,用于IDF值计算,将特征词前K个最高TF-IDF值的作为产品的语义特征,由于存在停用词不完整等问题,TF-IDF得到的分词结果需要人工确认后才能在语义词典中启用。旅游产品语义特征中包含了TF-IDF值,用于后续可能存在的歧义消解。每个特征词对应一个GUID。
通常语义词典中包含的关系有同义、反义、部分、属于等。考虑到旅游产品搜索业务特点,同义词关系可减少特征相似度计算时的误差,属于关系需用于上下文倾向推理时的维度生成。因此本文向词典概念之间增加了同义,属于两类关系:
1) 同义关系的概念组合为概念簇,本文借助中文辞海数据库,将“同义”概念连接,并为每一个同义概念簇指定GUID,用于匹配时,在同义词簇中的概念使用GUID表示。
2) 属于概念通过属于关系关联,作为上下文倾向推理时的决策维度。属于概念参考旅游行程设计时的考虑因素,手工添加,详细说明见基于决策树的上下文倾向推理。
语义词典、产品特征耗时较长,需要首先完成初始化,Agent启动后可直接使用这些数据进行Goal期望特征生成与Plan的语义匹配。
3.3上下文语义特征解析
系统将用户行程安排作为用户检索的上下文,作为Agent的Belief。上下文从应用的行程单下获取,行程中包含用户已添加的旅游产品,以及在将产品加入行程单同时未选择的产品,隐含本次行程的各种特点,使用决策树的方式对旅游行程特征进行提取。对生成的决策树,转换为条件表达方式,作为检索依据。上下文倾向特征生成是一个上下文-行程特征-产品特征的转换过程。
决策树训练集包括两部分:1) 行程单中的已选择产品,chosen属性标记为TRUE;2) 加入行程单时搜索结果中的未选择产品,chosen属性标记为FALSE。因检索过程是同步的,本文依据旅游行程制定时的考虑因素,将“属于”概念的根结点分为价格维度、时间维度、地理维度、特征维度、交通维度、与语义词典中的概念或概念簇手动分类。如价格维度下使用了“奢华”同义词概念簇、“经济”同义词概念簇等;地理维度使用语义词典中来自产品“所在地”属性的概念。如表3所示。
表3 旅游行程的特征维度及其示例
以在行程单中搜索一处景点为例,其行程单中其他景点及其未选择景点的特征可从行程的其他已选和隐式的未选择实例使用ID3决策树训练,以此作为Goal权重的计算依据。如图5所示。
图5 上下文决策树生成
在选择结果为TRUE的叶节点上,可以得到如价格、时间、地理、特征、交通五个维度的值。所有为TRUE的叶节点可组合为一组用于JADEX推理执行的Goal目标特征。若K为决策树的TRUE叶节点数,则会生成K种目标概念。如在该结果下,上下文相关的特征为:
1) [簇2{经济…},概念{上海},概念{古镇}];
2) [簇2{经济…},概念{上海},概念{文化}]。
依据该特征组,即可与旅游产品特征进行第2.4节中所述的MinHash的相似度计算,用于Agent搜索执行过程中的Plan匹配和执行。
3.4语义搜索执行
用户发起查询后,使用IK Analyzer对查询进行分词和特征化,作为触发Agent状态改变的事件。同一会话的查询会记入Agent的Desire中,用于生成此次查询的目标概念。例如用户在查询中增加“豪华”词项后,如果没有指明产品类别,系统将尝试从Desire中追溯此次会话可能指代的产品类别,查询的构造将作为Goal更新的依据。
基于JADEX平台的Agent需要初始化自身的Belief,加载产品数据和语义词典,执行期间动态更新上下文数据及其特征。JADEX平台可通过Java 注解配置Agent的Belief、Goal和Plan的配置。其中不同Goal类型如表4所示。
表4 JADEX中Goal的分类及含义[2]
同一行程下的用户查询会绑定一个会话ID,每个Agent对应一个会话,设定超时时间,非活动的Agent会定期销毁,降低内存负担。新启动的Agent将生成一个与之对应的顶层Achieve Goal。对于旅游产品搜索应用中的每一个顶级Achieve Goal,其目标在于检索出与用户查询特征最相似的N个产品。顶级Achieve Goal下,关联了以下Goal和Plan:1) Maintain Goal用于维持当前查询的产品类型,根据会话信息增加例如查询产品种类限制,提高检索效率;2) 抽象查询Plan,执行动作为查询旅游产品Plan;3) 产品Plan,每个产品Plan对应一个产品,执行动作为返回其对应的旅游产品。检索旅游产品Plan的方法使用基于MinHash的语义特征相似度。考虑性能问题,使用语义特征相似度方法计算时,降低了产品数量维度数,减少相似度计算时间消耗。
4 实验与评价
本文实现的基于BDI的旅游产品语义搜索将用户加入行程单中的产品,即当前行程安排作为上下文,可以获得更适应上下文的搜索结果。为验证有效性,本文参考文献[18]总结的搜索评价指标,从前K项准确率、召回率等进行对比,并结合实验结果和本文方法流程特点进行分析总结。
本文使用模拟用户的实验方法,数据来源如下:
1) 旅游产品数据来自旅游集散网(Travelhub.cn)。
2) 标准行程来自马蜂窝(Mafengwo.cn)等旅游攻略网站。
其中各类旅游产品数据总量27 676项,标准行程收集5组。本文将行程单内容与旅游产品数据ID匹配,随机选取行程单产品的特征词,模拟构造了10组查询项,将搜索到的“可接受”产品作为准确结果。上下文的构建则随机选取行程中的其他旅游产品及其“忽略”产品用于ID3上下文特征决策树训练。通过真实的标准行程构造模拟用户搜索上下文,对搜索的准确率、召回率进行测试,步骤如下:
1) 收集行程单。将特定行程点上标准旅游产品的可替代产品记为“可接受”产品。其中可替代旅游产品限制为与标准旅游产品特征项Jaccard相似度大于0.3,旅游产品所在地距离不超过30公里。其他30公里内的同类产品记为“忽略”产品,用于模拟上下文。
2) 分别使用基于Jaccard相似度的语义搜索和使用BDI Agent的方法中下文的语义搜索进行查询。本文将对比传统Jaccard的相似度与BDI Agent方法。
3) 根据特定的行程,分析前K项搜索结果,属于“可接受”产品的作为准确结果。
由于用户对排序靠前的搜索结果更关心,本文对K=15时的检索结果进行比对分析,考虑到查询项对准确率召回率存在影响,取每组查询项的最好结果,见表5所示。
表5 基于Jaccard相似度和基于BDI Agent搜索结果比对
续表5
根据以上结果,下文将从两个角度分析本文所实现的BDI语义搜索Agent:1)从实验结果分析传统语义搜索和上下文增强的BDI语义搜索实际效果;2)从流程上分析BDI语义搜索和传统上下文处理方法的区别和优势。
从实验结果来看,在K=15时,基于BDI的语义搜索相比传统语义搜索在大多数情况下具有更高的准确率和召回率。因此通过动态上下文语义,基于BDI的语义搜索可改善产品传统语义搜索的准确率和召回率。
从流程上来看,基于BDI的语义搜索通过用户搜索旅游产品过程中,行程单中的记录项目的上下文内容实时生成Desire特征,相比规则推理的方法,动态生成Desire而不依赖用户显式输入和大量规则库,具有较好的体验,便于维护。相比基于机器学习的上下文处理方法,由于上下文数据量不大,可以用于ID3决策树的实时运算,动态性好;由于基于用户对行程搜索项的选择结果,上下文的来源具有针对性;相比其他BDI Agent方法,本文方法使用BDI增强了语义搜索,结合语义词典消歧和MinHash相似度估算方法,不再局限于低维度的权重匹配,与语义技术紧密结合。
总体来看,BDI语义搜索相比其他方法,将动态上下文和语义搜索紧密结合,改善了语义搜索对动态上下文的支持,提高了精准度。
5 结 语
传统上下文处理技术对动态上下文支持不够,较难与语义搜索在不同动态上下文场景下紧密结合,以满足用户对搜索体验的智能化需求。
本文结合笔者参与的数字旅游项目需求,提出的基于BDI的语义搜索方法。该方法对传统语义搜索加以改进,使用BDI Agent实现适用于动态上下文的语义搜索。该方法将检索内容与动态上下文作为Agent的Belief,使用语义词典,从语义和业务维度出发,推理上下文特征和检索目标作为 Desire,以MinHash语义相似度计算作为Intention选择依据进行语义搜索。本文基于一种开源BDI Agent实现JADEX,开发了基于BDI语义搜索的旅游产品语义搜索模块。考虑旅游产品的业务特点,将旅游行程安排作为动态上下文,通过语义相似度匹配旅游产品,实验表明搜索准确率相比仅使用语义相关性搜索方法明显提高,且利用BDI Agent架构特点改善了传统上下文处理方法对语义技术和上下文动态性支持不足的问题,具有应用意义。
后续工作中,我们将补充完善上下文内容和领域语义词典,针对其他业务规则因素进行扩展,如旅游中的天气因素,季节因素,以及行程的路径规划等,使BDI的语义搜索能更智能地融入数字旅游应用中。
[1] CNNIC. 中国互联网络发展状况统计报告[R]. 2014.
[2] Lars Braubach. JADEX Overview [EB/OL]. [2014-06-23]. http://www.activecomponents.org/bin/view/Documentation/Overview.
[3] Sullivan D. Google Launches Knowledge Graph to Provide Answers, Not Just Links [EB/OL]. [2013-04-20]. http://searchengineland.com/google-launches-knowledge-graph-121585.
[4] Paiva S, Ramos-Cabrer M, Gil-Solla A. GSSP-A generic Semantic Search Platform[J]. Procedia Technology, 2012, 5(1):388-396.
[5] Jihyun Lee, Jeong Hoon Park, Myung Jae Park, et al. An Intelligent Query Processing for Distributed Ontologies[J].The Journal of Systems & Software, 2009, 83(1):85-95.
[6] Anthony Ha. Kngine Aims To Build A Natural Language-Driven App That Can Answer Any Question[EB/OL]. [2012-11-30]. http://techcrunch.com/2012/11/30/kngine/.
[7] 田萱, 李冬梅. 上下文检索研究综述[J]. 计算机科学, 2011,38(9):18-24.
[8] Shen X, Tan B, Zhai C. Implicit User Modeling for Personalized Search[C]//Proceedings of the 14thACM International Conference on Information and Knowledge Management, 2005:824-831.
[9] White R W, Jose J M, Ruthven I. An Implicit Feedback Approach for Interactive Information Retrieval[J]. Information Processing and Management, 2004, 42(1):166-190.
[10] 马瑞新, 邓贵仕, 王晓. 基于扩散理论的HITS算法在Web挖掘中的研究与优化[J]. 计算机应用研究, 2012, 29(1):145-147.
[11] 林俊, 杜军平. 智能旅游行程导航系统[J]. 计算机应用,2009, 29(1):369-371.
[12] Celik D, Elgi A, A Semantic Search Agent Approach: Finding Appropriate Semantic Web Services based on User Request Term[C]//Proceedings of ITI 3rdInternational Conference on Information and Communications Technology, 2005:675-687.
[13] Anand S Rao, Michael P Georgeff. Modeling Rational Agents within a BDI-Architecture[C]//Proceedings of the 2ndInternational Conference on Principles of Knowledge Representation and Reasoning, 1991:473-484.
[14] Anand S Rao, Michael P George. BDI Agents: From Theory to Practice[C]//Proceedings of the 1stInternational Conference on Multi-Agent Systems, 1995:312-319.
[15] Ana Casali, Llu′is Godo. Modeling Travel Assistant Agents: a Graded BDI Approach[J]. Artificial Intelligence in Theory and Practice, 2006, 217(1):415-424.
[16] 周丰. 面向需求的用户建模及服务推荐研究[D]. 上海. 复旦大学,2014.
[17] 孙海霞, 钱庆, 成颖. 基于本体的语义相似度计算方法研究综述[J].现代图书情报技术, 2010,26(1):51-56.
[18] Stefan Buttcher, Charles L A Clarke, Gordon V Cormack. Information Retrieval, Implementation and Evaluation Search Engines [M]. China Machine Press, 2012.
[19] 林良益. 中文分词库IK Analyzer[EB/OL]. [2015-01-21].http://www.oschina.net/p/ikanalyzer/.
BDI-BASED SEMANTIC SEARCH AND ITS APPLICATIONS IN E-TOURISM
Chen HaoLi YinshengShen Jianping
(SchoolofSoftware,FudanUniversity,Shanghai201203,China) (NationalEngineeringLabofEcommerceTechnologies,Shanghai201203,China)
Current context processing method does not support semantic technology very well, this leads to the limits of semantic search in both accuracy and intelligence. In this paper, we propose a BDI-based semantic search approach, it makes semantic description on dynamic context and uses BDI mechanism to optimise search results. The approach integrates user’s query and dynamic contexts with Belief in BDI framework, reasons the context features through products feature semantics and business semantics, and searches objects features as agent’s Desire, finally it calculates the candidate Intention order through MinHash-based semantic similarity. In combination with the requirement of project, we develop the search system of tourism products in environment of open source BDI Agent of JADEX engine, the system is based on the above mentioned semantic search. Through ID3 decision tree the system extracts context features of current itinerary of users to implement the semantic search function. Experiment shows that the search accuracy of the approach improved significantly relative to the search methods only using semantic similarity, it can satisfy the demand of tourism products search.
Belief-desire-intention (BDI)Semantic searchContext
2015-03-15。国家科技支撑计划项目(2012BAH18F06)。陈昊,硕士生,主研领域:电子商务。李银胜,副教授。沈剑平,博士生。
TP3
A
10.3969/j.issn.1000-386x.2016.08.007