CN109858024A - 一种基于word2vec的房源词向量训练方法及装置 - Google Patents
一种基于word2vec的房源词向量训练方法及装置 Download PDFInfo
- Publication number
- CN109858024A CN109858024A CN201910009493.8A CN201910009493A CN109858024A CN 109858024 A CN109858024 A CN 109858024A CN 201910009493 A CN201910009493 A CN 201910009493A CN 109858024 A CN109858024 A CN 109858024A
- Authority
- CN
- China
- Prior art keywords
- houses
- source
- sample
- sliding window
- click
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 80
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000005070 sampling Methods 0.000 claims abstract description 41
- 230000003542 behavioural effect Effects 0.000 claims description 35
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000013480 data collection Methods 0.000 claims description 11
- 239000012141 concentrate Substances 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 239000000155 melt Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本发明公开一种基于word2vec的房源词向量训练方法及装置,本装置用于实现本方法,本方法包括制定房源点击行为的训练数据结构;输入训练数据集,构建语料库,且由房源ID及其对应的城市ID生成二元组,统计二元组生成房源词典;在word2vec的skipgram模型中输入有下单标签的房源ID,以滑窗方式获取其正样本;在房源词典的二元组中,从与房源ID对应的同城ID和非同城ID中分别采样其负样本;将其正样本和其负样本一起作为训练样本,使用skipgram模型进行训练,输出房源ID对应的词向量。本发明通过城市ID以及房源ID的对应关系,在训练样本采样中保证了数据的差异性和类别的均衡性,得到了更加优质的词向量。
Description
技术领域
本发明涉及计算机自然语言处理领域,特别涉及一种基于word2vec的房 源词向量训练方法及装置。
背景技术
随着计算机应用领域的不断扩大,自然语言处理受到了人们的高度重视。 机器翻译、语音识别以及信息检索等应用需求对计算机的自然语言处理能力 提出了越来越高的要求。为了使计算机能够处理自然语言,首先需要对自然 语言进行建模。自然语言建模方法经历了从基于规则的方法到基于统计方法 的转变。从基于统计的建模方法得到的自然语言模型称为统计语言模型。有 许多统计语言建模技术,包括n-gram、神经网络以及log_linear模型等。 在对自然语言进行建模的过程中,会出现维数灾难、词语相似性、模型泛化能力以及模型性能等问题。寻找上述问题的解决方案是推动统计语言模型不 断发展的内在动力。在对统计语言模型进行研究的背景下,Google公司在 2013年开放了Word2vec这一款用于训练词向量的软件工具。Word2vec可以 根据给定的语料库,通过优化后的训练模型快速有效地将一个词语表达成向 量形式,为自然语言处理领域的应用研究提供了新的工具。Word2vec依赖 skipgrams或连续词袋(CBOW)来建立神经词嵌入。Word2vec为托马斯·米科 洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人 所分析和解释。
除了在自然语言领域,我们可以对word2vec进行一些优化,以获取更优 质的词向量,使其在其他领域也发挥其高效的作用。
发明内容
本发明的主要目的是提出一种基于word2vec的房源词向量训练方法,旨 在克服以上问题。
为实现上述目的,本发明公开了一种基于word2vec的房源词向量训练方 法,包括以下步骤:
S10制定训练数据结构,生成训练数据集:将用户的房源点击行为数据集 按房源ID分割成若干房源ID的点击序列,一房源ID的点击序列,由若干房 源ID的点击序列生成训练数据集,每个训练数据的结构:第一列为当前点击 行为的下单或未下单标签,其后列为同一房源ID按时间顺序排列的点击行为 数据集,其中后列末尾为同一房源ID的当前点击行为数据;
S20生成房源词典:输入训练数据集,统计训练数据集生成语料库,在训 练数据集中抽取房源ID及其对应城市的同城ID的点击序列生成若干房源ID 二元组,统计若干房源ID二元组,生成房源词典;
S30采集训练样本:在word2vec的skipgram模型中输入有下单标签的 房源ID,以滑窗方式获取其正样本;在房源词典的若干房源ID二元组中采样 其同城ID的第一负样本;在房源词典中采样其非同城ID的第二负样本;
S40共享样本,模型训练:将其正样本、第一负样本和第二负样本一起作 为训练样本,使用skipgram模型进行训练,输出房源ID对应的词向量。
优选地,所述点击行为数据的满足条件为:
(1)同一用户点击行为间隔大于30分钟;
(2)同一用户访问房源的城市ID发生变化,视为新的点击行为数据。
优选地,所述S30中以滑窗方式获取其正样本的步骤具体为:
S301输入有下单标签的房源ID的点击序列至word2vec的skipgram模型;
S302设置skipgram模型的滑窗窗口大小,在上述所输入的房源ID的点 击序列中沿滑窗滑动方式根据滑窗窗口大小获取房源ID的滑窗正样本,所 述滑窗正样本是滑窗中除当前滑窗中心房源ID的其他点击行为数据,所述 滑窗窗口大小决定滑窗正样本的数量;
S303随着滑窗正样本在房源ID的点击序列中滑动,将当前点击行为数 据融入滑窗正样本生成正样本,获取正样本。
优选地,所述S30中所述采样其负样本的方法为:
S304在房源词典中屏蔽所输入下单标签的房源ID的的点击序列;
S305利用负采样算法,在房源词典的二元组中,从房源ID的同城ID中 采样第一负样本;
S306利用负采样算法,在房源词典的二元组中,从房源ID的非同城ID 中采样第二负样本。
本发明还公开了一种基于word2vec的房源词向量训练装置,包括:
制定模块,用于将用户的房源点击行为数据集按房源ID分割成若干房源 ID的点击序列,一房源ID的点击序列,由若干房源ID的点击序列生成训练 数据集,每个训练数据的结构:第一列为当前点击行为的下单或未下单标签, 其后列为同一房源ID按时间顺序排列的点击行为数据集,其中后列末尾为同 一房源ID的当前点击行为数据;
生成模块,用于输入训练数据集,统计训练数据集生成语料库,在训练 数据集中抽取房源ID及其对应城市的同城ID的点击序列生成若干房源ID二 元组,统计若干房源ID二元组,生成房源词典;
获取模块,用于在word2vec的skipgram模型中输入有下单标签的房源ID, 以滑窗方式获取其正样本;在房源词典的若干房源ID二元组中采样其同城 ID的第一负样本;在房源词典中采样其非同城ID的第二负样本;
模型训练模块,用于将其正样本、第一负样本和第二负样本一起作为训 练样本,使用skipgram模型进行训练,输出房源ID对应的词向量。
优选地,所述获取模块包括正样本获取子模块,所述正样本获取子模块 包括:
输入单元,用于向word2vec的skipgram模型的输入有下单标签的房源 ID序列;
第一采样单元,用设置滑窗的窗口大小,在下单标签的房源ID的点击 序列获取房源ID的滑窗正样本,所述滑窗正样本是沿滑窗的滑动,滑窗中 除当前滑窗中心房源ID的其他点击行为数据;
获取单元,用于随着滑窗正样本沿房源ID的点击序列滑动,将当前点 击行为数据融入滑窗正样本生成正样本,获取正样本。
优选地,所述获取模块包括负样本获取子模块,所述负样本获取子模块 包括:
屏蔽单元,用于在房源词典中屏蔽所输入下单标签的房源ID的的点击序 列;
第二采样单元,用于利用负采样算法,在房源词典的二元组中,从房源ID 的同城ID中采样第一负样本;
第三采样单元,用于利用负采样算法,在房源词典的二元组中,从房源ID 的非同城ID中采样第二负样本。
本发明有效地避免了现有技术中负采样算法因为全局随机采样,出现负 样本全部为非同城样本而产生的噪音数据的现象,由于没有同城样本数据, 机器只会学习非同城的数据差异,学不到与同城的数据差异,为避免这种现 象,使采样得到的训练数据更加合理,让机器能学习到同城和非同城的差异 性,本发明修改了词典结构,由原来的单一ID,变成了由房源ID和其对应的 城市ID组成的二元组,即采样同城ID的房源作为负样本,也采样非同城ID 作为负样本,两种采样得到的样本合在一起作为我们最终的负样本,从而训 练模型得到更优的房源ID对应的词向量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的 附图。
图1为本方法一实施例的方法流程图;
图2为所述S30中以滑窗方式获取其正样本的方法流程图;
图3为所述S30中所述采样其负样本的方法流程图;
图4为本装置一实施例的功能模块图;
图5为所述获取模块的功能模块细化图;
图6为实操实例2中会话序列长度分布对比图;
图7为实操实例3中Skipgram模型的结构示意图;
图8为实操实例4中基于Skipgram模型,以滑窗方式采样正、负样本的示 意图;
图9为以北京为例,本方法的验证图;
图10为以上海为例,本方法的验证图,
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有 作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、 前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下 各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则 该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第 一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重 要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二” 的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的 技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础, 当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合 不存在,也不在本发明要求的保护范围之内。
如图1-8所示,一种基于word2vec的房源词向量训练方法,包括以下步 骤:
S10制定训练数据结构,生成训练数据集:将用户的房源点击行为数据集 按房源ID分割成若干房源ID的点击序列,一房源ID的点击序列,由若干房 源ID的点击序列生成训练数据集,每个训练数据的结构:第一列为当前点击 行为的下单或未下单标签,其后列为同一房源ID按时间顺序排列的点击行为 数据集,其中后列末尾为同一房源ID的当前点击行为数据;
S20生成房源词典:输入训练数据集,统计训练数据集生成语料库,在训 练数据集中抽取房源ID及其对应城市的同城ID的点击序列生成若干房源ID 二元组,统计若干房源ID二元组,生成房源词典;
S30采集训练样本:在word2vec的skipgram模型中输入有下单标签的 房源ID,以滑窗方式获取其正样本;在房源词典的若干房源ID二元组中采样 其同城ID的第一负样本;在房源词典中采样其非同城ID的第二负样本;
S40共享样本,模型训练:将其正样本、第一负样本和第二负样本一起作 为训练样本,使用skipgram模型进行训练,输出房源ID对应的词向量。
优选地,所述点击行为数据的满足条件为:
(1)同一用户点击行为间隔大于30分钟;
(2)同一用户访问房源的城市ID发生变化,视为新的点击行为数据。
优选地,所述S30中以滑窗方式获取其正样本的步骤具体为:
S301输入有下单标签的房源ID的点击序列至word2vec的skipgram模 型;
S302设置skipgram模型的滑窗窗口大小,在上述所输入的房源ID的 点击序列中沿滑窗滑动方式根据滑窗窗口大小获取房源ID的滑窗正样本, 所述滑窗正样本是滑窗中除当前滑窗中心房源ID的其他点击行为数据,所 述滑窗窗口大小决定滑窗正样本的数量;
S303随着滑窗正样本在房源ID的点击序列中滑动,将当前点击行为数 据融入滑窗正样本生成正样本,获取正样本。
优选地,所述S30中所述采样其负样本的方法为:
S304在房源词典中屏蔽所输入下单标签的房源ID的的点击序列;
S305利用负采样算法,在房源词典的二元组中,从房源ID的同城ID中 采样第一负样本;
S306利用负采样算法,在房源词典的二元组中,从房源ID的非同城ID 中采样第二负样本。
本发明还公开了一种基于word2vec的房源词向量训练装置,用于实现上 述方法,其包括:
制定模块10,用于将用户的房源点击行为数据集按房源ID分割成若干房 源ID的点击序列,一房源ID的点击序列,由若干房源ID的点击序列生成训 练数据集,每个训练数据的结构:第一列为当前点击行为的下单或未下单标 签,其后列为同一房源ID按时间顺序排列的点击行为数据集,其中后列末尾 为同一房源ID的当前点击行为数据;
生成模块20,用于输入训练数据集,统计训练数据集生成语料库,在训 练数据集中抽取房源ID及其对应城市的同城ID的点击序列生成若干房源ID 二元组,统计若干房源ID二元组,生成房源词典;
获取模块30,用于在word2vec的skipgram模型中输入有下单标签的房 源ID,以滑窗方式获取其正样本;在房源词典的若干房源ID二元组中采样 其同城ID的第一负样本;在房源词典中采样其非同城ID的第二负样本;
模型训练模块40,用于将其正样本、第一负样本和第二负样本一起作为 训练样本,使用skipgram模型进行训练,输出房源ID对应的词向量。
优选地,所述获取模块30包括正样本获取子模块,所述正样本获取子模 块包括:
输入单元301,用于向word2vec的skipgram模型的输入有下单标签的 房源ID序列;
第一采样单元302,用设置skipgram模型的滑窗窗口大小,在上述所 输入的房源ID的点击序列中沿滑窗滑动方式根据滑窗窗口大小获取房源 ID的滑窗正样本,所述滑窗正样本是滑窗中除当前滑窗中心房源ID的其他 点击行为数据,所述滑窗窗口大小决定滑窗正样本的数量;
获取单元303,用于随着滑窗正样本在房源ID的点击序列中滑动,将 当前点击行为数据融入滑窗正样本生成正样本,获取正样本。
优选地,所述获取模块30包括负样本获取子模块,所述负样本获取子 模块包括:
屏蔽单元304,用于在房源词典中屏蔽所输入下单标签的房源ID的的 点击序列;
第二采样单元305,用于利用负采样算法,在房源词典的二元组中,从房 源ID的同城ID中采样第一负样本;
第三采样单元306,用于利用负采样算法,在房源词典的二元组中,从房 源ID的非同城ID中采样第二负样本。
在本实施例中,现有word2vec一般用于自然语言处理,是一种通用的词 向量构造模型,本发明的目的对word2vec内部的算法及程序进行改造,当用 户针对某个具体事件或问题时,让客户得到更加优质的词向量,使其更适用 于具体的问题。
实操实例:针对酒店民宿行业,基于本发明构思,开发一种对word2vec 改进—product2vec,此方法可以将酒店领域常见的房源ID转化为对应的词 向量Embedding形式,其得到的向量相比于普通的word2vec更加的优质,更 加适用于酒店民宿领域。
一、训练数据结构的改进 用户在app点击或者下单房源的行为数据,接下来将行为数据分割成若干个 房源序列(会话)
例如:
一个用户在某APP选择酒店,此用户会浏览点击一系列房源,最终下单或者 未下单。我们将这一系列行为涉及到的房源ID统计后,得到形如下列序列(两 种):
a.有下单序列
1,11215487,0547954,094687135,35488951,15547661,73314592,…, 11858562,12354889
其中,列开端的1表示此序列是有下单序列,其中的每一个数字都是一 个房源对应的ID,最后一个ID是用户下单的房源的ID,且必定在序列 末尾。
b.未下单序列
0,11215487,11547954,94687135,35488951,15547661,73314592,…, 11858562
如果用户未下单,得到的就是如上序列,即没有下单房源的ID。列开端 的1表示此序列是有下单序列,其中的每一个数字都是一个房源对应的ID, 最后一个ID是用户下单的房源的ID,且必定在序列末尾。
当同一用户的行为间隔大于30分钟,或者同一用户访问房源的城市发生变化 则视为新的会话的开始。这些会话即类似于文本中的句子,构成了word2vec 的训练数据。
实操实例2:对于每一个会话如果最后一个房源为下单房源,则将会话标 记为下单会话(1),否则为0,详见图6,会话序列长度分布对比图。
会话分布:(总共1233205个,最长的会话为1611)
会话数量:612076(去掉会话长度小于5会话数据),有下单会话:82771,
占比:13.5%
房源数量:182253
房源语料总数:10481109
二、word2vec改进为Product2vec
Product2vec是在word2vec的基础上做出的一些改进,除此之外,其它 原理及算法流程与word2vec差异不大,不在此累述。
1、修改Negative Sampling算法,将下单房源作为共享样本进行训练; word2vec有两种模型CBOW和skip-gram以及两种算法层次Softmax和 Negative Sampling,我们这里使用的是skip-gram模型以及Negative Sampling算法的变种。
实操实例3:
假设我们有形如w(t-2),w(t-1),w(t),w(t+1),w(t+2)…,w(t+n) 的序列,如图7所示,当前词(滑窗的中心词)为w(t),是word2vec算 法的输入,w(t)的上下文,假设窗口大小为5,也即w(t-2),w(t-1),w(t+1), w(t+2)即为我们的正样本。
后续,我们利用负采样算法(Negativa Sampling)从整个数据集(滑 窗中的元素除外)中采样得到的样本,即为我们的负样本。
在训练的时候,word2vec是以滑窗的形式来训练,我们produ2vec 沿用了此种训练方式,使用word2vec的skip-gram模型。
实操实例4:
假如我们滑窗(窗口大小为3)中有A B C三个单词,B是我们的输入, B的上下文,也就是A C,就是我们的正样本。然后再从词典中利用负采 样算法进行随机采样得到负样本X,Y等等,然后加在一起作为我们的训 练样本,如图8。
我们对这个算法进行修改,我们的会话序列有下单或未下单的序列, 本发明仅针对下单的房源会话序列(图8,A-F的序列),我们会将这个下 单房源(F)作为正样本,也就是说,现在我们的正样本有A,C,下单房 源F,负样本X,Y等。他们合在一起作为我们的训练样本
不仅如此,我们训练是以滑窗方式,进行的,随着滑窗向文本末尾滑 动,我们会将下单房源F,加入每个滑窗中,一同训练,F也就是我们说 的共享样本。
这样的训练方式有更好效果的原因如下:
从本质上来讲,word2vec是一个神经概率模型。它的目标是,给我一 个输入单词,预测上下文单词出现的概率。那么对于Product2vec,也是 一样的道理,Product2vec的目标是,给定当前浏览的房源,不仅预测了 上下文浏览的房源出现的概率,还预测了下单房源出现的概率。也就是说 每一次的训练,意味着训练了由当前房源到下单房源出现的概率,这样的 概率,在某种程度上也就意味着两者之间的一个相似程度。那么,这样的 话,我们在训练的时候,对于每个中心词(滑窗中心位置对应的房源), 都会在下单房源的影响下,变得更加客观,合理,更能表述两者之间的在 向量层面的一些联系。
三、房源词典结构的改进,加入同城/非同城因素
Word2vec在负采样的时候,是针对整个语料库,进行随机的负采样。
对酒店领域,我们的数据预处理,切分会话序列的时候,如果出现用户 切换城市,就会当做开始一个新的会话,也就是说,每一个序列中,这些房 源,都是属于同一个城市了。而且客观上来讲,用户在选择了某个城市时候, 也是比较这个城市中的房子,哪些是他喜欢的,也就是真实正样本,哪些是 不喜欢的,也就是真实负样本。
由于原有的负采样算法是全局随机采样,很有可能得到的负样本,全部 都是其他城市的。那么这样的数据,对于模型来讲,反而有可能是一种噪音, 只有全是其他城市的这种情况才会是噪音数据。因为里边没有同城市的,机 器只会学习到与其他城市的差异,学不到与同城市的差异,为避免这种情况, 让机器能学习到同城和非同城的差异性,为了使采样得到的训练数据更加合 理,我们修改了词典结构,由原来的一个单词,变成了一个二元组,分别是 房源id和其对应的城市id。
这样,我们在采样的时候,由于存在城市ID以及房源ID的对应关系, 我们就可以根据用户所选择的城市,仅采样同城ID的房源作为我们的一部分 负样本。为了保持数据的差异性,也采样非同城ID随机采样,也作为我们的 负样本,两种采样得到的样本合在一起作为我们最终的负样本。
这样可以解决数据中的样本类别不均衡的问题,使得训练时候更加的合 理,最终得到更加优质的Embedding向量。
实操实例结果验证:
为了验证训练得到的房源的词向量embedding能否正确地表达房源间的相 似性,一个可行的做法是对房源的embedding进行聚类,然后根据房源经纬 度在地图上绘图,通过聚类的结果进行着色。
由于同一地理区域内的房源往往存在一定的相似性,那么如果从绘图结果 上同一地理区域内的颜色(聚类类别)种类越少,说明embedding效果更好。
采用kmeans聚类对训练得到的房源embedding,对于同一城市的房源采 用kmeans聚类,然后根据房源经纬度在地图上绘图,通过kmeans得到的类 标进行着色。
这里以北京和上海这两个城市为例子,
kmeans:10个类
详见图9,北京的product2vec(左图)与现有word2vec(右图)的类比图; 验证结论:对于北京的房源,从地位维度来看,product2vec图中同一区域内 的房源通过kmeans聚类相比于word2vec更能聚成同一类,特别是product2vec图中的左上角和左下角,对比word2vec图,从这一角度来看 product2vec效果更好一些。
详见图10,上海的product2vec(左图)与现有word2vec(右图)的类比图 验证结论:对于上海的房源,从地位维度来看,product2vec图中同一区域内 的房源通过kmeans聚类,整体来看相比于word2vec,更能聚成同一类。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围, 凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构 变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范 围内。
Claims (7)
1.一种基于word2vec的房源词向量训练方法,其特征在于,包括以下步骤:
S10将用户的房源点击行为数据集按房源ID分割成若干房源ID的点击序列,一房源ID的点击序列,由若干房源ID的点击序列生成训练数据集,每个训练数据的结构:第一列为当前点击行为的下单或未下单标签,其后列为同一房源ID按时间顺序排列的点击行为数据集,其中后列末尾为同一房源ID的当前点击行为数据;
S20输入训练数据集,统计训练数据集生成语料库,在训练数据集中抽取房源ID及其对应城市的同城ID的点击序列生成若干房源ID二元组,统计若干房源ID二元组,生成房源词典;
S30在word2vec的skipgram模型中输入有下单标签的房源ID,以滑窗方式获取其正样本;在房源词典的若干房源ID二元组中采样其同城ID的第一负样本;在房源词典中采样其非同城ID的第二负样本;
S40将其正样本、第一负样本和第二负样本一起作为训练样本,使用skipgram模型进行训练,输出房源ID对应的词向量。
2.如权利要求1所述的基于word2vec的房源词向量训练方法,其特征在于,所述点击行为数据的满足条件为:
(1)同一用户点击行为间隔大于30分钟;
(2)同一用户访问房源的城市ID发生变化,视为新的点击行为数据。
3.如权利要求1所述的基于word2vec的房源词向量训练方法,其特征在于,所述S30中以滑窗方式获取其正样本的步骤具体为:
S301输入有下单标签的房源ID的点击序列至word2vec的skipgram模型;
S302设置skipgram模型的滑窗窗口大小,在上述所输入的房源ID的点击序列中沿滑窗滑动方式根据滑窗窗口大小获取房源ID的滑窗正样本,所述滑窗正样本是滑窗中除当前滑窗中心房源ID的其他点击行为数据,所述滑窗窗口大小决定滑窗正样本的数量;
S303随着滑窗正样本在房源ID的点击序列中滑动,将当前点击行为数据融入滑窗正样本生成正样本,获取正样本。
4.如权利要求1所述的基于word2vec的房源词向量训练方法,其特征
在于,所述S30中所述采样其负样本的方法为:
S304在房源词典中屏蔽所输入下单标签的房源ID的的点击序列;
S305利用负采样算法,在房源词典的二元组中,从房源ID的同城ID中采样第一负样本;
S306利用负采样算法,在房源词典的二元组中,从房源ID的非同城ID中采样第二负样本。
5.一种基于word2vec的房源词向量训练装置,其特征在于,包括:
制定模块,用于将用户的房源点击行为数据集按房源ID分割成若干房源ID的点击序列,一房源ID的点击序列,由若干房源ID的点击序列生成训练数据集,每个训练数据的结构:第一列为当前点击行为的下单或未下单标签,其后列为同一房源ID按时间顺序排列的点击行为数据集,其中后列末尾为同一房源ID的当前点击行为数据;
生成模块,用于输入训练数据集,统计训练数据集生成语料库,在训练数据集中抽取房源ID及其对应城市的同城ID的点击序列生成若干房源ID二元组,统计若干房源ID二元组,生成房源词典;
获取模块,用于在word2vec的skipgram模型中输入有下单标签的房源ID,以滑窗方式获取其正样本;在房源词典的若干房源ID二元组中采样其同城ID的第一负样本;在房源词典中采样其非同城ID的第二负样本;
模型训练模块,用于将其正样本、第一负样本和第二负样本一起作为训练样本,使用skipgram模型进行训练,输出房源ID对应的词向量。
6.如权利要求5所述的基于word2vec的房源词向量训练装置,其特征在于,所述获取模块包括正样本获取子模块,所述正样本获取子模块包括:
输入单元,用于向word2vec的skipgram模型的输入有下单标签的房源ID序列;
第一采样单元,用设置skipgram模型的滑窗窗口大小,在上述所输入的房源ID的点击序列中沿滑窗滑动方式根据滑窗窗口大小获取房源ID的滑窗正样本,所述滑窗正样本是滑窗中除当前滑窗中心房源ID的其他点击行为数据,所述滑窗窗口大小决定滑窗正样本的数量;
获取单元,用于随着滑窗正样本在房源ID的点击序列中滑动,将当前点击行为数据融入滑窗正样本生成正样本,获取正样本。
7.如权利要求5所述的基于word2vec的房源词向量训练装置,其特征在于,所述获取模块包括负样本获取子模块,所述负样本获取子模块包括:
屏蔽单元,用于在房源词典中屏蔽所输入下单标签的房源ID的的点击序列;
第二采样单元,用于利用负采样算法,在房源词典的二元组中,从房源ID的同城ID中采样第一负样本;
第三采样单元,用于利用负采样算法,在房源词典的二元组中,从房源ID的非同城ID中采样第二负样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910009493.8A CN109858024B (zh) | 2019-01-04 | 2019-01-04 | 一种基于word2vec的房源词向量训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910009493.8A CN109858024B (zh) | 2019-01-04 | 2019-01-04 | 一种基于word2vec的房源词向量训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858024A true CN109858024A (zh) | 2019-06-07 |
CN109858024B CN109858024B (zh) | 2023-04-11 |
Family
ID=66894046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910009493.8A Active CN109858024B (zh) | 2019-01-04 | 2019-01-04 | 一种基于word2vec的房源词向量训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858024B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427560A (zh) * | 2019-08-08 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 一种应用于推荐系统的模型训练方法以及相关装置 |
CN110472050A (zh) * | 2019-07-24 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 一种团伙聚类方法和装置 |
CN110990724A (zh) * | 2019-10-24 | 2020-04-10 | 武汉大学 | 一种基于滑动窗口采样的空间语义相似度计算方法 |
CN116501993A (zh) * | 2023-06-29 | 2023-07-28 | 深圳须弥云图空间科技有限公司 | 房源数据推荐方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239444A (zh) * | 2017-05-26 | 2017-10-10 | 华中科技大学 | 一种融合词性与位置信息的词向量训练方法及系统 |
CN108427714A (zh) * | 2018-02-02 | 2018-08-21 | 北京邮电大学 | 基于机器学习的房源重复记录识别方法及系统 |
CN108509492A (zh) * | 2018-02-12 | 2018-09-07 | 郑长敬 | 基于房地产行业的大数据处理及系统 |
CN108536825A (zh) * | 2018-04-10 | 2018-09-14 | 苏州市中地行信息技术有限公司 | 一种识别房源数据是否重复的方法 |
CN108733647A (zh) * | 2018-04-13 | 2018-11-02 | 中山大学 | 一种基于高斯分布的词向量生成方法 |
CN108985159A (zh) * | 2018-06-08 | 2018-12-11 | 平安科技(深圳)有限公司 | 人眼模型训练方法、人眼识别方法、装置、设备及介质 |
-
2019
- 2019-01-04 CN CN201910009493.8A patent/CN109858024B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239444A (zh) * | 2017-05-26 | 2017-10-10 | 华中科技大学 | 一种融合词性与位置信息的词向量训练方法及系统 |
CN108427714A (zh) * | 2018-02-02 | 2018-08-21 | 北京邮电大学 | 基于机器学习的房源重复记录识别方法及系统 |
CN108509492A (zh) * | 2018-02-12 | 2018-09-07 | 郑长敬 | 基于房地产行业的大数据处理及系统 |
CN108536825A (zh) * | 2018-04-10 | 2018-09-14 | 苏州市中地行信息技术有限公司 | 一种识别房源数据是否重复的方法 |
CN108733647A (zh) * | 2018-04-13 | 2018-11-02 | 中山大学 | 一种基于高斯分布的词向量生成方法 |
CN108985159A (zh) * | 2018-06-08 | 2018-12-11 | 平安科技(深圳)有限公司 | 人眼模型训练方法、人眼识别方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
周练等: "Word2vec的工作原理及应用探究", 《科技情报开发与经济》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472050A (zh) * | 2019-07-24 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 一种团伙聚类方法和装置 |
CN110427560A (zh) * | 2019-08-08 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 一种应用于推荐系统的模型训练方法以及相关装置 |
CN110427560B (zh) * | 2019-08-08 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种应用于推荐系统的模型训练方法以及相关装置 |
CN110990724A (zh) * | 2019-10-24 | 2020-04-10 | 武汉大学 | 一种基于滑动窗口采样的空间语义相似度计算方法 |
CN110990724B (zh) * | 2019-10-24 | 2023-06-06 | 武汉大学 | 一种基于滑动窗口采样的空间语义相似度计算方法 |
CN116501993A (zh) * | 2023-06-29 | 2023-07-28 | 深圳须弥云图空间科技有限公司 | 房源数据推荐方法及装置 |
CN116501993B (zh) * | 2023-06-29 | 2023-11-10 | 深圳须弥云图空间科技有限公司 | 房源数据推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109858024B (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858024A (zh) | 一种基于word2vec的房源词向量训练方法及装置 | |
CN106991284B (zh) | 智能育儿知识服务方法及系统 | |
CN104882040B (zh) | 应用于汉语言教学的智能系统 | |
Chen | Information visualisation and virtual environments | |
CN107391706B (zh) | 一种基于移动互联网的城市旅游问答系统 | |
CN104854583B (zh) | 搜索结果排名和呈现 | |
CN103491205B (zh) | 一种基于视频搜索的关联资源地址的推送方法和装置 | |
CN110347894A (zh) | 基于爬虫的知识图谱处理方法、装置、计算机设备及存储介质 | |
CN107220386A (zh) | 信息推送方法和装置 | |
CN107911719B (zh) | 视频动态推荐装置 | |
CN109804364A (zh) | 知识图谱构建系统及方法 | |
JP2017511922A (ja) | スマート質問回答の実現方法、システム、および記憶媒体 | |
CN108345596A (zh) | 楼宇信息融合服务平台 | |
Ning et al. | Interaction-integrated network for natural language moment localization | |
CN112596731B (zh) | 一种融合智能教育的编程教学系统及方法 | |
CN107690634A (zh) | 自动查询模式生成 | |
CN113392197B (zh) | 问答推理方法、装置、存储介质及电子设备 | |
CN110377689A (zh) | 试卷智能生成方法、装置、计算机设备及存储介质 | |
CN104834739B (zh) | 互联网信息存储系统 | |
Dang et al. | MOOC-KG: A MOOC knowledge graph for cross-platform online learning resources | |
CN108833933A (zh) | 一种使用支持向量机推荐视频流量的方法及系统 | |
CN108304424A (zh) | 文本关键词提取方法及文本关键词提取装置 | |
CN112434206A (zh) | 基于网络爬虫的题库生成系统及应用方法 | |
CN111767720B (zh) | 一种标题生成方法、计算机及可读存储介质 | |
CN116956902A (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 |