CN111783895B - 基于神经网络的旅行计划推荐方法、装置、计算机设备和存储介质 - Google Patents
基于神经网络的旅行计划推荐方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111783895B CN111783895B CN202010648908.9A CN202010648908A CN111783895B CN 111783895 B CN111783895 B CN 111783895B CN 202010648908 A CN202010648908 A CN 202010648908A CN 111783895 B CN111783895 B CN 111783895B
- Authority
- CN
- China
- Prior art keywords
- vector
- travel
- user
- network
- scenic spot
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/14—Travel agencies
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Finance (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Accounting & Taxation (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于神经网络的旅行计划推荐方法,包括:获取多个用户的旅行历史记录作为旅行计划推荐模型的训练样本,所述旅行计划推荐模型包括第一门控循环单元网络、第二门控循环单元网络、注意力网络及负对数似然损失函数模型;将每个用户的旅行历史记录分别输入到所述第一门控循环单元网络以生成旅行历史表示向量;将所述旅行历史表示向量与所述用户的嵌入向量连接输入到所述注意力网络得到用户表示向量,根据所述训练样本中景点之间的共现获取每个景点的景点转移向量;将所述用户表示向量和所述景点转移向量输入至所述第二门控循环单元网络以生成带有顺序的旅行推荐景点列表;将训练好的旅行计划推荐模型接收用户的输入并生成旅行计划推荐列表。
Description
【技术领域】
本发明涉及推荐方法领域,尤其涉及一种基于神经网络的旅行计划推荐方法、装置、计算机设备和存储介质。
【背景技术】
随着在线旅游服务平台的蓬勃发展,人们通常会购买一些旅行产品,并在这些平台上分享他们的旅行经历,这一趋势使大量的旅行数据积累在这些平台上,这可能导致信息过载的问题。
为了解决这个问题,推荐系统被广泛地部署在这些平台上。当前大多数的旅行推荐系统的功能包括在给定的时间约束下生成从旅行起点到旅行终点的最短路径,或者根据用户访问记录推荐下一个可能感兴趣的地点,又或者提醒用户各种景点的排队时间。总之,这些系统可以看作是一个旅行助理,用于帮助游客解决旅行中遇到的问题。
目前常用的旅行推荐系统有兴趣点推荐和旅行推荐,兴趣点推荐的目的是向用户推荐兴趣点的排名列表。从技术上讲,以往的兴趣点推荐算法可分为三类:基于因式分解的算法、基于马尔可夫链的算法和基于神经网络的算法。
基于矩阵因式分解的方法是推荐系统中有竞争力的方法。已经有方法采用线性插值,将地理影响纳入矩阵分解框架用于兴趣点推荐。也有方法提出了一种考虑用户社会关系实现兴趣点推荐任务。另有方法采用了基于排名的模型,可以很容易地结合不同类型的上下文信息,如地理影响和时间影响,以提高性能。尽管这些方法效率很高,但缺乏对用户顺序行为建模能力的缺点不容忽视。
基于马尔可夫链的模型旨在根据过去的顺序行为来预测用户的下一个行为。在这些方法中,一个预估的转移矩阵用于表示基于过去行为的行为概率。通过分解概率转移矩阵来扩展马尔可夫链,分解个性化马尔可夫链已成为一种最先进的方法。最近,分解个性化马尔可夫链成功地应用于各种领域。然而,分解个性化马尔可夫链假设所有组件都是线性组合的,表明用户与兴趣点之间的非线性关系被忽略了。
随着深度神经网络方法的兴起,提出了许多基于循环神经网络的方法。通过在基于位置的推荐中引入了深度神经网络,时空循环神经网络模型将具有时间和距离特定转换矩阵的循环神经网络扩展到模型局部时间和空间上下文。此外,在分层体系结构效率的启发下,通过分层的风格扩展时空循环神经网络,用来模拟用户历史访问记录中复杂的上下文信息,并得到最先进的结果。
虽然这些工作很好地解决了兴趣点推荐,但它们不能直接用于我们的任务。旅行计划推荐旨在推荐几个兴趣点的访问顺序,而兴趣点推荐只是推荐一个没有任何顺序信息的排名列表。
然而,在真正的旅行之前,游客需要一个繁琐而耗时的过程用于搜索网页、浏览网站和阅读旅行博客来制定行程。
鉴于起点、终点、时间预算和其他限制,旅行推荐旨在向游客推荐一个轨迹。由于这些限制,一个直观的想法是把这个任务看作一个定向运动问题。目前,已有方法根据兴趣点的流行程度和用户的兴趣偏好来推荐轨迹和访问时间。另外有工作提出了一种考虑兴趣点可用性和不确定旅行时间的方法来修剪搜索空间。基于这些先驱方法,有的方法增加了排队时间约束,有的方法增加了必须看到兴趣点在轨迹中作为一个新的约束。同时,也有方法在算法中将轨迹的质量作为一个目标。
因此,有必要提供一种改进的旅行计划推荐方法以解决上述问题。
【发明内容】
本发明克服了现有技术的不足,提供了一种具有顺序信息的推荐排名和不需要设置起点、终点、时间等限制的基于神经网络的旅行计划推荐方法、装置、计算机设备和存储介质。
为达到上述目的,本发明解决其技术问题所采用的技术方案:提供一种基于神经网络的旅行计划推荐方法,包括如下步骤:
S1:获取多个用户的旅行历史记录作为旅行计划推荐模型的训练样本,所述旅行计划推荐模型包括第一门控循环单元网络、第二门控循环单元网络、注意力网络及负对数似然损失函数模型;
S2:将每个用户的旅行历史记录分别输入到所述第一门控循环单元网络以生成旅行历史表示向量;
S3:将各个所述旅行历史表示向量与其对应的所述用户的嵌入向量连接输入到所述注意力网络,得到用户表示向量,根据所述训练样本中景点之间的共现获取每个景点的景点转移向量;
S4:将所述用户表示向量和所述景点转移向量输入至所述第二门控循环单元网络,生成隐藏状态向量,通过单层softmax分类器对所述隐藏状态向量处理,得到一个城市所有景点在每个时刻推荐的概率,将概率最高的景点作为该时刻的推荐景点并输出带有顺序的旅行推荐景点列表;
S5:将所述旅行推荐景点列表与所述用户的实际旅行历史记录输入到所述负对数似然损失函数模型进行损失函数值运算,得到损失函数值最小时的目标损失函数;
S6:基于所述训练样本,根据所述目标损失函数对所述旅行计划推荐模型进行训练;
S7:训练好的所述旅行计划推荐模型接收计划出行的用户的输入并生成相应的旅行计划推荐列表。
优选的,在步骤S2中,所述旅行历史记录Lui={T1 ui,T2 ui,...,Tn ui},其中,ui为用户,Tn={a1,a2,...,am}为每次的旅行记录,am是所述用户在这次旅行中访问的景点,n是所述旅行历史记录的长度,m为所述旅行记录的长度,所述第一门控循环单元网络中每个时刻t,隐藏状态ot的计算公式如下:
ot=GRU(at,ot-1),t=1,...,m,
其中,at为景点的嵌入向量,ot-1是时刻t-1处的隐藏状态,t=0时,o0=0为空向量,将所述隐藏状态om作为所述旅行记录Tn的旅行表示向量,此时,所述旅行历史表示向量为{o1 ui,o2 ui,...,on ui}。
优选的,在步骤S3中,所述旅行历史表示向量{o1 ui,o2 ui,...,on ui}与所述用户ui的嵌入向量xi连接输入到所述注意力网络,通过ReLU作为隐藏层的激活函数运算,得出运算结果后通过soft max函数进行归一化,运算公式和归一化计算公式如下:
s(i,j)=hT ReLU(Mooj ui+Muxi+b),
其中,Mo和Mu为所述注意力网络的权重矩阵,其分别将所述旅行历史表示向量{o1 ui,o2 ui,...,on ui}和所述用户ui的嵌入向量xi转换为隐藏层,hT是所述注意力网络的权重向量,b是所述隐藏层的偏置向量,所述用户表示向量的计算公式如下:
其中,为所述旅行历史表示向量中的第j个向量。
优选的,在步骤S3中,通过可学习的参数矩阵Wr将所述景点转移向量从稀疏向量投影成稠密向量,计算公式如下:
kt=Wrrt,
其中rt为所述共现的共现向量。
优选的,在步骤S4中,通过所述第二门控循环单元网络得出所述隐藏状态向量的计算公式如下:
其中,kt-1是t-1时刻的景点转移向量,ht-1是时刻t-1的隐藏状态向量,初始隐藏状态向量h0=0为空向量,k0为所述城市的嵌入向量。
优选的,在步骤S4中,通过单层soft max分类器对所述隐藏状态向量ht进行景点概率运算,计算公式如下:
qt=softmax(Whht+bh),
yt=argmaxq∈V(qt),
其中,qt∈RV,R为实数集,V为所述城市候选景点集,Wh和bh是softmax层中的参数矩阵和偏置向量,yt为时刻t的推荐景点。
优选的,在步骤S5中,所述负对数似然损失函数模型的运算公式如下:
J=-logP(y1,y2,...,yt)。
本发明还提供一种基于神经网络的旅行计划推荐装置,所述装置包括:
训练样本获取模块,所述训练样本获取模块用于获取多个用户的旅行历史记录作为旅行计划推荐模型的训练样本,所述旅行计划推荐模型包括第一门控循环单元网络、第二门控循环单元网络、注意力网络及负对数似然损失函数模型;
旅行表示模块,所述旅行表示模块用于将每个用户的旅行历史记录分别输入到所述第一门控循环单元网络以生成旅行历史表示向量;
用户表示模块,所述用户表示模块用于将所述旅行历史表示向量与所述用户的嵌入向量连接输入到所述注意力网络得到用户表示向量,根据所述训练样本中景点之间的共现获取每个景点的景点转移向量;
推荐景点输出模块,所述推荐景点输出模块用于将所述用户表示向量和所述景点转移向量输入至所述第二门控循环单元网络以生成隐藏状态向量,通过单层softmax分类器对所述隐藏状态向量处理,得到一个城市所有景点在每个时刻推荐的概率,将概率最高的景点作为该时刻的推荐景点并输出带有顺序的旅行推荐景点列表;
修正模块,所述修正模块用于将所述旅行推荐景点列表与所述用户的实际旅行历史记录输入到所述负对数似然损失函数模型进行损失函数值运算,得到损失函数值最小时的目标损失函数;及
训练模块,所述训练模块用于根据所述目标损失函数对所述旅行计划推荐模型进行训练,训练好的所述旅行计划推荐模型接收用户的输入并生成相应的旅行计划推荐列表。
一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取多个用户的旅行历史记录作为旅行计划推荐模型的训练样本,所述旅行计划推荐模型包括第一门控循环单元网络、第二门控循环单元网络、注意力网络及负对数似然损失函数模型;
将每个用户的旅行历史记录分别输入到所述第一门控循环单元网络以生成旅行历史表示向量;
将各个所述旅行历史表示向量与其对应的所述用户的嵌入向量连接输入到所述注意力网络,得到用户表示向量,根据所述训练样本中景点之间的共现获取每个景点的景点转移向量;
将所述用户表示向量和所述景点转移向量输入至所述第二门控循环单元网络,生成隐藏状态向量,通过单层softmax分类器对所述隐藏状态向量处理,得到一个城市所有景点在每个时刻推荐的概率,将概率最高的景点作为该时刻的推荐景点并输出带有顺序的旅行推荐景点列表;
将所述旅行推荐景点列表与所述用户的实际旅行历史记录输入到所述负对数似然损失函数模型进行损失函数值运算,得到损失函数值最小时的目标损失函数;
基于所述训练样本,根据所述目标损失函数对所述旅行计划推荐模型进行训练;
训练好的所述旅行计划推荐模型接收用户的输入并生成相应的旅行计划推荐列表。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取多个用户的旅行历史记录作为旅行计划推荐模型的训练样本,所述旅行计划推荐模型包括第一门控循环单元网络、第二门控循环单元网络、注意力网络及负对数似然损失函数模型;
将每个用户的旅行历史记录分别输入到所述第一门控循环单元网络以生成旅行历史表示向量;
将各个所述旅行历史表示向量与其对应的所述用户的嵌入向量连接输入到所述注意力网络,得到用户表示向量,根据所述训练样本中景点之间的共现获取每个景点的景点转移向量;
将所述用户表示向量和所述景点转移向量输入至所述第二门控循环单元网络,生成隐藏状态向量,通过单层softmax分类器对所述隐藏状态向量处理,得到一个城市所有景点在每个时刻推荐的概率,将概率最高的景点作为该时刻的推荐景点并输出带有顺序的旅行推荐景点列表;
将所述旅行推荐景点列表与所述用户的实际旅行历史记录输入到所述负对数似然损失函数模型进行损失函数值运算,得到损失函数值最小时的目标损失函数;
基于所述训练样本,根据所述目标损失函数对所述旅行计划推荐模型进行训练;
训练好的所述旅行计划推荐模型接收用户的输入并生成相应的旅行计划推荐列表。
相较于现有技术,本发明提供的基于神经网络的旅行计划推荐方法、装置、计算机设备及存储介质具有以下有益效果:通过设置第一门控循环单元网络以模拟每次旅行中的顺序景点结构以获得旅行表示向量以及通过在用户的旅行历史记录上应用一个注意力网络来捕捉每次旅行的重要性,将旅行表示向量和用户表示向量聚合后获得一个全面的用户表示向量;通过输入用户表示向量到第二门控循环单元网络中,输出用户感兴趣概率最大的推荐景点,通过输入一个从外部旅行知识中提取的景点转移向量,以帮助推荐更合理的景点,有效克服景点易变性的问题。
【附图说明】
图1为本发明提供的基于神经网络的旅行计划推荐方法的流程示意图;
图2为本发明提供的基于神经网络的旅行计划推荐方法的原理示意图;
图3为本发明提供的基于神经网络的旅行计划推荐装置的结构框图;
图4为本发明提供的输入至基于神经网络的旅行计划推荐装置的旅行历史记录的示意图;
图5为本发明提供的基于神经网络的旅行计划推荐装置输出的旅行计划推荐列表的示意图;
图6为本发明提供的计算机设备的内部结构图。
【具体实施方式】
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请结合参阅图1和图2,本发明提供一种基于神经网络的旅行计划推荐方法,所述方法包括如下步骤:
S1:获取多个用户的旅行历史记录作为旅行计划推荐模型的训练样本,所述旅行计划推荐模型包括第一门控循环单元网络、第二门控循环单元网络、注意力网络及负对数似然损失函数模型。
S2:将每个用户的旅行历史记录分别输入到所述第一门控循环单元网络以生成旅行历史表示向量。
其中,所述旅行历史记录Lui={T1 ui,T2 ui,...,Tn ui},其中,ui为用户,
Tn={a1,a2,...,am}为每次的旅行记录,am是所述用户在这次旅行中访问的景点,n是所述旅行历史记录的长度,m为所述旅行记录的长度,所述第一门控循环单元网络中每个时刻t,隐藏状态ot的计算公式如下:
ot=GRU(at,ot-1),t=1,...,m,
其中,at为景点的嵌入向量,ot-1是时刻t-1处的隐藏状态,t=0时,o0=0为空向量,将所述隐藏状态om作为所述旅行记录Tn的旅行表示向量,此时,所述旅行历史表示向量为{o1 ui,o2 ui,...,on ui},其代表每个所述旅行表示向量都编码了所述用户ui的历史偏好。
S3:将各个所述旅行历史表示向量与其对应的所述用户的嵌入向量连接输入到所述注意力网络,得到用户表示向量,在步骤S2中,采用所述第一门控循环单元网络以获得所述旅行历史表示向量,基于项目的方法,所述用户ui的旅行历史记录包含了不同旅游景点的丰富用户偏好,且并不完全所有的旅行历史记录在构建所述用户表示向量方面都具有同样的贡献。
其中,所述旅行历史表示向量{o1 ui,o2 ui,...,on ui}与所述用户ui的嵌入向量xi连接输入到所述注意力网络,通过ReLU作为隐藏层的激活函数运算,得出运算结果后通过soft max函数进行归一化,运算公式和归一化计算公式如下:
s(i,j)=hTReLU(Mooj ui+Muxi+b),
其中,Mo和Mu为所述注意力网络的权重矩阵,其分别将所述旅行历史表示向量{o1 ui,o2 ui,...,on ui}和所述用户ui的嵌入向量xi转换为隐藏层,hT是所述注意力网络的权重向量,b是所述隐藏层的偏置向量,所述用户表示向量的计算公式如下:
其中,为所述旅行历史表示向量中的第j个向量。
在步骤S3中,还包括根据所述训练样本中景点之间的共现获取每个景点的景点转移向量,所述训练样本具体是指外部旅行知识中提取的旅行记录集,根据所述训练样本中景点之间的共现获取每个景点的景点转移向量,对所述训练样本采取固定的时间段进行分类,如月份、季度和年份,计算分类好的所述训练样本的景点之间的共现,所述共现的共现向量为rt,其表示所述用户从这个景点转移到其他景点的概率,通过可学习的参数矩阵Wr将所述景点转移向量从稀疏向量投影成稠密向量,稠密向量便于推荐的表示,计算公式如下:
kt=Wrrt。
在本发明中,通过显式的旅行领域知识来指导旅行计划推荐网络以提高模型的性能。为了获得领域知识,需要首先利用所述训练样本,其中包含丰富的旅行路线,例如,游客的参观路线是A到B再到D,另一个游客的参观路线是A到B再到F,尽管两个游客从不同的路线访问,仍然可以从所述路线中发现一些转移模式,例如两个游客都是从A到B的转移。此外,景点的易变性问题不容忽视,这意味着用户在同一城市的不同季节旅行可能会访问不同的景点,需要说明的是,转移模式和景点易变性都很难直接建模,由于知识发现的激增,通过知识发现技术可以找到一些常见的转移模式,而且还提供先验知识来提高模型推荐更合理的景点的效果。
S4:将所述用户表示向量和所述景点转移向量输入至第二门控循环单元网络以生成隐藏状态向量,通过单层softmax分类器对所述隐藏状态向量处理,得到一个城市所有景点在每个时刻推荐的概率,将概率最高的景点作为该时刻的推荐景点并输出带有顺序的旅行推荐景点列表,通过所述第二门控循环单元网络得出所述隐藏状态向量的计算公式如下:
其中,kt-1是t-1时刻的景点转移向量,ht-1是时刻t-1的隐藏状态向量,初始隐藏状态向量h0=0为空向量,k0为所述城市的嵌入向量。
通过单层soft max分类器对所述隐藏状态向量ht进行景点概率运算,计算公式如下:
qt=softmax(Whht+bh),
yt=argmaxq∈V(qt),
其中,qt∈RV,R为实数集,V为所述城市的候选景点集,Wh和bh是softmax层中的参数矩阵和偏置向量,yt为时刻t的推荐景点。
在本实施例中,为了向用户推荐顺序景点,现有的方案是利用兴趣点推荐中引入的方法,例如MF,得到一个关于用户可能感兴趣景点的排序列表,然后利用旅行推荐中引入的启发式搜索方法,从之前的排序列表中生成一个轨迹,尽管理论上保证了该解决方案具有良好的效果,但其陷入两级模式的主要缺点不容忽视。需要说明的是,这些组件需要单独训练,每个组件都有不同的目标函数,这可能导致次优性能。
为了解决上述问题,本发明提出了使用所述第二门控循环单元网络直接向用户推荐顺序的推荐景点,在本实施例中,需要最大化将用户表示向量/>和目标城市的嵌入向量最大程度地转化成用户的旅行计划,即带有顺序的推荐景点,因此通过步骤S4,即可实现训练的同步性,同样模型的性能也不分次优。
S5:将所述旅行推荐景点列表与所述用户的实际旅行历史记录输入到所述负对数似然损失函数模型进行损失函数值运算,得到损失函数值最小时的目标损失函数,所述负对数似然损失函数模型的运算公式如下:
J=-logP(y1,y2,...,yt),
所述实际旅行历史记录具体指该用户在该城市的实际旅行历史记录。
S6:基于所述训练样本,根据所述目标损失函数对所述旅行计划推荐模型进行训练。
S7:训练好的所述旅行计划推荐模型接收用户的输入并生成相应的旅行计划推荐列表。
需要说明的是,多数推荐模型选择成对学习方法,如贝叶斯个性化排序用于优化模型参数。然而,成对学习方法的结果是一个排名列表,不适合向用户推荐旅行计划。因此,为了向用户推荐一系列有序的推荐景点,本发明通过负对数似然函数,其成功应用于序列推荐领域,且目标函数的合理性是,推荐的旅行路线和参观的旅行路线之间的相似性越高,损失函数得到的损失值就越低,以此提高训练的可靠性。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
请参阅图3、图4和图5,本发明提供一种基于神经网络的旅行计划推荐装置,所述装置包括:
训练样本获取模块100,所述训练样本获取模块100用于获取多个用户的旅行历史记录作为旅行计划推荐模型的训练样本,所述旅行计划推荐模型包括第一门控循环单元网络、第二门控循环单元网络、注意力网络及负对数似然损失函数模型;
旅行表示模块200,所述旅行表示模块200用于将每个用户的旅行历史记录分别输入到所述第一门控循环单元网络以生成旅行历史表示向量;
用户表示模块300,所述用户表示模块用于将各个所述旅行历史表示向量与所述用户的嵌入向量连接输入到所述注意力网络得到用户表示向量,根据所述训练样本中景点之间的共现获取每个景点的景点转移向量;
推荐景点输出模块400,所述推荐景点输出模块400用于将所述用户表示向量和所述景点转移向量输入至所述第二门控循环单元网络以生成隐藏状态向量,通过单层softmax分类器对所述隐藏状态向量处理,得到一个城市所有景点在每个时刻推荐的概率,将概率最高的景点作为该时刻的推荐景点并输出带有顺序的旅行推荐景点列表;
修正模块500,所述修正模块500用于将所述旅行推荐景点列表与所述用户的实际旅行历史记录输入到所述负对数似然损失函数模型进行损失函数值运算,得到损失函数值最小时的目标损失函数;及
训练模块600,所述训练模块600用于根据所述目标损失函数对所述旅行计划推荐模型进行训练,训练好的所述旅行计划推荐模型接收用户的输入并生成相应的旅行计划推荐列表。
关于基于神经网络的旅行计划推荐装置的具体限定可以参见上文中对于基于神经网络的旅行计划推荐方法的限定,在此不再赘述。上述基于神经网络的旅行计划推荐装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于神经网络的旅行计划推荐方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成的,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率
SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
上述实施例和图式并非限定本发明的产品形态和式样,任何所属技术领域的普通技术人员对其所做的适当变化或修饰,皆应视为不脱离本发明的专利范畴。
Claims (8)
1.一种基于神经网络的旅行计划推荐方法,其特征在于,包括以下步骤:
S1:获取多个用户的旅行历史记录作为旅行计划推荐模型的训练样本,所述旅行计划推荐模型包括第一门控循环单元网络、第二门控循环单元网络、注意力网络及负对数似然损失函数模型;
S2:将每个用户的旅行历史记录分别输入到所述第一门控循环单元网络以生成旅行历史表示向量;
S3:将各个所述旅行历史表示向量与其对应的所述用户的嵌入向量连接输入到所述注意力网络,得到用户表示向量,根据所述训练样本中景点之间的共现获取每个景点的景点转移向量;
S4:将所述用户表示向量和所述景点转移向量输入至所述第二门控循环单元网络,生成隐藏状态向量,通过单层softmax分类器对所述隐藏状态向量处理,得到一个城市所有景点在每个时刻推荐的概率,将概率最高的景点作为该时刻的推荐景点并输出带有顺序的旅行推荐景点列表;
S5:将所述旅行推荐景点列表与所述用户的实际旅行历史记录输入到所述负对数似然损失函数模型进行损失函数值运算,得到损失函数值最小时的目标损失函数;
S6:基于所述训练样本,根据所述目标损失函数对所述旅行计划推荐模型进行训练;
S7:训练好的所述旅行计划推荐模型接收用户的输入并生成相应的旅行计划推荐列表;
在步骤S2中,所述旅行历史记录Lui={T1 ui,T2 ui,...,Tn ui},其中,ui为用户,Tn={a1,a2,...,am}为每次的旅行记录,am是所述用户在这次旅行中访问的景点,n是所述旅行历史记录的长度,m为所述旅行记录的长度,所述第一门控循环单元网络中每个时刻t,隐藏状态ot的计算公式如下:
ot=GRU(at,ot-1),t=1,...,m,
其中,at为景点的嵌入向量,ot-1是时刻t-1处的隐藏状态,t=0时,o0=0为空向量,将所述隐藏状态om作为所述旅行记录Tn的旅行表示向量,此时,所述旅行历史表示向量为{o1 ui,o2 ui,...,on ui};
在步骤S3中,所述旅行历史表示向量{o1 ui,o2 ui,...,on ui}与所述用户ui的嵌入向量xi连接输入到所述注意力网络,通过ReLU作为隐藏层的激活函数运算,得出运算结果后通过soft max函数进行归一化,运算公式和归一化计算公式如下:
s(i,j)=hTReLU(Mooj ui+Muxi+b),
其中,Mo和Mu为所述注意力网络的权重矩阵,其分别将所述旅行历史表示向量{o1 ui,o2 ui,...,on ui}和所述用户ui的嵌入向量xi转换为隐藏层,hT是所述注意力网络的权重向量,b是所述隐藏层的偏置向量,所述用户表示向量的计算公式如下:
2.根据权利要求1所述的基于神经网络的旅行计划推荐方法,其特征在于,在步骤S3中,通过可学习的参数矩阵Wr将所述景点转移向量从稀疏向量投影成稠密向量,计算公式如下:
kt=Wrrt,
其中rt为所述共现的共现向量。
3.根据权利要求1所述的基于神经网络的旅行计划推荐方法,其特征在于,在步骤S4中,通过所述第二门控循环单元网络得出所述隐藏状态向量的计算公式如下:
其中,kt-1是t-1时刻的景点转移向量,ht-1是时刻t-1的隐藏状态向量,初始隐藏状态向量h0=0为空向量,k0为所述城市的嵌入向量。
4.根据权利要求3所述的基于神经网络的旅行计划推荐方法,其特征在于,在步骤S4中,通过单层soft max分类器对所述隐藏状态向量ht进行景点推荐概率运算,计算公式如下:
qt=softmax(Whht+bh),
yt=argmaxq∈V(qt),
其中,qt∈RV,R为实数集,V为所述城市的候选景点集,Wh和bh是softmax层中的参数矩阵和偏置向量,yt为时刻t的推荐景点。
5.根据权利要求4所述的基于神经网络的旅行计划推荐方法,其特征在于,在步骤S5中,所述负对数似然损失函数模型的运算公式如下:
J=-logP(y1,y2,...,yt)。
6.一种基于神经网络的旅行计划推荐装置,其特征在于,所述装置包括:
训练样本获取模块,所述训练样本获取模块用于获取多个用户的旅行历史记录作为旅行计划推荐模型的训练样本,所述旅行计划推荐模型包括第一门控循环单元网络、第二门控循环单元网络、注意力网络及负对数似然损失函数模型;
旅行表示模块,所述旅行表示模块用于将每个用户的旅行历史记录分别输入到所述第一门控循环单元网络以生成旅行历史表示向量;
用户表示模块,所述用户表示模块用于将各个所述旅行历史表示向量与所述用户的嵌入向量连接输入到所述注意力网络,得到用户表示向量,根据所述训练样本中景点之间的共现获取每个景点的景点转移向量;
推荐景点输出模块,所述推荐景点输出模块用于将所述用户表示向量和所述景点转移向量输入至所述第二门控循环单元网络,生成隐藏状态向量,通过单层softmax分类器对所述隐藏状态向量处理,得到一个城市所有景点在每个时刻推荐的概率,将概率最高的景点作为该时刻的推荐景点并输出带有顺序的旅行推荐景点列表;
修正模块,所述修正模块用于将所述旅行推荐景点列表与所述用户的实际旅行历史记录输入到所述负对数似然损失函数模型进行损失函数值运算,得到损失函数值最小时的目标损失函数;及
训练模块,所述训练模块用于根据所述目标损失函数对所述旅行计划推荐模型进行训练,训练好的所述旅行计划推荐模型接收用户的输入并生成相应的旅行计划推荐列表;
其中,所述旅行历史记录Lui={T1 ui,T2 ui,...,Tn ui},其中,ui为用户,Tn={a1,a2,...,am}为每次的旅行记录,am是所述用户在这次旅行中访问的景点,n是所述旅行历史记录的长度,m为所述旅行记录的长度,所述第一门控循环单元网络中每个时刻t,隐藏状态ot的计算公式如下:
ot=GRU(at,ot-1),t=1,...,m,
其中,at为景点的嵌入向量,ot-1是时刻t-1处的隐藏状态,t=0时,o0=0为空向量,将所述隐藏状态om作为所述旅行记录Tn的旅行表示向量,此时,所述旅行历史表示向量为{o1 ui,o2 ui,...,on ui};
所述旅行历史表示向量{o1 ui,o2 ui,...,on ui}与所述用户ui的嵌入向量xi连接输入到所述注意力网络,通过ReLU作为隐藏层的激活函数运算,得出运算结果后通过soft max函数进行归一化,运算公式和归一化计算公式如下:
s(i,j)=hTReLU(Mooj ui+Muxi+b),
其中,Mo和Mu为所述注意力网络的权重矩阵,其分别将所述旅行历史表示向量{o1 ui,o2 ui,...,on ui}和所述用户ui的嵌入向量xi转换为隐藏层,hT是所述注意力网络的权重向量,b是所述隐藏层的偏置向量,所述用户表示向量的计算公式如下:
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010648908.9A CN111783895B (zh) | 2020-07-08 | 2020-07-08 | 基于神经网络的旅行计划推荐方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010648908.9A CN111783895B (zh) | 2020-07-08 | 2020-07-08 | 基于神经网络的旅行计划推荐方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111783895A CN111783895A (zh) | 2020-10-16 |
CN111783895B true CN111783895B (zh) | 2023-07-21 |
Family
ID=72759676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010648908.9A Active CN111783895B (zh) | 2020-07-08 | 2020-07-08 | 基于神经网络的旅行计划推荐方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783895B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112258131B (zh) * | 2020-11-12 | 2021-08-24 | 拉扎斯网络科技(上海)有限公司 | 路径预测网络训练、订单处理方法及装置 |
CN112948709B (zh) * | 2021-03-05 | 2022-03-25 | 桂林电子科技大学 | 一种影响力感知驱动的连续兴趣点实时推荐方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977283A (zh) * | 2019-03-14 | 2019-07-05 | 中国人民大学 | 一种基于知识图谱和用户足迹的旅游推荐方法和系统 |
CN109993668A (zh) * | 2019-04-09 | 2019-07-09 | 桂林电子科技大学 | 一种基于门控循环单元神经网络的景点推荐方法 |
CN110765361A (zh) * | 2019-12-30 | 2020-02-07 | 恒大智慧科技有限公司 | 一种基于用户信息的景点推荐方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10614381B2 (en) * | 2016-12-16 | 2020-04-07 | Adobe Inc. | Personalizing user experiences with electronic content based on user representations learned from application usage data |
-
2020
- 2020-07-08 CN CN202010648908.9A patent/CN111783895B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977283A (zh) * | 2019-03-14 | 2019-07-05 | 中国人民大学 | 一种基于知识图谱和用户足迹的旅游推荐方法和系统 |
CN109993668A (zh) * | 2019-04-09 | 2019-07-09 | 桂林电子科技大学 | 一种基于门控循环单元神经网络的景点推荐方法 |
CN110765361A (zh) * | 2019-12-30 | 2020-02-07 | 恒大智慧科技有限公司 | 一种基于用户信息的景点推荐方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111783895A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Incremental mobile user profiling: Reinforcement learning with spatial knowledge graph for modeling event streams | |
CN108804633B (zh) | 基于行为语义知识网络的内容推荐方法 | |
Brilhante et al. | On planning sightseeing tours with TripBuilder | |
CN107679661B (zh) | 一种基于知识图谱的个性化旅游路线规划方法 | |
Liang et al. | A deep generative adversarial architecture for network-wide spatial-temporal traffic-state estimation | |
Wan et al. | A hybrid ensemble learning method for tourist route recommendations based on geo-tagged social networks | |
Xu et al. | Predicting destinations by a deep learning based approach | |
Xiao et al. | Detecting travel modes from smartphone-based travel surveys with continuous hidden Markov models | |
CN111783895B (zh) | 基于神经网络的旅行计划推荐方法、装置、计算机设备和存储介质 | |
CN113158038B (zh) | 基于sta-tcn神经网络框架的兴趣点推荐方法及系统 | |
Li et al. | A survey of graph neural network based recommendation in social networks | |
Gao et al. | Exploiting geo-social correlations to improve pairwise ranking for point-of-interest recommendation | |
Wang et al. | Error-bounded online trajectory simplification with multi-agent reinforcement learning | |
Gao et al. | Dual-grained human mobility learning for location-aware trip recommendation with spatial–temporal graph knowledge fusion | |
Chen et al. | Multi-objective reinforcement learning approach for trip recommendation | |
CN103399900A (zh) | 基于位置服务的图片推荐方法 | |
Xue et al. | Forecasting hourly attraction tourist volume with search engine and social media data for decision support | |
CN115017405A (zh) | 一种基于多任务自编码的图神经网络旅游包推荐方法 | |
Li et al. | Research on the recommendation algorithm of rural tourism routes based on the fusion model of multiple data sources | |
Zhang et al. | Research on the realization of travel recommendations for different users through deep learning under global information management | |
Xu et al. | DTRP: A flexible deep framework for travel route planning | |
Al-Ghossein | Context-aware recommender systems for real-world applications | |
CN107766881B (zh) | 一种基于基础分类器的寻路方法、设备及存储设备 | |
Xu et al. | Tourist Attraction Recommendation Method and Data Management Based on Big Data Analysis | |
Li et al. | On route planning by inferring visiting time, modeling user preferences, and mining representative trip patterns |
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 |