如何用数据挖掘找到合适房源?

Posted 微软研究院AI头条

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用数据挖掘找到合适房源?相关的知识,希望对你有一定的参考价值。




请设想这样一个情境:在中关村工作了三年的你,想要拥有自己的小家。你可能会有这样的需求:早高峰时要在半小时内到达丹棱街5号,要有两个卧室,价格不能太高,下班后去超市买菜后再回家。

 

这些购房、租房者在挑选住房时产生的需求可分为两类,一类与价格、面积、楼层等住宅的内部属性相关,另一类则与所处位置、地标位置的可达性等住宅的地理属性相关。

 

第二类需求非常重要,现有的在线租房售房系统却未对其给予足够重视。它们往往以机械的方式来满足这些需求,譬如筛选出距离某个地点几公里内的住宅。但是,直线距离在复杂城市环境中并无太多应用价值,多变的路况使得城市两点之间的通勤时间会以一天或一周为周期发生变化,这在北上广深等超级城市中更为明显。

如何用数据挖掘找到合适房源?

目前常见的在线租房售房系统


由巫英才老师率领的浙江大学ZJUVIS可视化研究小组,与郑宇博士率领的微软亚洲研究院城市计算组联手,为这类需求提供了一个解决方案。他们合作的论文已被ACM CHI 2018接受。作为人机交互领域的顶级会议之一,CHI大会关注人与技术的融合,创新的人机交互方式,以及与信息技术相关的人文社会问题等。


如何用数据挖掘找到合适房源?

巫英才老师与浙江大学ZJUVIS可视化研究小组


如何用数据挖掘找到合适房源?

郑宇博士(前排中间)与微软亚洲研究院城市计算组


如何用数据挖掘找到合适房源?

如何选址


从第二类需求出发,研究团队开发了一套在线住房选址可视分析系统。将价格、面积、卧室数量等要包括在内的同时,重点考虑了在地理决策中占据重要地位的地标位置可达性(Reachability)

 

如何让用户清晰、自然地表达在可达性方面的需求呢?研究团队利用时间线的形式,允许用户通过滚动、点击、拖拽等直观的交互方式建立自己的行程,如“8:30从家出发,8:45到达学校,9:00到达上班地点”。同时,用户可指定诸如“只考虑工作日”的日期限制。家和学校的位置无需被指定,系统会自动基于可达性,推荐所有满足行程的位置集合。

如何用数据挖掘找到合适房源?

ReACH使用界面,包括时间线(左)、地图(上)、排序(下)、愿望单(右) 四个视图

基于系统推荐,用户还可自行筛选符合行程的地点,缩小位置集合。针对第一类需求,用户可就价格、面积、完成行程所需时间等属性的范围进行调整,并按照个人偏好进行组合排序,从而找到自己的最佳住宅。

 

通过案例分析和用户研究,系统的有效性已被验证。


如何用数据挖掘找到合适房源?

亮点一:后端数据挖掘


上述过程的关键,在于高效可靠地计算出两个位置之间的可达性,并实现可视分析系统的即时反馈。这并非易事,后端的数据挖掘模块主要有以下两个技术难点:

 

第一,海量数据带来计算效率的难题。为了支持可达性的计算,研究团队使用了两个月的出租车记录,数据量以十亿计。在此前研究中,即使利用三台服务器进行并行计算,也需要20多秒的时间,远不能满足可视分析系统即时流畅反馈的用户需求。

 

第二,庞大数据的局部冗余和全局稀疏。模型需通过指定时间内两个地点间是否有直接连接的交通轨迹来判断其可达性,但是有限的出租车无法实现城市中每一条道路的全天全时覆盖,这种数据的稀疏性阻碍了可达性预测在整个城市范围内的稳定性。倘若增加数据规模,又会遇到存储和计算效率的瓶颈。

如何用数据挖掘找到合适房源?

基于图结构的可达性索引建立过程。左图红、蓝两条轨迹的公共部分可以被压缩为右图图中绿色的边


为了解决这些难点,研究团队创新性地利用了图结构存储和索引海量轨迹数据,革新了先前的可达性计算模型。他们将连续的时间离散化成长度为k分钟的时间片,并根据轨迹数据,在图中保存每条道路每个时间片之间的可达状况。对于可达性的查询,他们在图上进行带剪枝的广度优先搜索,寻找满足时间限制条件的道路集合。由此,可达区域的查询时间被压缩到3秒以内。

 

Microsoft Azure云计算平台与服务亦在本研究中有很好的应用。出租车约每25秒记录一次状态,这样的离散记录并不能直接用于可达性计算。研究团队将这些记录投影到连续的路网上并补齐缺失的数据,使之成为连续轨迹。在这个过程中,Azure强大的并行计算能力被充分发挥。此前在单机上运行模型处理两个月的数据,约需要连续计算一个多月,在迁移到Azure的Spark多机计算平台上后,处理完整的数据集只需数天,极大地提高了研究初期迭代可达性模型时的设计效率。在后期,研究团队将可视分析系统部署到Azure云服务器上,进一步加快了后端可达性数据挖掘模块的计算效率,其成果也可从世界各地流畅地访问。


如何用数据挖掘找到合适房源?

亮点二:前端可视化设计


研究团队设计和开发的是一个新颖的可视分析系统,它基于时间线进行可视表达与交互。就前端的可视化设计而言,也有两大难点,研究团队亦将其一一消化。


如何用数据挖掘找到合适房源?

ReACH系统的可视化设计。时间线视图(左)帮助用户直观地建立可达性限制条件,地图视图(上)帮助用户清晰地理解可达性计算结果,排序视图(下)帮助用户高效地筛选理想住宅


第一,如何清晰直观地将可达性集成到可视化设计中。可达性是一个抽象概念,理解它和背后的计算过程对于普通用户来说并不容易。研究团队选择隐藏模型细节,创新性地以安排日程的形式来间接引导模型计算出满足条件的住房。在时间线视图中,用户借由直观交互建立某段时间内的行程,指定到达时间、到达地点的类型、出发时间等参数,以此来作为模型的输入,从而计算得到可达区域,筛选出满足条件的住房,可达性概率信息也以热力图的形式呈现在地图上,十分直观。

 

第二,如何基于用户个人偏好,综合考虑多种属性帮助他们做出决策。研究团队扩展了基于表格的LineUp多属性可视排序技术,加入所有住宅在单个属性上分布的可视化,并允许用户直观地对这些属性的范围进行筛选,避免用户在对数据集一无所知的情况下设定过宽或过严的过滤条件。此外,系统还支持用户将心仪住宅加入愿望单,以便进一步对比分析。


如何用数据挖掘找到合适房源?

可视化研究+城市计算


郑宇博士率领的微软亚洲研究院城市计算组有着丰富的城市数据处理与挖掘经验。浙江大学可视化研究小组则擅长可视分析与人机交互,将用户难以理解的数据挖掘算法,以可视化编码的形式直观呈现。

 

在本工作中,两个团队各尽其能。城市计算组提供了对于轨迹数据的预处理与模型设计方面的支持,可视化研究小组则主要负责改进可达性计算模型,以满足可视界面的实时交互要求,并且设计实现了这一套基于可达性的可视化住房选取系统。未来,该方法还可扩展应用于其他与可达性相关的可视选址问题,如商业选址、救护车站选址等。

 

近几年来,两个团队紧密合作。2016年,他们合作开发了基于出租车轨迹的户外大型广告牌投放可视分析系统SmartAdP,该论文被可视分析领域顶级会议IEEE VAST录取。



你也许还想


  

  

  



感谢你关注“微软研究院AI头条”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。



以上是关于如何用数据挖掘找到合适房源?的主要内容,如果未能解决你的问题,请参考以下文章

动画:如何用广度和深度优先搜索找到女朋友?

如何用Python获取网页中json的参数

如何用关系代数找到 MAX?

如何用matlab做正弦曲线拟合

手机如何用数据线连接电脑上网

如何用Navicat导出MySQL的数据字典