基于问题合成的用户租房偏好捕获方法与流程

文档序号:12121786阅读:305来源:国知局

本发明涉及一种基于问题合成的用户租房偏好捕获方法,属于人工智能领域,适用于租房交易平台的个性化推荐。



背景技术:

近几年,随着我国住房价格的不断攀升,很多平民百姓都买不起房子而改为租房来解决住房问题。为租房者提供合适的个性化房源推荐,成为了现有租房交易平台的重要服务。主流的个性化推荐技术包括协同推荐和内容推荐。协同推荐依赖于大量的用户历史数据。由于在租房领域租房者难有足够的历史租房记录,协同推荐不太适用于租房的个性化推荐。而内容推荐则依赖于用户画像模型。传统技术都采用标签集合来表示用户画像模型。比如在租房领域,我们可以用“邻近医院”、“交通便利”和“电梯楼”等标签来表达用户对租房的偏好。但是,标签是扁平化的,并不能充分表达用户对租房的一些复杂偏好,比如“周边要有地铁到达中山大学”等。因此,本发明采用远远超出标签表达能力的描述逻辑语言来刻画用户对租房的偏好特征,以充分表达用户对租房的个性化需求。

描述逻辑是一阶逻辑的可判定子集,既有接近实用程度的计算复杂性,也有很好的可理解性。它的语法要素包括概念名、属性名、个体名和数值这四类实体、顶层概念底层概念⊥和一些逻辑连接符,包括(且)、(或)、(全称量词)、(存在量词)和(蕴含)等。使用描述逻辑语言来书写的概念表达式能很好地翻译成自然语言,适用于刻画复杂的租房特征。比如“邻近.(地铁站所在路线.(地铁线包含站点.(地铁站邻近.{中山大学})))”可以翻译成“邻近某个地跌站,该地跌站在某地铁线上,该地铁线有一个地铁站邻近中山大学”,可以表示“周边有地铁到达中山大学”这种非扁平化特征。描述逻辑因其强大的表达能力和优秀的可计算性能,已经成为万维网联盟(W3C)推荐的标准Web本体语言OWL的逻辑基础,广泛应用于各种知识表示与推理场合。



技术实现要素:

在国家自然科学基金项目(编号61375056)的资助下,本发明重点研究如何利用问题的合成显式地捕获用户租房偏好。本发明最终需要解决的技术问题是:如何为用户构建租房偏好方面的画像模型,其表达能力要高于标签模型并能刻画租房的复杂特征?

为了使用描述逻辑来刻画用户对租房的偏好特征,我们需要将租房的描述转换成描述逻辑概念表达式。为了得到租房周边环境的数据,我们还需要将租房信息与公交路线信息和地图信息集成起来,产生实体之间的邻近关系,以丰富租房的描述。因此,我们需要使用现有的信息抽取技术和数据集成技术来实现上述目标。

为了给指定用户建立租房偏好方面的画像模型,我们需要搜集用户在租房的原始描述网页浏览停留时间或点击行为,产生用户感兴趣的租房集合L。我们希望得到一组描述逻辑概念表达式来刻画用户偏好的租房特征,最大区分用户感兴趣和不感兴趣的租房,即在最理想的情况下满足:对于用户感兴趣的租房,它的某些特征可以用至少一个目标概念表达式来描述;对于其他租房,它的各种特征都不能用任意一个目标概念表达式来描述。这个条件在一般情况下是不能满足的。我们仅能计算一组候选的描述逻辑概念表达式来尽量满足这个条件。另一方面,我们也不能保证用户对集合L外的租房都不感兴趣。因此,我们需要对计算得到的候选描述逻辑概念表达式进行过滤,甄选出用户真正喜好的租房特征。

为了过滤候选的描述逻辑概念表达式,我们可以利用描述逻辑易于转成自然语言的特点自动合成一些问题,向用户询问是否喜好某个租房特征,其中一个候选描述逻辑概念表达式 对应一个租房特征。最后,我们可以搜集用户做出肯定回答的租房特征,作为该用户在租房偏好方面的画像模型。

本发明的关键之处在于提出了受限ELO语言来刻画租房特征。受限ELO语言是一种描述逻辑子语言,其语法要素仅包括概念名、属性名、个体名和数值这四类实体、顶层概念以及三种逻辑连接符(且)、(存在量词)和(蕴含)。该语言扩展了发明人在论文“Proactive Recommendation Based on EL Concept Learning.Semantic Web and Web Science,Springer Proceedings in Complexity,2013”提出的受限EL语言,引入了形式为{a}(a是个体名或数值)的nominal构造符。本发明统一使用受限ELO概念表达式来形式化租房的描述和向用户提出的问题。受限ELO概念表达式是一种形式为的概念表达式,其中n≥1,每个Ci都是称作受限ELO部件的概念表达式。受限ELO部件可以是一个概念名,可以是顶层概念可以是一个nominal,还可以是一个形式为的存在约束(其中m≥1,r是一个属性名,Ei是一个受限ELO部件,但要保证E1,…,Em中只有一个存在约束)。受限ELO概念表达式的语义沿用标准的描述逻辑语义。

本发明提出的用户租房偏好捕获方案包括两个阶段。

阶段1从多个租房信息网站、公交路线信息网站和地图信息网站抽取形式为(实体,关系,实体)的三元组数据集合,其中实体可以个体名、概念名或数值,关系可以是type(类型)、label(显示名称)、地址、租赁方式、租金、付款方式、商区、城区、城市、小区、用途、朝向、建筑面积、装修、配置、出租间、房间数、客厅数、卫生问数、所在楼层、楼层数、合租户数、合租条件、纬度、经度、联系人、联系电话、发布时间、房屋图片、中介、公交公司、票价、包含站点、所在路线、途经路线数或建筑类别。然后,根据所在城市相同、直线距离不大于500米的邻近判定原则产生租房、站点和标志性建筑三类实体之间形式为(实体,邻近,实体)的三元组数据,与前面抽取的三元组数据一起保存到由三元组构成的租房信息知识图谱中。最后,针对每个租房,从租房信息知识图谱中提取该租房的邻域数据,构造其对应的受限ELO概念表达式,作为该租房集成描述的形式化表示结果。

阶段2针对给定用户,通过问答方式捕获其偏好的租房特征集合,其中每种特征都使用一个受限ELO概念表达式来刻画。该阶段由一个预设定的问题总长度阈值t来控制输出结果,包括以下步骤:

1.根据用户对租房信息知识图谱中租房的原始信息网页浏览停留时间或点击行为,确定用户感兴趣的租房个体集合L。

2.使用顺序覆盖法自动学习满足下面三个条件的受限ELO概念表达式集合R:

(1)R中所有受限ELO概念表达式的长度之和不大于t;

(2)R尽量覆盖L中每个租房个体对应的受限ELO概念表达式,其中R覆盖一个受限ELO概念表达式E定义为:R至少有一个元素(受限ELO概念表达式)F满足

(3)R尽量不覆盖S-L中任意一个租房个体对应的受限ELO概念表达式,其中S是租房信息知识图谱中所有租房个体的集合。

3.将R转换成询问用户是否喜好某个租房特征的问题集合Q,其中R中每一个受限ELO概念表达式都转换成一个问题。

4.向用户提出Q中的所有问题,让其回答yes(喜欢)或no(不喜欢);

5.对于Q中用户回答yes的问题,添加对应的受限ELO概念表达式到用户偏好的特征集合G中,并输出G作为用户偏好特征集合的形式化表示结果,即用户在租房偏好方面的画像模型。

本发明为构建用户租房偏好方面的画像模型提出了一种基于描述逻辑的交互式新方法,能够直接应用于租房的个性化推荐。

附图说明

图1是本发明提出的用户租房偏好捕获方法的整体流程图,其中上半部分描绘了阶段1 的租房描述形式化过程,下半部分描绘了阶段2的用户偏好捕获过程。

具体实施方式

本发明包括两个阶段,阶段1是租房描述的形式化过程,阶段2是用户偏好的捕获过程。

阶段1采用下述步骤构建租房信息知识图谱,并生成知识图谱中所有租房的受限ELO概念表达式描述。具体实施由下面9个步骤构成:

步骤1:利用网络爬虫从多个租房信息网站抓取租房页面,利用抽取规则从页面内容中抽取形式为(源实体,关系,目标实体)的三元组数据。其中,源实体是个体名,目标实体是概念名、个体名或数值,关系是type(类型)、label(显示名称)、地址、租赁方式、租金、付款方式、商区、城区、城市、小区、用途、朝向、建筑面积、装修、配置、出租间、房间数、客厅数、卫生间数、所在楼层、楼层数、合租户数、合租条件、纬度、经度、联系人、联系电话、发布时间、房屋图片或中介。

步骤2:根据租房实体匹配规则生成形式为(租房个体,sameAs,租房个体)的三元组数据,其中三元组(a,sameAs,b)表示a和b是同一房源。利用步骤1和步骤2得到的三元组数据,根据下面两条规则产生规则头部的三元组:

(x,r,t)←(y,r,t)∧(x,sameAs,y)

(y,r,t)←(x,r,t)∧(x,sameAs,y)

步骤3:利用步骤2中产生的形式为(租房个体,sameAs,租房个体)的三元组数据,根据“如果(a,sameAs,b)存在,那么a和b在同一等价类中”的规则,构造租房个体的等价类,并在等价类中随机挑选一个元素作为该等价类的代表租房个体。从步骤1和步骤2产生的所有三元组中,删除形式为(租房个体,sameAs,租房个体)的三元组和源实体为某个等价类中非代表租房个体的三元组,得到三元组集合S租房

步骤4:利用网络爬虫从公交路线信息网站抓取交通路线页面和站点页面,利用抽取规则从页面内容中抽取形式为(源实体,关系,目标实体)的三元组数据,得到三元组集合S交通。其中,源实体是交通路线个体或者站点个体,目标实体是概念名、个体名或数值,关系是type(类型)、label(显示名称)、公交公司、票价、包含站点、所在路线、途经路线数、城市、纬度或经度。

步骤5:利用网络爬虫从地图信息网站抓取标志性建筑(包括医疗机构、教育机构、银行和购物场所)位置数据,利用规则提取形式为(源实体,关系,目标实体)的三元组数据,得到三元组集合S建筑。其中,源实体是标志性建筑个体,目标实体是概念名、个体名或数值,关系是label(显示名称)、建筑类别、城市、纬度或经度。

步骤6:利用S租房∪S交通∪S建筑中的三元组数据,根据下面的规则产生规则头部的三元组,形成三元组集合S邻近,其中直线距离使用标准的基于地球经纬度的两点距离公式来计算。

(x,邻近,y)←(x,城市,z)∧(y,城市,z)∧(x,经度,x1)∧(x,纬度,x2)∧

(y,经度,y1)∧(y,纬度,y2)∧直接距离(x1,x2,y1,y2)≤500

步骤7:合并S租房、S交通、S建筑和S邻近构成租房信息知识图谱G,即G=S租房∪S交通∪S建筑∪S邻近,并保存G到图数据库中。

步骤8:针对S租房中出现的每个租房个体a,计算a在租房信息知识图谱G中的近似最特殊受限ELO概念表达式。租房个体a在G中的最特殊受限ELO概念表达式E定义为满足下面两个条件的受限ELO概念表达式:

(1)

(2)对于所有满足和的受限ELO概念表达式F,必有

由于在G中很可能存在以a为起点的无穷长的有向路径如“a-邻近→a1-邻近→a2→…”,故a的最特殊受限ELO概念表达式可能无穷大,无法计算。为了解决这个问题,我们需要近似计算租房个体的最特殊受限ELO概念表达式。根据租房领域的特点,我们限定近似的最特殊受限ELO概念表达式至多有4层嵌套的存在量词并且相邻层中受存在量词约束的属性名不相同。比如,“邻近.(站点所在路线.(巴士线包含站点.(站点所在路线.(巴士线公交公司.{广州一汽巴士公司}))))”(5层嵌套)和“邻近.邻近.{中山大学}”(连续两个“邻近”)都不是合法的近似最特殊受限ELO概念表达式。我们采用如下定义的递归函数ExtractMostSpecificConcept(a,G,4,φ)计算租房个体a在租房信息知识图谱G中的近似最特殊受限ELO概念表达式,其中对于概念表达式集合S,reduce(S)函数返回S的最大子集R,使得对于R中的任意元素E,不存在R中满足的其他元素F。

步骤9:将G中所有租房个体a与ExtractMostSpecificConcept(a,G,4,φ)的对应关系保存到映射M中。

对于给定用户,阶段2捕获该用户对租房的偏好特征集合。本阶段需要向用户提出一系列询问是否喜好某种租房特征的问题。为了限制问题的个数,本阶段采用受限ELO概念表达式来表示问题,并引入问题总长度阈值t作为参数,要求作为问题的各个受限ELO概念表达式的长度之和不大于t。具体实施由下面6个步骤构成:

步骤1:根据用户对租房信息知识图谱中租房的原始信息网页浏览停留时间或点击行为,确定用户感兴趣的租房个体集合L。

步骤2:对于阶段1产生的映射M中的每个(a,E)对应关系,计算所有满足的受限ELO部件C。该过程依赖受限ELO部件到带标签树的相互转换来高效实现,其中带标签树是一种树图,其结点附带标签集,该集合由概念名和nominal(均称作标签)构成,而边附带属性名。将任意受限ELO部件D转换为一棵带标签树的具体方法是:递归地将D中的子表达式 (其中m≥O,Ai为概念名,{b}和都可有可无)转换成带标签集的结点v1、v2和有向边e=(v1,v2),其中v1的标签集是{A1,…,Am,{b}},有向边e的属性名是r,而结点v2的标签集由子表达式F用同样的方法定义。我们将受限ELO部件D转换成的带标签树记作这个转换过程是可逆的,因此我们将带标签树T的转换源受限ELO部件记作

假设所有满足的受限ELO部件C必然是某个的根节点标签或者是某个中子路径P的转换概念表达式该子路径从的根结点到达中某 个结点,并且子路径上结点的标签集是中对应结点的标签集的子集。因此,我们通过枚举带标签树中所有可能的子路径和根结点标签来产生所有满足的受限ELO部件C。

最后,将这些由映射M中每个(a,E)对应关系生成的满足的受限ELO部件C一并保存到受限ELO部件集合S部件中。

步骤3:记映射M中所有租房个体的集合为S。使用顺序覆盖法自动学习满足下面三个条件的受限ELO概念表达式集合R。其中,受限ELO概念表达式E的长度,记作length(E),定义为E中实体(不包括顶层概念)的个数;受限ELO概念表达式集合R的长度,记作length(R),定义为:length(R)=∑E∈Rlength(E);R覆盖一个受限ELO概念表达式E定义为:R至少有一个元素(受限ELO概念表达式)F满足

(1)length(R)≤t;

(2)R尽量覆盖L中每个租房个体对应的受限ELO概念表达式;

(3)R尽量不覆盖S-L中任意一个租房个体对应的受限ELO概念表达式。

该顺序覆盖法的基本思想是每次构造一个满足条件(1)的受限ELO概念表达式,使其尽量多覆盖L中未曾覆盖的租房个体,并尽量不覆盖S-L中未曾覆盖的租房个体,直到不能构造新的受限ELO概念表达式或者L中所有租房个体都被覆盖为止;结束时返回得到的受限ELO概念表达式的集合。其中,构造一个满足条件(1)的受限ELO概念表达式的过程如下:从空的受限ELO部件集合开始,逐个添加S部件中的受限ELO部件,使每步更新的受限ELO部件集合不超出长度阈值限制并使FOIL增益达到最大,直到无法再向目标集合添加受限ELO部件或者最大的FOIL增益不超过0为止;结束时返回最终受限ELO部件集合SELO的合取约简表达式reduceconj(SELO)。具体地,reduceconj(SELO)定义为SELO的最大子集R中所有元素的合取(即),使得对于R中的任意元素E,不存在R中满足的其他元素F。另外,由受限ELO部件集合S1扩展成受限ELO部件集合S2的FOIL增益,记作foil(S1,S2),定义为:

foil(S1,S2)=p2*(log2(p2/t2)-log2(p1/t1)),其中

#表示集合的元素个数。本步骤的具体实现如下所示:

步骤4:将步骤3得到的集合R转换成询问用户是否喜好某种租房特征的问题集合Q,其中R中每个受限ELO概念表达式E都转换成一个问题。具体的方法是针对中每个非 nominal的受限ELO部件Ci调用下面的转换函数convert(“租房”,Ci),并将得到的结果字符串连接起来合成一个形式类似“你喜欢这种租房吗?它的特征是:…”的问题。

步骤5:向用户提出Q中的所有问题,让其回答yes(喜欢)或no(不喜欢)。

步骤6:对于Q中用户回答yes的问题,将其对应的受限ELO概念表达式添加到用户偏好的特征集合G中,并输出G作为用户偏好特征集合的形式化表示结果,即用户在租房偏好方面的画像模型。

以上实施仅为本发明的其中一种实施方式,其描述较为具体详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的情况下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1