CN109101493B - 一种基于对话机器人的智能购房助手 - Google Patents

一种基于对话机器人的智能购房助手 Download PDF

Info

Publication number
CN109101493B
CN109101493B CN201810860978.3A CN201810860978A CN109101493B CN 109101493 B CN109101493 B CN 109101493B CN 201810860978 A CN201810860978 A CN 201810860978A CN 109101493 B CN109101493 B CN 109101493B
Authority
CN
China
Prior art keywords
word
index
words
similarity
question
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810860978.3A
Other languages
English (en)
Other versions
CN109101493A (zh
Inventor
孙慢
康洪雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201810860978.3A priority Critical patent/CN109101493B/zh
Publication of CN109101493A publication Critical patent/CN109101493A/zh
Application granted granted Critical
Publication of CN109101493B publication Critical patent/CN109101493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/16Real estate

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于对话机器人的智能购房助手。本发明公开了一种多特征融合无监督语义匹配算法模型及基于该模型智能购房对话机器人系统。所述多特征融合无监督语义匹配算法模型,综合考虑统计层面的相关性和语义相关性两种信息,既从统计的角度又从语义的角度进行相似度计算,最后通过融合的方法进一步提升效果,使得相似度计算结果更为准确和可靠,可以快速实现用户问题和知识库问题的召回、匹配过程。所述智能购房对话机器人系统可以实现问答式交互,摒弃了现有购房时搜索式的信息获取方式,节省了时间,提升了用户体验,并可以根据用户问答语义,主动为用户展示房产周边配套设施和房价未来走势,使用户跟进一步了解房产信息。

Description

一种基于对话机器人的智能购房助手
技术领域
本发明涉及自然语言处理技术和信息搜索领域,尤其涉及一种多特征融合无监督语义匹配算法模型及基于该模型用于智能购房的对话机器人系统。
背景技术
在现今信息化飞速发展的时代,随着智能手机普及和移动网络的提速,用户可以随时随地在互联网进行娱乐、购物和阅读等等。提供各项业务的公司用户量顺势飞速增长,随之而来产品的体验反馈和咨询非常繁重,给公司带来人工客服开销提高的同时,也给人工客服带来了很多挑战。因此,智能对话机器人应运而生,相比于人工客服,智能对话机器人响应速度快,可以同时接待多位用户,并且无需用户等待;智能对话机器人处理用户咨询中大量的重复问题时不会像人工客服那样产生烦躁心里,用户体验好;智能对话机器人可以7x24小时工作,大大提高了服务的效率;智能对话机器人还可以辅助人工客服,在人工服务的时候,推荐回复的内容,并学习人工客服回复的内容,机器人学习到的人工客服回复的内容,可以作为机器人的知识库使用。
在我国,购房关乎于每一个家庭的切身利益,而因地域不同,购房的制度和房产市场都不同,比如,非杭州户口在杭州购房要在3年内连续缴纳社保或个税两年,并且补缴不算,缴满有购房资格,否则无。而对于上海,要连续缴满5年。这就造成了大量购房个人和家庭不清楚购买地的购房制度和房产市场,产生了大量的咨询需求。此业务场景下,一些传统的房产资讯公司需要在不同的城市设立相应的线下咨询门店,并且要培养相应的置业顾问,这就需要大量的资金开销和时间开销,并且置业顾问的流动性很大,可能会出现刚刚培养好,就离职或者跳槽的场景,这就造成了资金和时间的浪费。而对于线上场景,目前购房者只能通过搜索的方式在互联网上查找房产信息,搜索方式非常依赖于用户的输入的搜索关键词,有时候用户无法通过有限的词语表达清楚自己想咨询的问题,造成了用户无法从互联网上得到自己想要的答案,此外,由于各个房产企业的市场竞争,搜索引擎公司的主导搜索排序,用户搜索时可能出现排在头部的链接是房产企业的广告推广,这样的结果可能会对用户造成误解。
发明内容
针对在先技术存在的不足,本发明提供了一种多特征融合无监督语义匹配算法模型及基于该模型智能购房对话机器人系统,通过建立完整的知识库,实时的知识库更新及很少的人力维护,就可以高效、快速地响应用户咨询,并且还可以主动对用户进行房产信息展示和房产价格预估,使得用户能掌握更详细、更准确的房产信息,为购房置业做出更好判断。本发明的进一步提供了一种房产描述及房价预估系统,为用户全面快速掌握所查找的房产信息提供了帮助。
本发明的技术方案是这样实现的:
一种多特征融合无监督语义匹配算法模型,包括用于重叠部分相似度计算的通道一、用于非重叠部分相似度计算的通道二,以及用于问题整体相似度计算的通道三:
所述通道一以公共词列表C为基础,从问题S1和S2重叠词个数、重叠词在两个句子中的连续性计算两个问题的相似度,公式如下:
Figure BDA0001749654550000031
其中,m为C中元素的个数,L(ci)表示C中第i个元素中包含词的个数,k为连续词加权系数,当ci为独立单词时,L(ci)为1,系数k起不到加权的作用,当L(ci)大于1时,即由连续词构成了词块,系数k起到加权的作用;
所述通道二使用pyltp对问题S1和S2进行分词和词性识别,使用两个句子的重叠词列表对问题S1和S2进行遍历,得到问题S1和S2非重叠部分A和B,对非重叠部分A和B进行分组,使得名词为一组An、Bn,动词为另一组Av、BV,遍历An、Bn,两两计算词间相似度,计算时采用word2vec模型中词的向量距离来度量,并对结果求和取均值得到nsim(S1,S2),遍历Av、BV,两两计算词间相似度,计算时采用word2vec模型中词的向量距离来度量,并对结果求和取均值得到vsim(S1,S2);
所述通道三综合考虑通道一的重叠部分和通道二的非重叠部分,从问题整体计算两个问题的相似度。
进一步的,从所述问题S1和S2重叠词在两个问题中词序一致性计算问题相似度的计算步骤为:
A.以单个词为单位获取两个问题的公共词列表W;
B.顺序遍历S1,标记同时属于S1和W的词Wi在S1中的索引I1,同一词在S1中多次出现时,仅记录首次索引,最终得到的索引形如I1=[1,2,3,4,5];
C.顺序遍历S2,标记同时属于S2和W的词Wj在S1中的索引I2,同一词在S2中多次出现时,仅记录首次索引,最终得到的索引形如I2=[4,3,1,2,5];
D.计算I2中索引的次序,对不是正常顺序的索引进行惩罚,计算公式如下:
Figure BDA0001749654550000041
其中,当I2中第n个索引比第n-1个索引值小时,对词序相似度进行惩罚,其中Q表示索引差值,δ表示惩罚因子,取值范围为0至1,当I2中第n个索引比第n-1个索引值大时,表示该词在S2中出现的顺序与S1中保持一致,记语序相似度为1;计算完成后,使用下式得到句子中词序相似度的总体值:
Figure BDA0001749654550000042
其中,C(I2)表示索引列表I2中元素的个数。
进一步的,从所述问题S1和S2重叠词在语料库中的Tfidf值计算两个问题相似度的计算步骤为:
A.以单个词为单位获取两个问题的公共词列表W;
B.利用从互联网上爬取并经过清洗、去噪、分词的短语识别之后的语料库;
C.遍历公共词列表W,计算同时属于问题S1和W的词Wi在整个语料库中的TFIDF值,TFIDF=TF*IDF,由词频与逆文档频率两部分组成,其中,词频(term frequency,TF)指的是某一个给定的词语在对应问题中出现的频率,计算公式如下:
Figure BDA0001749654550000043
式中分子是每个词在对应问题中出现的次数,分母是对应问题中所有词语总数,式中tfij表示词i在问题j中的频率,nij表示词i在问题j中出现的次数,nkj表示词k在问题j中出现的次数,分母表示所有词在问题j中出现的次数,即问题j中词总数;逆文档(inverse documentfrequency,IDF)是一个词语普遍重要性的度量,某一个特定词语的IDF可以由语料库中总文档数目除以包含该词的文档数目,再将得到的商取对数得到:
Figure BDA0001749654550000051
式中分子|D|是总文档数目,分母是包含词i的文档数目,由此便可得到每个Wi的TFIDF值t(wi),按公式T1=t(w0)*t(w1)*t(w2)…*t(wn)计算S1的重叠词的TFIDF特征值;
D.遍历公共词列表W,原理同上,计算同时属于问题S2和W的词Wj在整个语料库中的TFIDF值,按公式T2=t(w0)*t(w1)*t(w2)…*t(wn)计算S2的重叠词的TFIDF特征值;
E.得到问题S1的重叠词TFIDF特征值和问题S2的重叠词TFIDF特征值之后,利用公式:tsim(S1,S2)=(T1+T2)/2计算两个问题的整体相似度值。
进一步的,所述从问题整体计算两个问题的相似度包括:从词共现频数向量指数计算两个问题的相似度,以及从编辑距离指数计算两个问题的相似度,编辑距离是指由问题S1转化为S2经过的最少的编辑次数,编辑距离越小,说明两句话相似度越高。
一种基于上述无监督语义匹配算法模型的智能购房对话机器人系统,包括:
先验知识构建模块,由词向量模型训练子模块、地址索引构建子模块和倒排索引构建子模块三部分组成,利用爬虫算法从互联网上爬取房地产相关的网页内容,收集整理房地产市场信息,并对信息进行去噪清洗,包括但不局限特殊符号去除、html网页标签去除、表格去除和图片去除;整理地址信息,建立地址库,用于对话机器人知识库地址索引的构建;
候选相关问题召回模块,由地址识别子模块、BOW/N-Gram/同义词识别子模块、地址召回子模块和内容召回子模块四部分组成,对获取的问题UQ进行地址识别、切词和短语识别,从地址信息出发,由先验知识构建模块得到的地址索引,并对系统知识库的知识内容进行内容地址召回;从问题内容出发,由先验知识构建模块得到的倒排索引,并对系统知识库的知识内容进行内容正文召回,对倒排索引和地址索引召回的两部分内容进行交集处理,得到和用户问题UQ相关的系统知识库中的问题集;
候选相关问题计算排序模块,由重叠部分特征抽取子模块、非重叠部分词向量计算子模块和问题整体统计特征抽取子模块三部分组成,通过候选相关问题召回模块得到和用户问题UQ相关的系统知识库中的问题集后,由重叠部分、非重叠部分和问题整体计算用户问题和候选相关问题的相似度,并根据相似度得分对候选相关问题进行排序,将排序的头部问题所对应的答案展现给用户。
一种房产描述及房价预估系统,包括:
先验知识构建模块,利用爬虫算法从互联网上爬取房产相关网页的内容,收集整理房地产市场的文档,对文档进行去噪清洗,包括但不局限特殊符号去除、html网页标签去除、表格去除和图片去除,对最终文档进行结构化处理,构建地区和周边配套设施索引,爬取热门城市及城市分区,构建城市和分区索引;
用户地区定位模块,对用户问题进行城市定位,遍历热门城市列表,确定用户问题中是否包含热门城市,如果包含热门城市,再通过城市和分区索引召回该城市下面分区列表,之后遍历分区列表,确定用户问题中是否包含分区,确定用户问题中既包含城市又包含分区,即可触发主动房产描述机制,通过地区和周边配套设施索引召回房产周边配套设置,对用户进行房产周边信息描述;
房价预估模块,采用基于先验知识的线性模型,对历史房价进行分析,对未来房价进行预估。
进一步的,所述房价预估模块包括下面工作步骤:
A.获取房产地区过去五年的均价增幅百分比,记为U1,U2,U3,U4,U5,U5代表过去一年,以此类推;
B.获取房产地区今年的均价,记为S0;
C.获取房产地区近一年是否有交通、医院、学区、购物等主要的周边配套设施的新增,记为A;
D.由公式S=(w1*U1+w2*U2+w3*U3+w4*U4+w5*U5)*S0+S0+alpha*A,其中,w1-w5和alpha属于超参数,需要调参确定,并设定了w进行各年度权重调整。
本发明的有益效果在于:
1.本发明提出的一种多特征融合无监督语义匹配算法模型,综合考虑统计层面的相关性和语义相关性两种信息,既从统计的角度又从语义的角度进行相似度计算,最后通过融合的方法进一步提升效果,使得相似度计算结果更为准确和可靠,可以快速实现用户问题和知识库问题的召回、匹配过程。
2.本发明智能购房对话机器人系统可以实现问答式交互,摒弃了现有购房时搜索式的信息获取方式,节省了时间,提升了用户体验,并可以根据用户问答语义,主动为用户展示房产周边配套设施和房价未来走势,使用户跟进一步了解房产信息。
3.本发明提出的一种房产描述和房价预估系统,通过知识库的构建和索引使得用户能够全面细致的了解房产周边的配套设施,房价预估模型充分考虑房产的房价走势和周边的设施新增情况,综合考虑房价相关因素,使得用户更了解房价的未来走势。
附图说明
附图1本发明智能购房对话机器人系统工作框图;
附图2本发明房产信息描述和房价预估系统工作框图;
附图3基于对话机器人系统及房产信息描述和房价预估系统的智能购房助手工作框图。
具体实施方式
下面结合附图对本发明具体实施方式做进一步说明:
如附图1智能购房对话机器人系统工作框图中,候选相关问题计算排序模块的流程图所示,一种多特征融合无监督语义匹配算法模型,包括用于重叠部分相似度计算的通道一、用于非重叠部分相似度计算的通道二,以及用于问题整体相似度计算的通道三:
所述通道一以公共词列表C为基础,从问题S1和S2重叠词个数、重叠词在两个句子中的连续性计算两个问题的相似度,公式如下:
Figure BDA0001749654550000081
其中,m为C中元素的个数,L(ci)表示C中第i个元素中包含词的个数,k为连续词加权系数,当ci为独立单词时,L(ci)为1,系数k起不到加权的作用,当L(ci)大于1时,即由连续词构成了词块,系数k起到加权的作用;
所述通道二使用pyltp对问题S1和S2进行分词和词性识别,使用两个句子的重叠词列表对问题S1和S2进行遍历,得到问题S1和S2非重叠部分A和B,对非重叠部分A和B进行分组,使得名词为一组An、Bn,动词为另一组Av、BV,遍历An、Bn,两两计算词间相似度,计算时采用word2vec模型中词的向量距离来度量,并对结果求和取均值得到nsim(S1,S2),遍历Av、BV,两两计算词间相似度,计算时采用word2vec模型中词的向量距离来度量,并对结果求和取均值得到vsim(S1,S2);
所述通道三综合考虑通道一的重叠部分和通道二的非重叠部分,从问题整体计算两个问题的相似度。
进一步的,从所述问题S1和S2重叠词在两个问题中词序一致性计算问题相似度的计算步骤为:
A.以单个词为单位获取两个问题的公共词列表W;
B.顺序遍历S1,标记同时属于S1和W的词Wi在S1中的索引I1,同一词在S1中多次出现时,仅记录首次索引,最终得到的索引形如I1=[1,2,3,4,5];
C.顺序遍历S2,标记同时属于S2和W的词Wj在S1中的索引I2,同一词在S2中多次出现时,仅记录首次索引,最终得到的索引形如I2=[4,3,1,2,5];
D.计算I2中索引的次序,对不是正常顺序的索引进行惩罚,计算公式如下:
Figure BDA0001749654550000091
其中,当I2中第n个索引比第n-1个索引值小时,对词序相似度进行惩罚,其中Q表示索引差值,δ表示惩罚因子,取值范围为0至1,当I2中第n个索引比第n-1个索引值大时,表示该词在S2中出现的顺序与S1中保持一致,记语序相似度为1;计算完成后,使用下式得到句子中词序相似度的总体值:
Figure BDA0001749654550000101
其中,C(I2)表示索引列表I2中元素的个数。
进一步的,从所述问题S1和S2重叠词在语料库中的Tfidf值计算两个问题相似度的计算步骤为:
A.以单个词为单位获取两个问题的公共词列表W;
B.利用从互联网上爬取并经过清洗、去噪、分词的短语识别之后的语料库;
C.遍历公共词列表W,计算同时属于问题S1和W的词Wi在整个语料库中的TFIDF值,TFIDF=TF*IDF,由词频与逆文档频率两部分组成,其中,词频(term frequency,TF)指的是某一个给定的词语在对应问题中出现的频率,计算公式如下:
Figure BDA0001749654550000102
式中分子是每个词在对应问题中出现的次数,分母是对应问题中所有词语总数,式中tfij表示词i在问题j中的频率,nij表示词i在问题j中出现的次数,nkj表示词k在问题j中出现的次数,分母表示所有词在问题j中出现的次数,即问题j中词总数;逆文档(inverse document frequency,IDF)是一个词语普遍重要性的度量,某一个特定词语的IDF可以由语料库中总文档数目除以包含该词的文档数目,再将得到的商取对数得到:
Figure BDA0001749654550000103
式中分子|D|是总文档数目,分母是包含词i的文档数目,由此便可得到每个Wi的TFIDF值t(wi),按公式T1=t(w0)*t(w1)*t(w2)…*t(wn)计算S1的重叠词的TFIDF特征值;
D.遍历公共词列表W,原理同上,计算同时属于问题S2和W的词Wj在整个语料库中的TFIDF值,按公式T2=t(w0)*t(w1)*t(w2)…*t(wn)计算S2的重叠词的TFIDF特征值;
E.得到问题S1的重叠词TFIDF特征值和问题S2的重叠词TFIDF特征值之后,利用公式:tsim(S1,S2)=(T1+T2)/2计算两个问题的整体相似度值。
上述实施方式中的进一步实施例为,
通道一重叠部分计算相似度:
(1)以公共词列表C为基础,从问题S1和S2重叠词个数、重叠词在两个句子中的连续性计算两个问题的相似度,公式如下:
Figure BDA0001749654550000111
其中,m为C中元素的个数;L(ci)表示C中第i个元素中包含词的个数;k为连续词加权系数。当ci为独立单词时,L(ci)为1,公式起不到加权的作用,当L(ci)大于1时,即由连续词构成了词块,系数k起到加权的作用。例如S1为“外地人在杭州怎么获得购房资格是什么?”,S2为“我想了解一下杭州的购房资格”,公共词列表C为[“杭州”,“购房资格”],c1为“杭州”,包含一个词,所以L(c1)=1k,c2为“购房资格”,包含“购房”、“资格”两个词,L(c2)=2k,csim(S1,S2)=1k+2k,而连续词加权系数k是一个超参数,后续需要调参确定。
(2)从问题S1和S2重叠词在两个问题中词序一致性计算两个问题的相似度,计算步骤为:
A.以单个词为单位获取两个问题的公共词列表W;
B.顺序遍历S1,标记同时属于S1和W的词Wi在S1中的索引I1,同一词在S1中多次出现时,仅记录首次索引,最终得到的索引形如I1=[1,2,3,4,5];
C.顺序遍历S2,标记同时属于S2和W的词Wj在S1中的索引I2,同一词在S2中多次出现时,仅记录首次索引,最终得到的索引形如I2=[4,3,1,2,5]。
D.计算I2中索引的次序,对不是正常顺序的索引进行惩罚,计算公式如下:
Figure BDA0001749654550000121
其中,当I2中第n个索引比第n-1个索引值小时,对词序相似度进行惩罚,其中Q表示索引差值,δ表示惩罚因子,取值范围为0至1;当I2中第n个索引比第n-1个索引值大时,表示该词在S2中出现的顺序与S1中保持一致,记语序相似度为1。计算完成后,使用下式得到句子中词序相似度的总体值:
Figure BDA0001749654550000122
其中,C(I2)表示索引列表I2中元素的个数。
此处举例说明计算过程,S1为“杭州购房资格怎么获得?”,S2为“想查询购房资格怎么获得,城市为杭州”,S1分词结果为[“杭州”,“购房”,“资格”,“怎么”,“获得”],S2分词结果为[“想”,“查询”,“购房”,“资格”,“怎么”,“获得”,“城市”,“为”,“杭州”],公共词列表W=[“杭州”,“购房”,“资格”,“怎么”,“获得”],遍历W,标记同时属于S1和W的词Wi在S1中的索引I1,索引从1开始,得到I1=[1,2,3,4,5],遍历W,标记同时属于S2和W的词Wj在S1中的索引I2,得到I2=[2,3,4,5,1]。然后计算I2中的索引次序,I21=3,I20=2,3大于2,osim(w1,w0)=1,同理,4大于3,osim(w2,w1)=1,5大于4,osim(w3,w2)=1,1小于5,差值绝对值为4,osim(w4,w3)=δ*δ*δ*δ=δ4,δ是一个超参数,后续需要进行调参决定。最后osim(S1,S2)=(1+1+1+δ4)/(5-1)=(3+δ4)/4。
(2)从问题S1和S2重叠词在语料库中的Tfidf值计算两个问题的相似度,计算步骤为:
A.以单个词为单位获取两个问题的公共词列表W;
B.利用从互联网上爬取并经过清洗、去噪、分词、短语识别之后的9w余篇房地产文档建立语料库。
C.遍历公共词列表W,计算同时属于问题S1和W的词Wi在整个语料库中的TFIDF值,TFIDF=TF*IDF,由词频与逆文档频率两部分组成,其中词频(term frequency,TF)指的是某一个给定的词语在对应问题中出现的频率,计算公式如下:
Figure BDA0001749654550000131
式中分子是每个词在对应问题中出现的次数,分母是对应问题中所有词语总数。公式中tfij表示词i在问题j中的频率,nij表示词i在问题j中出现的次数,nkj表示词k在问题j中出现的次数,那么分母表示所有词在问题j中出现的次数,即问题j中词总数。
逆文档(inverse document frequency,IDF)是一个词语普遍重要性的度量,某一个特定词语的IDF可以由语料库中总文档数目除以包含该词的文档数目,再将得到的商取对数得到:
Figure BDA0001749654550000132
式中分子|D|是总文档数目,分母是包含词i的文档数目,由此便可得到每个Wi的TFIDF值t(wi),按公式T1=t(w0)*t(w1)*t(w2)…*t(wn)计算S1的重叠词的TFIDF特征值;
D.遍历公共词列表W,原理同上,计算同时属于问题S2和W的词Wj在整个语料库中的TFIDF值,按公式T2=t(w0)*t(w1)*t(w2)…*t(wn)计算S2的重叠词的TFIDF特征值。
E.得到问题S1的重叠词TFIDF特征值和问题S2的重叠词TFIDF特征值之后,利用下式计算两个问题的整体相似度值:tsim(S1,S2)=(T1+T2)/2。
此处举例说明计算过程,S1为“杭州购房资格怎么获得?”,S2为“想查询购房资格怎么获得,城市为杭州”,假设语料库总文档数为10。S1分词结果为[“杭州”,“购房”,“资格”,“怎么”,“获得”],S2分词结果为[“想”,“查询”,“购房”,“资格”,“怎么”,“获得”,“城市”,“为”,“杭州”],公共词列表W=[“杭州”,“购房”,“资格”,“怎么”,“获得”],遍历公共词列表W,计算同时属于问题S1和W的词Wi在整个语料库中的TFIDF值,TF(w0)=TF(“杭州”)=1/5,分子1代表“杭州”在S1中出现了1次,分母5代表S1总共包含5个词语。假设语料库中包含“杭州”的文档有5篇,那么IDF(w0)=IDF(“杭州”)=log(10/5)=log(2),那么t(w0)=t(“杭州”)=TF(“杭州”)*IDF(“杭州”)=log(2)/5,同理计算其他公共词的分值,最终连乘得到T1。遍历公共词列表W,计算同时属于问题S2和W的词Wj在整个语料库中的TFIDF值,TF(w0)=TF(“杭州”)=1/9,分子1代表“杭州”在S2中出现了1次,分母9代表S2总共包含9个词语。假设语料库中包含“杭州”的文档有5篇,那么IDF(w0)=IDF(“北京”)=log(10/5)=log(2),那么t(w0)=t(“杭州”)=TF(“杭州”)*IDF(“杭州”)=log(2)/9,同理计算其他公共词的分值,最终连乘得到T2。最终tsim(S1,S2)=(T1+T2)/2。
通道二非重叠部分计算相似度:
使用pyltp对问题S1和S2进行分词和词性识别,使用两个句子的重叠词列表对问题S1和S2进行遍历,得到问题S1和S2非重叠部分A和B,对非重叠部分A和B进行分组,使得名词为一组An、Bn,动词为另一组Av、BV。在度量一句话时,一般名词和动词即可表达一句话的实际意义,所以从动词和名词两个角度计算两个问题的非重叠部分的相似度,可以得到准确的结果。
遍历An、Bn,两两计算词间相似度,计算时采用word2vec模型中词的向量距离来度量,并对结果求和取均值得到nsim(S1,S2)。例如可以通过词向量的距离计算得到“基数”和“时限”、“标准”的相似度分别为0.2和0.6。
遍历Av、BV,两两计算词间相似度,计算时采用word2vec模型中词的向量距离来度量,并对结果求和取均值得到vsim(S1,S2)。
通道三非重叠部分计算相似度:
前面两个通道从重叠部分和非重叠部分两个方面计算了两个问题的相似度,为了更加全面和准确的计算相似度得分,这里设计第三个通道,综合考虑重叠部分和非重叠部分,从问题整体计算两个问题的相似度。
从词共现频数向量指数计算两个问题的相似度。举例说明计算过程如下:
a.对两个问题做分词处理,并对分词结果取并集,然后做去重处理得到词集Words;例如S1为“杭州购房资格外地人怎么获得?”,S2为“想查询购房资格怎么获得,城市为杭州”。S1分词结果为[“杭州”,“购房”,“资格”,“外地人”,“怎么”,“获得”],S2分词结果为[“想”,“查询”,“购房”,“资格”,“怎么”,“获得”,“城市”,“为”,“杭州”],取并集并去重之后得到Words=[“杭州”,“购房”,“资格”,“外地人”,“怎么”,“获得”,“想”,“查询”,“城市”,“为”]。
b.遍历词集Words,分别统计每个词语在S1和S2中出现的次数,得到向量Vec1和Vec2;如上例可得到Vec1=[1,1,1,1,1,1,0,0,0,0],0代表没有出现,即“想”、“查询”、“城市”、“为”四个词在S1中没有出现,得到Vec2=[1,1,1,01,1,1,1,1,1],0代表“外地人”在S2中没有出现。
c.遍历Vec1和Vec2,并对相应位置的元素相乘得到Vec3;如上例可得到Vec3=[1*1,1*1,1*1,1*0,1*1,1*1,0*1,0*1,0*1,0*1]=[1,1,1,0,1,1,0,0,0,0]。
d.对Vec3求和得到co_sum;如上例可得co_sum=5。
e.对S1和S2的切词结果进行长度求和得到den,然后由式vsim(S1,S2)=co_sum/den计算共现频数向量指数;如上例可得den=6+9=15,vsim(S1,S2)=5/15=1/3。
从编辑距离指数计算两个问题的相似度。编辑距离是指由S1转化为S2经过的最少的编辑次数,编辑距离越小,则说明两句话相似度越高。本算法使用最大文本距离与编辑距离的比值lsim(S1,S2)作为相似度得分,越大代表越相似。
多特征分值融合:
三个通道共计算出7个得分,分别为重叠词加权指数csim、重叠词句序一致性指数osim、重叠词Tfidf加权指数tsim、非重叠名词语意相似度指数nsim、非重叠动词语意相似度指数bsim、词共现频数向量指数vsim和编辑距离指数lsim。充分、全面考虑各个得分,基于重叠部分、非重叠部分、问题整体三个方面得分越高,相似度越高。设计一种新的得分融合公式,具体如下:
V1=alpha*(csim+bsim+nsim)/len(UQ),len(UQ)代表用户问题长度。
V2=gamma*csim*osim*tsim
V3=beta*lsim
V4=zeta*vsim
Score=v1+v2+v3+v4
其中,经过调参,alpha=0.5,beta=0.01,gamma=0.7。
由此便得到了两个问题的相似度得分,并根据得分对召回的相关问题进行降序排列,取头部问题对应的答案展示给用户,解决用户需求。
如附图1所示,一种上述无监督语义匹配算法模型的智能购房对话机器人系统,包括:
先验知识构建模块,由词向量模型训练子模块、地址索引构建子模块和倒排索引构建子模块三部分组成,利用爬虫算法从互联网上爬取房地产相关的网页内容,收集整理房地产市场信息,并对信息进行去噪清洗,包括但不局限特殊符号去除、html网页标签去除、表格去除和图片去除;整理地址信息,建立地址库,用于对话机器人知识库地址索引的构建;
候选相关问题召回模块,由地址识别子模块、BOW/N-Gram/同义词识别子模块、地址召回子模块和内容召回子模块四部分组成,对获取的问题UQ进行地址识别、切词和短语识别,从地址信息出发,由先验知识构建模块得到的地址索引,并对系统知识库的知识内容进行内容地址召回;从问题内容出发,由先验知识构建模块得到的倒排索引,并对系统知识库的知识内容进行内容正文召回,对倒排索引和地址索引召回的两部分内容进行交集处理,得到和用户问题UQ相关的系统知识库中的问题集;
候选相关问题计算排序模块,由重叠部分特征抽取子模块、非重叠部分词向量计算子模块和问题整体统计特征抽取子模块三部分组成,通过候选相关问题召回模块得到和用户问题UQ相关的系统知识库中的问题集后,由重叠部分、非重叠部分和问题整体计算用户问题和候选相关问题的相似度,并根据相似度得分对候选相关问题进行排序,将排序的头部问题所对应的答案展现给用户。
本实施方式进一步的实施例为:
先验知识构建模块,利用爬虫算法,从互联网上爬取各地房产相关网页的内容,收集整理10w篇关于房地产市场的文档,对文档进行去噪清洗,包括但不局限特殊符号去除、html网页标签去除、表格去除和图片去除,最终得到优质文档9w余篇。对去噪之后的文档数据,利用pyltp分词工具对文档进行分词,并筛掉常见的停用词,经过分词之后,得到每篇文档所对应的词集。在这里我们比较了大量的分词工具,比如pyltp、jieba、hanlp、snowNLP等,发现pyltp得到的切词效果更合适当前场景数据。得到每篇文档所对应的词集之后,对词集中的词语进行短语和词组的识别,有些短语和词组在文档中具有实际意义,但是分词的时候由于分词工具的限制,无法准确切分,会把短词和词组进行切分成词语,甚至是把少数有效的词语切分成单独的两个字,所以为了还原文档的准确意义,利用算法对词语进行短语和词组的识别,短语识别的逻辑原理是:
a.首先基于整个语料库,构建相邻K个词语对,这里K取2.比如两条文本分词集分别为[w1,w2,w3,w4,w5]、[w2,w3,w6],那么构建的词语对pair列表分别为[(w1,w2),(w2,w3),(w3,w4),(w4,w5),(w5,None)]、[(w2,w3),(w3,w6),(w6,None)]。
b.统计不包含None的pair以及单词出现的次数形成词对/词的频次字典vocab,那么该例子中vocab为{(w1,w2):1,(w2,w3):2,(w3,w4):1,(w4,w5):1,(w3,w6):1,(w1):1,(w2):2,(w3):2,(w4):1,(w5):1,(w6):1},同时我们统计总的词对数(包含None在内,但不包含单个词)train_words,以该例子为例,仅统计(w1,w2)、(w5,None)等类型的,即总词对数train_words为8.
c.去除出现次数少于min_count的词或者词对pair,在实际操作中我们设置min_count为5。如果以b中数据为例,假设min_count为1,那么最终留下来的vocab就为[(w2,w3):2,(w2):2,(w3):2]
d.按照公式score=(pab-min_count)*train_words/(pa*pb)计算最终的候选词对组(两个词组成的词对)成分值,pab为对应词对pair通过查询vocab得到的出现次数,比如pair对为(w2,w3)的次数为2。pa为词对中第一个词的出现次数,pb为词对中第二个词出现的次数,即w2的出现次数对应pa,w3的次数对应pb,通过查询vocab,可知pa为2,pb为2。那么词对pair(w2,w3)能合成w2w3的score(以该例展示):(2-1)*8/(2*2)=2。如果pab,pa,pb其中任一值缺失,则score为0.
e.阈值过滤,如果score>threshold,那么我们认为两个词能够组成词组。实际过程中我们取threshold为100。以该例为展示,假设threshold为1,因为score(w2,w3)>threshold,那么我们认为w2与w3能够组成词组。如果低于threshold,我们认为依然维持原来单个词状态。
f.得到短语后,我们把组成短语的原始词语删除,只留下短语即可,在整个算法框架里,K取2,由此,得到每篇文档所对应的词语和短语的集合。
将所有文档所对应的词语和短语输入到word2vec模型里,得到每个词语和短语的向量表达,此处算法设置向量长度为200,例如词语“二手房”经过word2vec之后表征它的向量为[0.1,0.5,0.2,0.9,…,0.7],共200个小数。经过Word2vec得到每个词语或短语的表达向量之后,可以通过很简单的向量余弦方法就可以计算两个词语的相似度,比如“房产”和“房屋”的向量余弦值肯定会比”购买”和“房产”的向量余弦值要大,说明“房产”和“房屋”是近义词。由此得到全量房地产词汇的词向量。
(1)整理中国各处地址信息,建立地址库,主要包括省,该省下面的市,该市下面的县,该县下面的镇,总共共计1800多个地址信息,用于对话机器人知识库地址索引的构建。
(2)构建购房对话机器人知识库的地址索引,具体过程如下,知识库每条知识都有城市字段,将同一城市下所有知识作为值,此城市作为索引建立映射关系,格式为(地址1:问题1,问题2,…,问题n),如(杭州:杭州西湖区翠苑一区二手房均价?,外地人在杭州怎样具有购房资格?,…,杭州市拱墅区有哪些医院?)。这样构建以后通过地址索引可以快速召回属于同一城市下的问题。
(3)构建购房对话机器人知识库的倒排全文索引,具体过程如下,将知识库的知识问题进行切词处理,将词语作为索引,包含次词语的问题作为值,建立词语和问题的映射关系,格式为(词语1:问题1,问题2,…,问题n),如(购房资格:外地人在杭州怎样具有购房资格?,在上海想要获取购房资格要缴满几年社保?,…,深圳二套房购买资格是什么。),倒排全文索引构建完成以后,可以从内容上快速召回属于同一情形下的问题。
(4)至此,先验知识构建模块结束,其中全量房产汇词向量是为候选相关问题计算排序模块做准备,知识库地址索引和全文倒排索引是为了候选相关问题召回模块做准备,由两种索引融合召回可以加快召回的速度、减少噪声的引入、提高召回的准确性。
候选相关问题召回模块,首先获取用户提出的问题UQ,并对用户提出的问题进行地址识别、切词、短语识别三道工序,如果用户提出的问题UQ没有地址信息,会对用户进行追问地址信息。例如用户提问”杭州西湖区翠苑一区二手房均价多少?“,经过处理之后,得到地址信息:杭州西湖区,内容正文:[“翠苑一区”,“二手房”,“均价”,“多少”]。得到用户问题UQ的地址信息和内容正文之后,从地址信息出发,由先验知识构建模块得到的地址索引对知识库的知识进行地址召回,用户提问的地址信息为杭州,此过程召回的为知识库中城市为北京的所有知识;从内容正文出发,由先验知识构建模块得到的倒排索引对知识库的知识进行内容正文召回。然后对倒排索引和地址索引召回的两部分问题进行交集处理,这样就召回了和用户问题UQ相关的知识库中的问题集。
候选相关问题计算排序模块,由候选相关问题召回模块得到知识库中与用户问题相关的问题之后,由重叠部分、非重叠部分和问题整体计算用户问题和候选相关问题的相似度,并根据相似度得分对候选相关问题进行排序,将排序的头部问题所对应的答案展现给用户。
如附图2所示,一种房产描述及房价预估系统,包括:
先验知识构建模块,利用爬虫算法从互联网上爬取房产相关网页的内容,收集整理房地产市场的文档,对文档进行去噪清洗,包括但不局限特殊符号去除、html网页标签去除、表格去除和图片去除,对最终文档进行结构化处理,构建地区和周边配套设施索引,爬取热门城市及城市分区,构建城市和分区索引;
用户地区定位模块,对用户问题进行城市定位,遍历热门城市列表,确定用户问题中是否包含热门城市,如果包含热门城市,再通过城市和分区索引召回该城市下面分区列表,之后遍历分区列表,确定用户问题中是否包含分区,确定用户问题中既包含城市又包含分区,即可触发主动房产描述机制,通过地区和周边配套设施索引召回房产周边配套设置,对用户进行房产周边信息描述;
房价预估模块,采用基于先验知识的线性模型,对历史房价进行分析,对未来房价进行预估。
进一步的,所述房价预估模块包括下面工作步骤:
A.获取房产地区过去五年的均价增幅百分比,记为U1,U2,U3,U4,U5,U5代表过去一年,以此类推;
B.获取房产地区今年的均价,记为S0;
C.获取房产地区近一年是否有交通、医院、学区、购物等主要的周边配套设施的新增,记为A;
D.由公式S=(w1*U1+w2*U2+w3*U3+w4*U4+w5*U5)*S0+S0+alpha*A,其中,w1-w5和alpha属于超参数,需要调参确定,并设定了w进行各年度权重调整。
本实施方式的进一步实施例为,
先验知识构建模块,利用爬虫算法,从互联网上爬取各地房产相关网页的内容,收集整理10w篇关于房地产市场的文档,对文档进行去噪清洗,包括但不局限特殊符号去除、html网页标签去除、表格去除和图片去除,最终得到优质文档9w余篇。整理优质文档,对文档进行结构化处理,构建地区和周边配套设施索引,具体格式为(地区:交通;医院;学区;购物),例如(杭州市西湖区:[地铁一号线,地铁二号线];[杭州市中医院,省立同德医院];[行知小学,西湖小学];[西城广场,西湖银泰])。爬取热门城市及城市分区,构建城市和分区索引,具体格式为(城市:分区),例如(杭州市:[拱墅区,上城区,下城区,江干区,西湖区,滨江区,萧山区,余杭区,富阳区,临安区,桐庐县,淳安县,建德市])
用户地区定位模块,用户提出问题,经过智能购房对话机器人系统,给用户展示相应答案。对用户问题进行城市定位,遍历热门城市列表,确定用户问题中是否包含热门城市。如果包含热门城市,再通过城市和分区索引召回该城市下面分区列表,之后遍历分区列表,确定用户问题中是否包含分区。确定用户问题中既包含城市又包含分区,即可触发主动房产描述机制,通过地区和周边配套设施索引召回房产周边配套设置,对用户进行房产周边信息描述。
此处举例说明触发过程,比如用户提问“杭州市西湖区翠苑一区二手房均价是多少?”,通过对话机器人对用户展示答案“2018年7月,翠苑一区二手房均价为38580元/平方米。”然后通过热门城市列表对用户问题进行遍历,发现用户问题包含“杭州市”,再通过杭州市下面的区域列表对用户问题进行遍历,发现用户问题包含“西湖区”,拼接之后区域信息就是“杭州市西湖区”,即触发了主动房产描述机制,对用户进行展示:杭州市西湖区:交通:地铁一号线,地铁二号线,医院:杭州市中医院,省立同德医院…,学区:行知小学,西湖小学…,购物:西城广场,西湖银泰…。假设用户提问“杭州市购房资格怎么获得?”,通过对话机器人对用户展示答案“连续缴满两年社保,不能断缴和续缴。”,因为用户此问题不包含具体区域,只包含“杭州市”,所以不会触发房产描述机制。
房价预估模块,触发房产描述机制之后,便会一同触发房价预估模块,由于房价变化一般属于线性分布,不会突然大幅上升和大幅下降,只会稳步上升、稳步下降或小幅波动,除一些特殊情况,比如房产周边有新建地铁开通,不过这种情况一般都是少数的。所以房价预估模型采用基于先验知识的线性模型。
具体工作步骤如下:
获取房产地区过去五年的均价增幅百分比,记为U1,U2,U3,U4,U5,U5代表过去一年,以此类推。
获取房产地区今年的均价,记为S0。
获取房产地区近一年是否有交通、医院、学区、购物等主要的周边配套设施的新增,记为A。
由公式S=(w1*U1+w2*U2+w3*U3+w4*U4+w5*U5)*S0+S0+alpha*A,其中w1-w5和alpha属于超参数,需要调参确定,由于过去一年的均价增幅肯定比过去五年的均价增幅对新一年的预测更有借鉴意义,所以设定了w进行权重调整,又考虑了周边配套设施的变化,设定了A。综合全面的对房价进行预估。
此处举例说明房价预估模块,假设用户提问“杭州市西湖区翠苑一区二手房均价是多少?”,触发了房产描述机制,也会触发房价预估模块,首先获取过去五年杭州市西湖区翠苑一区二手房均价增幅百分比,假设分别为U1=5%,U2=6%,U3=7%,U4=7%,U5=9%,且今年二手房均价S0=38000,并且近一年有地铁二号线开通。所以2019年房屋均价为S=(0.1*5%+0.1*6%+0.2*7%+0.25*7%+0.35*9%)*38000+38000+1000*1=41812,具体参数需要建模调参决定。
上述各技术方案具体实施方式中所依赖的原始数据为用户问题、购房对话机器人知识库、房产描述知识库,购房对话机器人知识库,分别为知识问题、知识答案、知识所属城市。下表展示的就是使用到的购房对话机器人知识库数据:
购房对话机器人知识库数据字段介绍
Figure BDA0001749654550000241
Figure BDA0001749654550000251
以下展示是用户问题数据:
用户数据字段介绍
Figure BDA0001749654550000252
以下展示是房产描述知识库:
用户数据字段介绍
Figure BDA0001749654550000261
Figure BDA0001749654550000271
如附图3所示,本发明最终实现的是一种融合对话机器人、房产描述和房价预估模块的智能购房助手,其中对话机器人的关键技术是多特征融合无监督语义匹配算法,该算法模型的工作流程如附图1中的候选相关问题计算排序模块的工作框图所示。如附图2所示,房产描述和房价预估系统采取主动展示触发机制,该系统包含先验知识构建模块、地区信息匹配模块和房价预估模块,其中先验知识构建模块包含地址索引构建;地区信息匹配模块包含用户问题地区信息定位、相关知识召回;房价预估模块包含历史房价的分析和未来房价的预估。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何利用本发明多特征融合无监督语义匹配算法及智能购房对话机器人系统的方法思路均属于本发明技术构思的保护范围,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (1)

1.一种智能购房对话机器人系统,其特征在于,包括:
先验知识构建模块,由词向量模型训练子模块、地址索引构建子模块和倒排索引构建子模块三部分组成,利用爬虫算法从互联网上爬取房地产相关的网页内容,收集整理房地产市场信息,并对信息进行去噪清洗,包括但不局限特殊符号去除、html网页标签去除、表格去除和图片去除;整理地址信息,建立地址库,用于对话机器人知识库地址索引的构建;
候选相关问题召回模块,由地址识别子模块、BOW/N-Gram/同义词识别子模块、地址召回子模块和内容召回子模块四部分组成,对获取的问题UQ进行地址识别、切词和短语识别,从地址信息出发,由先验知识构建模块得到的地址索引,并对系统知识库的知识内容进行内容地址召回;从问题内容出发,由先验知识构建模块得到的倒排索引,并对系统知识库的知识内容进行内容正文召回,对倒排索引和地址索引召回的两部分内容进行交集处理,得到和用户问题UQ相关的系统知识库中的问题集;
候选相关问题计算排序模块,基于多特征融合无监督语义匹配算法模型计算用户问题和问题集中候选相关问题的相似度,并根据相似度得分对候选相关问题进行排序,将排序的头部问题所对应的答案展现给用户;所述多特征融合无监督语义匹配算法模型包括:用于重叠部分相似度计算的通道一, 用于非重叠部分相似度计算的通道二,以及用于问题整体相似度计算的通道三; 所述通道一以公共词列表C为基础,从问题S1和S2重叠词个数、重叠词在两个句子中的连续性计算两个问题的相似度,公式如下:
Figure FDA0003509089270000021
其中,m为C中元素的个数,L(ci)表示C中第i个元素中包含词的个数,k为连续词加权系数,当ci为独立单词时,L(ci)为1,系数k起不到加权的作用,当L(ci)大于1时,即由连续词构成了词块,系数k起到加权的作用;
所述通道二使用pyltp对问题S1和S2进行分词和词性识别,使用两个句子的重叠词列表对问题S1和S2进行遍历,得到问题S1和S2非重叠部分A和B,对非重叠部分A和B进行分组,使得名词为一组An、Bn,动词为另一组Av、BV,遍历An、Bn,两两计算词间相似度,计算时采用word2vec模型中词的向量距离来度量,并对结果求和取均值得到nsim(S1,S2),遍历Av、BV,两两计算词间相似度,计算时采用word2vec模型中词的向量距离来度量,并对结果求和取均值得到vsim(S1,S2);所述通道三综合考虑通道一的重叠部分和通道二的非重叠部分,从问题整体计算两个问题的相似度;
其中,所述先验知识构建模块还用于构建地区和周边配套设施索引,爬取热门城市及城市分区,构建城市和分区索引;
所述系统还包括:
用户地区定位模块,对用户问题进行城市定位,遍历热门城市列表,确定用户问题中是否包含热门城市,如果包含热门城市,再通过城市和分区索引召回该城市下面分区列表,之后遍历分区列表,确定用户问题中是否包含分区,确定用户问题中既包含城市又包含分区,即可触发主动房产描述机制,通过地区和周边配套设施索引召回房产周边配套设置,对用户进行房产周边信息描述;
房价预估模块,采用基于先验知识的线性模型,对历史房价进行分析,对未来房价进行预估;
其中,所述房价预估模块包括下面工作步骤:
A.获取房产地区过去五年的均价增幅百分比,记为U1,U2,U3,U4,U5,U5代表过去一年,以此类推;
B.获取房产地区今年的均价,记为S0;
C.获取房产地区近一年是否有交通、医院、学区、购物等主要的周边配套设施的新增,记为A;
D.由公式S=(w1*U1+w2*U2+w3*U3+w4*U4+w5*U5)*S0+S0+alpha*A,其中,w1-w5和alpha属于超参数,需要调参确定,并设定了w进行各年度权重调整;
其中,从所述问题S1和S2重叠词在两个问题中词序一致性计算问题相似度的计算步骤为:
A.以单个词为单位获取两个问题的公共词列表W;
B.顺序遍历S1,标记同时属于S1和W的词Wi在S1中的索引I1,同一词在S1中多次出现时,仅记录首次索引,最终得到的索引形如I1=[1,2,3,4,5];
C.顺序遍历S2,标记同时属于S2和W的词Wj在S1中的索引I2,同一词在S2中多次出现时,仅记录首次索引,最终得到的索引形如I2=[4,3,1,2,5];
D.计算I2中索引的次序,对不是正常顺序的索引进行惩罚,计算公式如下:
Figure FDA0003509089270000031
其中,当I2中第n个索引比第n-1个索引值小时,对词序相似度进行惩罚,其中Q表示索引差值,δ表示惩罚因子,取值范围为0至1,当I2中第n个索引比第n-1个索引值大时,表示该词在S2中出现的顺序与S1中保持一致,记语序相似度为1;计算完成后,使用下式得到句子中词序相似度的总体值:
Figure FDA0003509089270000041
其中,C(I2)表示索引列表I2中元素的个数;
从所述问题S1和S2重叠词在语料库中的Tfidf值计算两个问题相似度的计算步骤为:
A.以单个词为单位获取两个问题的公共词列表W;
B.利用从互联网上爬取并经过清洗、去噪、分词的短语识别之后的语料库;
C.遍历公共词列表W,计算同时属于问题S1和W的词Wi在整个语料库中的TFIDF值,TFIDF=TF*IDF,由词频与逆文档频率两部分组成,其中,词频(term frequency,TF)指的是某一个给定的词语在对应问题中出现的频率,计算公式如下:
Figure FDA0003509089270000042
式中分子是每个词在对应问题中出现的次数,分母是对应问题中所有词语总数,式中tfij表示词i在问题j中的频率,nij表示词i在问题j中出现的次数,nkj表示词k在问题j中出现的次数,分母表示所有词在问题j中出现的次数,即问题j中词总数;逆文档(inverse document frequency,IDF)是一个词语普遍重要性的度量,某一个特定词语的IDF可以由语料库中总文档数目除以包含该词的文档数目,再将得到的商取对数得到:
Figure FDA0003509089270000043
式中分子|D|是总文档数目,分母是包含词i的文档数目,由此便可得到每个Wi的TFIDF值t(wi),按公式T1=t(w0)*t(w1)*t(w2)…*t(wn)计算S1的重叠词的TFIDF特征值;
D.遍历公共词列表W,原理同上,计算同时属于问题S2和W的词Wj在整个语料库中的TFIDF值,按公式T2=t(w0)*t(w1)*t(w2)…*t(wn)计算S2的重叠词的TFIDF特征值;
E.得到问题S1的重叠词TFIDF特征值和问题S2的重叠词TFIDF特征值之后,利用公式:tsim(S1,S2)=(T1+T2)/2计算两个问题的整体相似度值;
所述从问题整体计算两个问题的相似度包括:从词共现频数向量指数计算两个问题的相似度,以及从编辑距离指数计算两个问题的相似度,编辑距离是指由问题S1转化为S2经过的最少的编辑次数,编辑距离越小,说明两句话相似度越高。
CN201810860978.3A 2018-08-01 2018-08-01 一种基于对话机器人的智能购房助手 Active CN109101493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810860978.3A CN109101493B (zh) 2018-08-01 2018-08-01 一种基于对话机器人的智能购房助手

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810860978.3A CN109101493B (zh) 2018-08-01 2018-08-01 一种基于对话机器人的智能购房助手

Publications (2)

Publication Number Publication Date
CN109101493A CN109101493A (zh) 2018-12-28
CN109101493B true CN109101493B (zh) 2022-04-01

Family

ID=64848018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810860978.3A Active CN109101493B (zh) 2018-08-01 2018-08-01 一种基于对话机器人的智能购房助手

Country Status (1)

Country Link
CN (1) CN109101493B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766424B (zh) * 2018-12-29 2021-11-19 安徽省泰岳祥升软件有限公司 一种阅读理解模型训练数据的过滤方法及装置
JP7228083B2 (ja) * 2019-01-31 2023-02-24 日本電信電話株式会社 データ検索装置、方法およびプログラム
CN110598791A (zh) * 2019-09-12 2019-12-20 深圳前海微众银行股份有限公司 地址相似度评价方法、装置、设备及介质
CN111078849B (zh) * 2019-12-02 2023-07-25 百度在线网络技术(北京)有限公司 用于输出信息的方法和装置
CN110995577B (zh) * 2019-12-31 2021-10-22 珠海市小源科技有限公司 消息的多通道适配方法、装置及存储介质
CN113254756B (zh) * 2020-02-12 2024-03-26 百度在线网络技术(北京)有限公司 广告召回方法、装置、设备和存储介质
CN111462752B (zh) * 2020-04-01 2023-10-13 北京思特奇信息技术股份有限公司 基于注意力机制、特征嵌入及bi-lstm的客户意图识别方法
CN111768232A (zh) * 2020-06-24 2020-10-13 长春初唐网络科技有限公司 一种基于ai的房产线上营销线下销售跟踪匹配推荐方法
CN111931477B (zh) * 2020-09-29 2021-01-05 腾讯科技(深圳)有限公司 文本匹配方法、装置、电子设备以及存储介质
CN112380857B (zh) * 2020-11-03 2022-07-29 上海交通大学 一种金融领域近义词的扩展方法、装置及存储介质
CN113326267B (zh) * 2021-06-24 2023-08-08 长三角信息智能创新研究院 基于倒排索引和神经网络算法的地址匹配方法
CN115952270B (zh) * 2023-03-03 2023-05-30 中国海洋大学 冰箱的智能问答方法、装置和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218436A (zh) * 2013-04-17 2013-07-24 中国科学院自动化研究所 一种融合用户类别标签的相似问题检索方法及装置
CN103226580A (zh) * 2013-04-02 2013-07-31 西安交通大学 一种面向交互文本的话题识别方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11205103B2 (en) * 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226580A (zh) * 2013-04-02 2013-07-31 西安交通大学 一种面向交互文本的话题识别方法
CN103218436A (zh) * 2013-04-17 2013-07-24 中国科学院自动化研究所 一种融合用户类别标签的相似问题检索方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TFIDF的讲解;追军情怀;《http://blog.sina.com.cn/s/blog_5af539ee0102w4co.html》;20150825;第1-3页 *
李峰 等.融合词向量的多特征句子相似度计算方法研究.《计算机软件及计算机应用》.2017,第608-618页. *
融合词向量的多特征句子相似度计算方法研究;李峰 等;《计算机软件及计算机应用》;20170430;第608-618页 *

Also Published As

Publication number Publication date
CN109101493A (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
CN109101493B (zh) 一种基于对话机器人的智能购房助手
CN109284357B (zh) 人机对话方法、装置、电子设备及计算机可读介质
CN107861972B (zh) 一种用户录入商品信息后显示商品全结果的方法及设备
CN112667794A (zh) 一种基于孪生网络bert模型的智能问答匹配方法及系统
CN110148043A (zh) 基于知识图谱的招标采购信息推荐系统及推荐方法
Antonio et al. Hotel online reviews: creating a multi-source aggregated index
CN108920544A (zh) 一种基于知识图谱的个性化职位推荐方法
CN108073568A (zh) 关键词提取方法和装置
CN110347814B (zh) 一种律师精准推荐方法及系统
CN108763362A (zh) 基于随机锚点对选择的局部模型加权融合Top-N电影推荐方法
Ko et al. Using classification techniques for informal requirements in the requirements analysis-supporting system
CN109299245B (zh) 知识点召回的方法和装置
CN109033132B (zh) 利用知识图谱计算文本和主体相关度的方法以及装置
CN108108426A (zh) 自然语言提问的理解方法、装置及电子设备
CN109033433B (zh) 一种基于卷积神经网络的评论数据情感分类方法及系统
CN107436916B (zh) 智能提示答案的方法及装置
CN113239159B (zh) 基于关系推理网络的视频和文本的跨模态检索方法
Zhao et al. Sentiment analysis on the online reviews based on hidden Markov model
CN114254201A (zh) 一种科技项目评审专家的推荐方法
CN110070410A (zh) 一种基于大数据的人口社交分析方法及系统
TW201820172A (zh) 對話模式分析系統、方法及非暫態電腦可讀取記錄媒體
CN111651569B (zh) 一种电力领域的知识库问答方法及系统
CN112148886A (zh) 一种内容知识图谱的构建方法及系统
CN113946657A (zh) 一种基于知识推理的电力业务意图自动识别方法
CN116049557A (zh) 一种基于多模态预训练模型的教育资源推荐方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant