CN104572982B - 基于问题引导的个性化推荐方法及*** - Google Patents
基于问题引导的个性化推荐方法及*** Download PDFInfo
- Publication number
- CN104572982B CN104572982B CN201410856318.XA CN201410856318A CN104572982B CN 104572982 B CN104572982 B CN 104572982B CN 201410856318 A CN201410856318 A CN 201410856318A CN 104572982 B CN104572982 B CN 104572982B
- Authority
- CN
- China
- Prior art keywords
- user
- theme
- article
- question
- item
- 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
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000002068 genetic effect Effects 0.000 claims abstract description 23
- 238000001914 filtration Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 42
- 230000011218 segmentation Effects 0.000 claims description 19
- 238000011156 evaluation Methods 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000035772 mutation Effects 0.000 claims description 6
- 230000006399 behavior Effects 0.000 description 61
- 238000003066 decision tree Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 240000007472 Leucaena leucocephala Species 0.000 description 1
- 235000010643 Leucaena leucocephala Nutrition 0.000 description 1
- 240000006394 Sorghum bicolor Species 0.000 description 1
- 235000011684 Sorghum saccharatum Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
- G06F16/337—Profile generation, learning or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于问题引导的个性化推荐方法及***,其中的方法包括:第一步骤:获取语义主题或行为主题以及构建多个问题引导树;其中,根据用户输入的问题获取语义主题;根据用户的浏览内容获取行为主题;对用户行为数据、用户评分数据和物品元数据进行数据过滤,获取多个物品主题,基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树;第二步骤:通过主题匹配,确定问题引导树,根据语义主题或行为主题获取喜好主题;将喜好主题与问题引导树进行匹配,选取出与喜好主题相匹配的问题引导树,根据选取出的问题引导树向用户进行问题输出,获取用户喜好数据从而进行个性化推荐。利用本发明,能够解决用户冷启动问题,提高用户体验。
Description
技术领域
本发明涉及物品推荐技术领域,更为具体地,涉及一种基于问题引导的个性化推荐方法及***。
背景技术
目前,个性化推荐***在互联网应用中得到了广泛的使用,其中,个性化推荐算法往往都依赖于用户交互过程中产生的点击流量数据以及产生的文本内容数据,根据这些海量数据挖掘出用户的潜在喜好以及需求。
由于个性化推荐算法的这一特点,在针对新用户进行推荐时都会面临用户冷启动这一行业共性问题,由于新用户没有或者仅有很少的交互数据,在实际应用过程中,往往都是新用户更需要推荐***的辅助,老用户对应用更加了解反而不太依赖于机器推荐。
对于新用户的冷启动问题,通常采用传统的群体策略,利用排名补足的方法把最热门评分最高的物品作为推荐选项,这种采用全局排名的推荐方法损失了个性化的特点,导致所有人看到内容都是一样的,很难满足长尾用户的需求。
另一个针对新用户的冷启动问题的解决方法是:通过引导问题的方式,在用户注册后通过强制回答问题的方式来采集用户的第一手数据,从而基于这些数据来进行个性化推荐。目前对引导问题的数据处理方式是采用信息量(Entropy)算法,使得通过最少数量的问题获得最大的信息量。其具体实现思路是通过对已知用户对物品的评价数据集进行分析,比如通过图1所示的两层问题引导树作为选取合适的物品来构建问题引导树。
如图1所示,每个节点对应的物品A-物品M为最佳提问的物品,引导树中的边代表用户的对上层物品的反馈(喜欢、不喜欢以及不知道)。例如问题引导树会首先询问用户是否喜欢物品A,如果用户回答不知道,引导树会接着提问用户是否喜欢物品C,如果用户回答不喜欢,则引导树会接着询问物品J,以此类推。
引导树构建的过程实际上是对用户群的分群分组的过程,假设已知用户对物品的评价数据集中有n个用户,根据用户对物品A的打分,分成三组用户作为决策树的候选子节点。通过分析每组组内用户评价的相似性(方差),评估物品A作为分组问题的优劣(每组组内评价越相似越好),以此类推,对于每一个子节点,需要针对当前组内的用户群进行迭代分组,直到引导树层级达到一定的阀值。按照引导树的节点进行提问就可以快速的找到与当前用户行为相似的用户群的共同喜好,从而能够解决推荐***中的冷启动问题。图2示出了问题引导流程,如图2所示,其具体的问题引导过程为:
在推荐***构建之后,根据站内用户评分数据和站外评价数据对每一个物品按照评价分数进行用户分组,然后计算组内用户评分方差,进而得出多组方差之和;选取最小方差和的物品作为当前决策树节点,并按照评分构建其子节点。在决策树构建的过程中,判断决策树深度是否超过预设阀值,如果所构建的决策树的深度超过预设阀值,则完成决策树的构建;否则进一步对每个子节点数据集进行重复前述“分组~构建子节点”的处理过程,直至完成决策树的构建。在决策树构建完毕,就可以根据该构建的决策树在用户登录网站/应用(步骤S202)后询问用户对物品的评价。
根据上述流程的描述,目前的问题引导方法主要存在下三个问题:
1.引导模式不灵活。该类引导方法往往都是捆绑在用户的注册流程中,用户需要按照流程对每一个问题进行回答,用户在流程中没有任何的主导权,无法针对某一类问题进行选择作答。
2.问题缺乏关联性。在问题选择上采用了全局物品,由于追求过度信息量最大话,问题之间缺乏关联性,这种方式导致类似算法只能用在初始用户上,无法持续跟用户进行交互。例如,如果用户在商城只想购买合适的服装,该类算法无法只提问关于服装相关的问题进行分类问题引导。
3.稀疏矩阵支持度低。在问题选择上都是基于对于一个物品打分的分类进行分群分组(例如“喜欢”、“不喜欢”以及“不知道”三个类别),由于用户评价评分矩阵在大多数应用场景中都是极度稀疏的,用户评价的物品只占总物品数的很小部分,所以随着群组细化数据减少,“不知道”类别的用户数量会远远超过其他类别数量,导致所有可选物品的信息量都较小从而没有合适的问题进行提问,算法提前终止。
为了解决以上所述问题,需要提供一种有效的问题引导的方法,从而解决用户冷启动问题以及提高用户体验。
发明内容
鉴于上述问题,本发明的目的是提供一种基于问题引导的个性化推荐方法及***,以解决用户冷启动问题,提高用户体验。
根据本发明的一个方面,提供一种基于问题引导的个性化推荐方法,包括两个步骤;
第一步骤:获取语义主题或行为主题以及构建多个问题引导树;其中,
根据用户输入的问题获取语义主题;
根据用户的浏览内容获取行为主题;
对用户行为数据、用户评分数据和物品元数据进行数据过滤,获取用户、物品和喜好程度三元关系的多个物品主题,并基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树;
第二步骤:通过主题匹配确定问题引导树;其中,
根据语义主题或行为主题获取喜好主题;
将喜好主题与问题引导树进行匹配,确定与喜好主题相匹配的问题引导树,根据确定的问题引导树向用户进行问题输出,获取用户喜好数据从而进行个性化推荐。
此外,优选的方案是,在根据用户输入的问题获取语义主题的过程中,
将用户输入的问题进行中文分词和语义分析,获取语义主题;其中,
在中文分词的过程中,利用中文分词算法将自然语言描述文本中的段落句子拆分为词语;中文分词算法包括最大匹配算法、最长均词算法和最小方差算法;
在语义分析的过程中,统计用户输入的段落句子中的每个词语与物品主题的相似程度;
在获取语义主题的过程中,选取最大相似度主题为该语句的语义主题。
此外,优选的方案是,在根据用户的浏览内容获取行为主题的过程中,
根据用户的浏览内容获取用户行为,根据用户行为获取用户对物品主题的喜好程度,将用户喜好程度最大并且超过预设阀值的物品主题作为行为主题。
此外,优选的方案是,根据用户对含有多个物品的列表中各物品的选择,获取用户最喜好的物品。
此外,优选的方案是,在基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树的过程中,
对获取的每个物品主题所对应的用户评价数据集进行种群选择运算、交叉运算、变异运算生成问题引导树;其中,
在种群选择运算的过程中,从群体中选择优胜的个体,淘汰劣质个体;其中,在种群选择运算的初始的阶段采用随机生成N个物品集进行交叉运算,在每次完成交叉运算与所述变异运算后,从候选物品集随机选取N个物品集,并计算种群选择运算中的物品集种群的平均适应度,其中,N大于1;
在交叉运算的过程中,每次随机选取任意两个物品集,并对任意两个物品进行交换产生一个新的物品集,并且满足新生成的物品集中没有重复的物品;
在变异运算的过程中,对交叉运算后生成的任意物品集中的任意物品进行随机选取更换,并且满足变异后的物品集中没有重复的物品,并获取变异后的物品集种群的平均适应度。
此外,优选的方案是,根据交叉运算与所述变异运算生成的物品集种群的平均适应度、种群选择运算中的物品集种群的平均适应度以及阀值,按照当前物品主题进行子节点用户群组分配,生成问题引导树。
根据本发明的另一个方面,提供一种基于问题引导的个性化推荐***,包括:
语义主题获取单元,用于根据用户输入的问题获取语义主题;
行为主题获取单元,用于根据用户的浏览内容获取行为主题;
主题获取单元,用于对用户行为数据、用户评分数据和物品元数据进行数据过滤,并获取用户、物品和喜好程度三元关系的多个物品主题,
问题引导树生成单元,用于基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树;
喜好主题获取单元,用于根据语义主题或行为主题,获取喜好主题;
主题匹配单元,用于将喜好主题与问题引导树进行匹配,确定与喜好主题相匹配的问题引导树;
问题输出单元,用于根据确定的问题引导树向用户进行问题输出,获取用户喜好数据从而进行个性化推荐。
此外,优选的方案是,根据用户对含有多个物品的列表中各物品的选择,获取用户最喜好的物品。
此外,优选的方案是,问题引导树生成单元包括:
种群选择运算模块,用于从群体中选择优胜的个体,淘汰劣质个体;其中,在种群选择运算的初始的阶段采用随机生成N个物品集进行交叉运算,在每次完成交叉运算与变异运算后,将从候选物品集随机选取N个物品集,并计算种群选择运算中的物品集种群的平均适应度,其中,N大于1;
交叉运算模块,用于随机选取任意两个物品集,并对内部任意两个物品进行交换产生一个新的物品集,并且满足新生成的物品集中没有重复的物品;
变异运算模块,用于对交叉运算后生成的任意物品集中的任意物品进行随机选取更换,并且满足变异后的物品集中没有重复的物品,并获取变异后的物品集种群的平均适应度。
此外,优选的方案是,问题引导树生成单元还包括:
用户群组分配模组,用于根据交叉运算与变异运算生成的物品集种群的平均适应度、种群选择运算中的物品集种群的平均适应度以及预设阀值,按照当前物品主题进行子节点用户群组分配,生成问题引导树。
从上面的技术方案可知,本发明的基于问题引导的个性化推荐方法及***,通过获取语义主题,解决传统方法无法灵活匹配引导的问题,能够增加获取用户喜好的灵活性;通过获取行为主题,解决传统问题引导流程只能固定使用在注册流程中的问题,能够实时辅助用户购买商品;通过采用遗传算法构建问题引导森林,解决数据稀疏时分组质量不高的问题,能够提高用户分组的灵活性以及整体信息量的获取。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为的两层问题引导树示意图;
图2为问题引导方法流程示意图;
图3为根据本发明实施例的基于问题引导的个性化推荐方法流程示意图;
图4为根据本发明实施例的基于问题引导的个性化推荐的方法的示例流程示意图;
图5为根据本发明实施例的基于问题引导的个性化推荐***结构框图;
图6为根据本发明实施例的语义主题获取单元的结构框图;
图7为根据本发明实施例的行为主题获取单元的结构框图;
图8为根据本发明实施例的问题引导树生成模块结构框图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。
从前述的现有技术来看,问题引导仅仅从最大信息量的角度进行考虑,在用户体验上没有任何的优化,用户会失去耐心提前终止问答。同时在问题的选择上,采用固定的评分阀值进行分类,尽管在计算复杂度上得到有效控制,但是由于物品评价矩阵具有严重的稀疏行,基于这样的用户分组会导致组内的一致性很低,并影响后续的推荐结果。
基于上述原因,本发明提出了采用获取语义主题、获取行为主题以及基于遗传算法构建问题引导树三个方面来提高引导模式的灵活性和关联性以及解决矩阵的稀疏性。
以下将结合附图对本发明的具体实施例进行详细描述。
图3示出了根据本发明实施例的基于问题引导的个性化推荐方法流程。
如图3所示,本发明提供的基于问题引导的个性化推荐方法主要包括两个步骤。
第一步骤:S310:获取语义主题或行为主题以及构建多个问题引导树。
具体地,根据用户输入的问题,获取语义主题;根据用户的浏览内容,获取行为主题;对用户行为数据、用户评分数据和物品元数据进行数据过滤,并获取用户、物品和喜好程度三元关系的多个物品主题,基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树。
其中,用户、物品和喜好程度三元之间关系构成了多个物品主题,例如,有的用户喜好动作片,有的用户喜好惊悚片,有的用户喜好喜剧片等,这些动作片、惊悚片、喜剧片都是物品主题,不同的类型的片子组成了多个物品主题。
第二步骤:S320:通过主题匹配,确定问题引导树。
具体地,根据语义主题或行为主题获取喜好主题,将喜好主题与问题引导树进行匹配,确定与喜好主题相匹配的问题引导树,根据确定的问题引导树向用户进行问题输出,获取用户喜好数据从而进行个性化推荐。
其中,在步骤S310中,将用户输入的问题进行中文分词和语义分析,获取语义主题;根据用户的浏览内容获取用户行为,根据用户行为获取用户对物品主题的喜好程度,并判断其喜好程度是否超过预设阀值,选取用户喜好程度最大并且超过预设阀值的物品主题为行为主题;对获取的每个物品主题进行种群选择运算、交叉运算、变异运算生成问题引导树。
在本发明的核心为获取语义主题和行为主题以及构建多个问题引导树,下面将详细说明如何获取语义主题、获取行为主题以及构建多个问题引导树。
第一、获取语义主题
将用户输入的问题进行中文分词和语义分析,获取语义主题。
其中,中文分词是指利用中文分词算法将自然语言描述文本中的段落句子拆分为词语。常用的中文分词算法包括最大匹配算法、最长均词算法和最小方差算法。
语义分析是指统计汇总用户输入的段落句子中的每个词语与物品主题的相似程度。设用户输入的段落中通过中文分词分析出段落包含n个词语,同时设预之前整理的物品主题(例如动作片、惊悚片等等)有m个,分别为[T1,T2,…Tm],另外设词语i与物品主题j的相关性为Pij,词语与物品主题的相似性可以通过计算与物品主题在语料训练数据(例如,电影的元数据剧情描述信息、用户的影评文本数据等等)中共现概率而获得,其公式表示为:
其中,Ci表示词语i在语料中出现的次数;Cj表示物品主题j在语料中出现的次数;Cij为词语i与物品主题共同出现的次数。
最终段落语句s与物品主题j的相似程度为:
并且,选取最大相似度主题t为该语句的语义主题,其公式表示为:t=argmaxjPsj
因此,在获取语义主题的过程中,通过使用对话聊天的模式以及语义分析方式,可以从用户对话内容中提取领域信息,从而能够针对具体领域进行推荐引导,解决传统方法无法灵活匹配引导问题的缺陷,增加获取用户喜好的灵活性。
第二、获取行为主题
根据用户的浏览内容,获取用户行为,并根据获取的用户行为统计喜好主题是否超过阀值,最后将用户喜好程度最大并且喜好程度超过预设阀值的主题作为行为主题。
其中,获取用户行为是指采集存储用户浏览网站、移动应用的操作行为,例如视频网站中的播放、下载、评论、收藏等操作。
统计喜好主题是否超过阀值是指通过用户的操作行为计算用户对物品主题的喜好程度,并判断喜好程度是否超过预设阀值。
喜好程度的计算可以通过业务规则进行匹配计算,例如:播放视频加1分,下载加1.5分,收藏加2分等。通过汇总多个有效行为可以统计一个用户对一物品的喜好程度,同时汇总一个用户对一个物品主题下的多个物品喜好程度,进而获取一个用户对一个物品主题的喜好值。
在获取行为主题的过程中,通过采集用户行为数据并采用行为喜好挖掘技术获取用户感兴趣的物品主题,通过弹窗的方式与用户主动进行实时互动,解决传统问题引导流程只能固定使用在注册流程中的问题,能够实时辅助用户购买商品。
因此,获取语义主题可以支持与用户直接对话文本沟通,获取行为主题可以支持在用户浏览网站的过程中主动介入引导流程,这两种方式能够提高引导的灵活性。
第三、构建问题引导树
在构建问题引导树的过程中,首先,对用户行为数据、用户评分数据和物品元数据进行数据过滤,并获取用户、物品和喜好程度三元关系的多个物品主题;然后,基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树,形成多个物品主题的问题引导森林。
其中,需要说明的是,在本发明中,根据用户对含有多个物品的列表中各物品的选择,获取用户最喜好的物品。
传统问题引导模式为询问用户对单一物品的喜好意见(喜欢、不喜欢以及不知道),本发明提供的引导模式为询问用户对多个物品的喜好程度(例如,喜欢下列4部电影中的哪一部),因此,本发明的问题引导模式具有更大的覆盖程度。
具体地,根据用户行为数据、用户评分数据以及物品元数据等信息过滤整理出用户对物品的喜好程度(例如:1-5分,1分为讨厌,5分为喜欢),并根据物品与物品主题的关系对用户物品评分数据按照物品主题进行分类;可以得到在多个物品主题下的用户、物品、喜好程度的三元关系矩阵。设用户i对物品j的评价数据为Rij∈R,另设物品主题t下的物品集为St,物品主题t下的评价数据集表示为:
R(t)={Rij∈R|j∈St}
对每个物品主题下的数据集基于遗传算法分别构建问题引导树,从而构建出多个物品主题的问题引导森林来解决问题引导过程中的语义关联问题。
也就是说,通过采用数据过滤技术,对数据进行分类筛选,针对不同物品主题的数据集构建不同的物品主题问题引导树,并通过语义分析出的语义主题以及行为主题选取出喜好主题,进而选取出与用户喜好主题最相近的问题引导树,从而能够提供关联性的引导问题。
在基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树的过程中,对获取的每个物品主题进行种群选择运算、交叉运算、变异运算生成问题引导树,从而构建出多个物品主题的问题引导森林。
具体地,种群选择运算是指在遗传算法中从群体中选择优胜的个体,淘汰劣质个体。整棵引导树的构建需要利用遗传算法对每一个节点进行计算,选取最佳的***物品集(例如:电影《红高粱》,《霸王别姬》,《活着》)。
并且,可以通过以下方法获取评估***物品集的适应度:设物品主题包含N个物品W1,W2,...Wn,则根据已知用户评分数据集可以把用户分成N+1个组(子节点)G1,G2,...Gn,Gn+1,设用户i对物品主题j的评分为Rij(设数值范围为1-5),分组集合1到n的定义为:
Gj={i∈U|Rij≥3}
其中,U为当前节点的用户全集,Gj集合代表的是对物品Wj喜欢的用户群体;任意一个用户可以同时属于多个分组(子节点),分组N+1的定义为:
一个组内(子节点)Gi的适应度评估标准GRi为:
其中,μik表示组群Gi中所有用户对物品K的平均打分,设对物品K打分的用户集合为R(k),则:
那么,对于任意一组***物品集W的综合适应度评估标准GRw为所有族群的适应度之和,其公式表示为:
其中,需要说明的是,种群选择运算初始的阶段采用随机生成N个物品集进行下一步的交叉运算,在每次完成种群繁殖后(即:交叉运算与变异运算之后),将从候选物品集随机选取N个物品集,每个物品集的选取概率与适应度成正比可以表示为:Pw∝GRw,其中,N大于1;并且,根据种群选择运算中的物品集种群的适应度获取其平均适应度。
在交叉运算的过程中,每次随机选取任意两个物品集,并对内部任意两个物品进行交换产生一个新的物品集,并且满足新生成的物品集中没有重复的物品;这是为了保证种群数量在遗传迭代计算中的稳定性,新生成的后代物品集数量要大于父代物品集的数量(例如两倍数量),为种群选择运算模块提供足够的候选种群集。
在变异运算的过程中,对交叉运算后生成的任意物品集中的任意物品进行随机选取更换,并且满足变异后的物品集中没有重复的物品,并获取变异后的物品集种群的平均适应度。
然后根据交叉运算与变异运算生成的物品集种群的平均适应度、种群选择运算中的物品集种群的平均适应度以及阀值,按照当前主题进行子节点用户群组分配,生成问题引导树。
也就是说,完成交叉运算以及变异运算后新生成的物品集种群的平均适应度与父辈种群(即:选择运算后的种群)的平均适应度之差是否小于阀值,或者迭代次数是否超过预设阀值。如果是,则完成当前节点的物品主题选取,按照当前物品主题进行子节点用户群组的分配,然后按照预设的深度完成整棵树所有节点的物品集选取,生成问题引导树。如果没有超过,则返回种群选取运算重复进行计算。
上述为生成的问题引导树的详细过程,最后生成了多个物品主题的问题引导森林。由于主题匹配需要多棵问题引导树的支持,通过数据过滤输出多个不同物品主题的数据集分别建立问题引导树。为了提高效率,不同物品主题的问题引导树可以使用分布式并行计算框架在多台物理机器上同时运算。
基于遗传算法构建问题引导树,是通过主题过滤数据构建多颗不同主题的引导树,从而构建出多主题的问题引导森林,因此能够通过主题匹配选取不同物品主题的问题引导树进行引导,提高引导模式的相关性。问题引导树的问题分类采用多个不同物品而不是不同的评分区间,从而能够降低数据稀疏性带来的影响,提高不同用户群内的一致性。
在步骤S320中,首先,根据获取的语义主题与行为主题确定用户的喜好主题;然后将确定的用户的喜好主题与问题引导森林进行主题匹配,确定与喜好主题相匹配的问题引导树,根据确定的问题引导树向用户进行问题输出。
具体地,根据获取的语义主题或者行为主题选取相匹配的问题引导树来跟用户进行互动,也就是说,根据选取出的问题引导树节点中的物品集向用户提问。例如:你喜欢以下哪一个物品?选项1:物品A,选项2:物品B,选项3:物品C,选项4:都不喜欢或不知道
本发明的遗传算法构建问题引导树,选取一个评分区间(例如:评分大于3代表喜欢评分区间)不同物品作为***选项(即:喜欢相同物品的用户划分为一组),而不是一个物品的不同评分区间作为选项(一个物品按照喜欢、讨厌与不知道划分为三个用户群组),这种方式能够解决数据稀疏时导致分组质量不高的问题(也就是,解决大多数无评分的用户被划分为一组,造成不同组的用户群数量偏差很大的问题),提高用户分组的灵活性以及整体信息量的获取。
为了进一步详细说明基于问题引导的个性化推荐的方法,图4示出了根据本发明实施例的基于问题引导的个性化推荐的方法的示例流程。
如图4所示,本发明提供的基于问题引导的个性化推荐的方法的示例流程包括:
S401:开始;
S402:用户登录网站\应用;
分别执行步骤S403-S406,步骤S407-S410;
S403:用户直接输入问题;
S404:中文分词;
S405:语义分析;
S406:获取语义主题。
S407:用户直接输入问题;
S408:记录用户行为;
S409:统计喜好主题是否超过阀值;若是,执行步骤S410,若否,执行步骤S408;
S410:获取行为主题。以及,
S411:用户评分数据;
S412:用户行为数据;
S413:物品元数据;
S414:根据主题进行数据转换;
也就是说,对用户评分数据、用户行为数据和物品元数据进行数据过滤,获取到多个物品主题的三元关系。
接着,根据不同的主题进行遗传算法构建不同主题的问题引导树,形成问题引导森林,即:执行步骤S415-S419,
S415:种群选择运算;
S416:交叉运算;
S417:变异运算;
S418:最优结果是否超出阀值;若是,执行步骤S419,若否,执行步骤S415;
S419:生成问题引导树;
多个物品问题引导树形成问题引导森林。
S420:主题匹配;
也就是,根据获取的语义主题或行为主题确定用户的喜好主题;然后将确定的用户的喜好主题与问题引导森林进行主题匹配,选取出与喜好主题相匹配的问题引导树。
S421:输出问题;
也就是,根据选取出的问题引导树节点中的物品集向用户提问。
在图4所示的实施例中,通过语义主题提取组件可以支持与用户直接对话文本沟通,通过行为主题提取可以支持在用户浏览网站过程中主动介入引导流程,这两种方式能够提高引导的灵活性;基于遗传算法构建问题引导树,优化了传统构建问题引导树的方式,用多个物品作为***项,候选***项的个数会随着物品数量成指数增加,采用传统的遍历对比无法选取最优***项,即:通过选择运算、交叉运算以及变异运算,解决多个物品选取的多个问题,确保选取的物品选项信息量最大。
与上述方法相对应,本发明还提供一种基于问题引导的个性化推荐***,图5示出了根据本发明实施例的基于问题引导的个性化推荐***逻辑结构。
如图5所示,本发明提供的基于问题引导的个性化推荐***500包括:语义主题获取单元510、行为主题获取单元520、主题获取单元530、问题引导树生成单元540、喜好主题获取单元550、主题匹配单元560和问题输出单元570。
其中,语义主题获取单元510用于根据用户输入的问题获取语义主题。
行为主题获取单元520用于根据用户的浏览内容获取行为主题。
主题获取单元530用于对用户行为数据、用户评分数据和物品元数据进行数据过滤,并获取用户、物品和喜好程度三元关系的多个物品主题。
问题引导树生成单元540用于基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树。
喜好主题获取单元550用于根据语义主题或行为主题,获取喜好主题。
主题匹配单元560用于将喜好主题与问题引导树进行匹配,确定与喜好主题相匹配的问题引导树。
问题输出单元570用于根据确定的问题引导树向用户进行问题输出,获取用户喜好数据从而进行个性化推荐。
图6示出了根据本发明实施例的语义主题获取单元的结构,如图6所示,语义主题获取单元510包括:中文分词模块511、语义分析模块512和语义主题获取模块513。
其中,中文分词模块511用于利用中文分词算法将自然语言描述文本中的段落句子拆分为词语;中文分词算法包括最大匹配算法、最长均词算法和最小方差算法;
语义分析模块512用于统计用户输入的段落句子中的每个词语与物品主题的相似程度;
语义主题获取模块513用于选取最大相似度主题为该语句的语义主题。
图7示出了根据本发明实施例的行为主题获取单元的结构,如图7所示,行为主题获取单元520包括:用户行为获取模块521、喜好程度获取模块522和行为主题获取模块523。
其中,用户行为获取模块521用于根据用户的浏览内容获取用户行为;
喜好程度获取模块522用于根据用户行为获取用户对物品主题的喜好程度;
行为主题获取模块523用于选取用户喜好程度最大并且超过预设阀值的物品主题作为行为主题。
此外,主题获取单元530根据用户对含有多个物品的列表中各物品的选择,获取用户最喜好的物品。
此外,图8示出了根据本发明实施例的问题引导树生成模块结构,如图8所示,问题引导树生成单元540包括:种群选择运算模块541、交叉运算模块542、变异运算模块543和用户群组分配模组544。
其中,种群选择运算模块541用于从群体中选择优胜的个体,淘汰劣质个体;其中,在种群选择运算的初始的阶段采用随机生成N个物品集进行交叉运算,在每次完成交叉运算与变异运算后,从候选物品集随机选取N个物品集,并计算种群选择运算中的物品集种群的平均适应度,其中,N大于1。
交叉运算模块542用于随机选取任意两个物品集,并对任意两个物品进行交换产生一个新的物品集,并且满足新生成的物品集中没有重复的物品。
变异运算模块543用于对交叉运算后生成的任意物品集中的任意物品进行随机选取更换,并且满足变异后的物品集中没有重复的物品,并获取变异后的物品集种群的平均适应度。
用户群组分配模组544用于根据交叉运算与变异运算生成的物品集种群的平均适应度、种群选择运算中的物品集种群的平均适应度以及预设阀值,按照当前物品主题进行子节点用户群组分配,生成问题引导树。
上述各模块或单元的更具体交互过程,可以参见方法流程中的描述,此处不再赘述。
通过上述实施方式可以看出,本发明提出的基于问题引导的个性化推荐方法及***,通过获取语义主题,能够解决传统方法无法灵活匹配引导的问题,增加获取用户喜好的灵活性;通过获取行为主题,能够解决传统问题引导流程只能固定使用在注册流程中的问题,实时辅助用户购买商品;通过采用遗传算法构建问题引导森林,能够解决数据稀疏时导致分组质量不高的问题,提高用户分组的灵活性以及整体信息量的获取。
如上参照附图以示例的方式描述了根据本发明提出的基于问题引导的个性化推荐方法及***。但是,本领域技术人员应当理解,对于上述本发明所提出的基于问题引导的个性化推荐方法及***,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
Claims (10)
1.一种基于问题引导的个性化推荐方法,包括两个步骤;
第一步骤:获取语义主题或行为主题以及构建多个问题引导树;其中,
根据用户输入的问题获取语义主题,
根据用户的浏览内容获取行为主题;
对用户行为数据、用户评分数据和物品元数据进行数据过滤,获取用户、物品和喜好程度三元关系的多个物品主题,并基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树;
第二步骤:通过主题匹配确定问题引导树;其中,
根据所述语义主题或所述行为主题获取喜好主题;
将所述喜好主题与所述问题引导树进行匹配,确定与所述喜好主题相匹配的问题引导树,根据所确定的问题引导树向用户进行问题输出,获取用户喜好数据从而进行个性化推荐。
2.如权利要求1所述的基于问题引导的个性化推荐方法,其中,在根据用户输入的问题获取语义主题的过程中,
将用户输入的问题进行中文分词和语义分析,获取语义主题;其中,
在所述中文分词的过程中,利用中文分词算法将自然语言描述文本中的段落句子拆分为词语;所述中文分词算法包括最大匹配算法、最长均词算法和最小方差算法;
在所述语义分析的过程中,统计用户输入的问题的段落句子中的每个词语与物品主题的相似程度;
在所述获取语义主题的过程中,选取最大相似度主题为所获取的语义主题。
3.如权利要求1所述的基于问题引导的个性化推荐方法,其中,在根据用户的浏览内容获取行为主题的过程中,
根据用户的浏览内容获取用户行为;
根据所述用户行为获取用户对物品主题的喜好程度,并将用户喜好程度最大并且超过预设阀值的物品主题作为行为主题。
4.如权利要求1所述的基于问题引导的个性化推荐方法,其中,
根据用户对含有多个物品的列表中各物品的选择,获取用户最喜好的物品。
5.如权利要求4所述的基于问题引导的个性化推荐方法,其中,在基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树的过程中,
对获取的每个物品主题所对应的用户评价数据集进行种群选择运算、交叉运算、变异运算生成问题引导树;其中,
在所述种群选择运算的过程中,从群体中选择优胜的个体,淘汰劣质个体;其中,在所述种群选择运算的初始的阶段采用随机生成N个物品集进行所述交叉运算,在每次完成所述交叉运算与所述变异运算后,从候选物品集随机选取N个物品集,并计算所述种群选择运算中的物品集种群的平均适应度,其中,N大于1;
在所述交叉运算的过程中,每次随机选取任意两个物品集,并对任意两个物品进行交换产生一个新的物品集,并且满足新生成的物品集中没有重复的物品;
在所述变异运算的过程中,对所述交叉运算后生成的任意物品集中的任意物品进行随机选取更换,并且满足变异后的物品集中没有重复的物品,并获取变异后的物品集种群的平均适应度。
6.如权利要求5所述的基于问题引导的个性化推荐方法,其中,
根据所述交叉运算与所述变异运算生成的物品集种群的平均适应度、所述种群选择运算中的物品集种群的平均适应度以及阀值,按照当前物品主题进行子节点用户群组分配,生成问题引导树。
7.一种基于问题引导的个性化推荐***,包括:
语义主题获取单元,用于根据用户输入的问题获取语义主题;
行为主题获取单元,用于根据用户的浏览内容获取行为主题;
主题获取单元,用于对用户行为数据、用户评分数据和物品元数据进行数据过滤,并获取用户、物品和喜好程度三元关系的多个物品主题,
问题引导树生成单元,用于基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树;
喜好主题获取单元,用于根据所述语义主题或所述行为主题,获取喜好主题;
主题匹配单元,用于将所述喜好主题与所述问题引导森林进行匹配,确定与所述喜好主题相匹配的问题引导树;
问题输出单元,用于根据确定的问题引导树向用户进行问题输出,获取用户喜好数据从而进行个性化推荐。
8.如权利要求7所述的基于问题引导的个性化推荐***,其中,
所述主题获取单元根据用户对含有多个物品的列表中各物品的选择,获取用户最喜好的物品。
9.如权利要求8所述的基于问题引导的个性化推荐***,其中,所述问题引导树生成单元在基于遗传算法构建与所获取的多个物品主题一一对应的问题引导树的过程中,对获取的每个物品主题所对应的用户评价数据集进行种群选择运算、交叉运算、变异运算;并且,所述问题引导树生成单元包括:
种群选择运算模块,用于从群体中选择优胜的个体,淘汰劣质个体;其中,在所述种群选择运算的初始的阶段采用随机生成N个物品集进行所述交叉运算,在每次完成所述交叉运算与所述变异运算后,从候选物品集随机选取N个物品集,并计算所述种群选择运算中的物品集种群的平均适应度,其中,其中,N大于1;
交叉运算模块,用于随机选取任意两个物品集,并对任意两个物品进行交换产生一个新的物品集,并且满足新生成的物品集中没有重复的物品;
变异运算模块,用于对所述交叉运算后生成的任意物品集中的任意物品进行随机选取更换,并且满足变异后的物品集中没有重复的物品,并获取变异后的物品集种群的平均适应度。
10.如权利要求9所述的基于问题引导的个性化推荐***,其中,所述问题引导树生成单元还包括:
用户群组分配模组,用于根据所述交叉运算与所述变异运算生成的物品集种群的平均适应度、所述种群选择运算中的物品集种群的平均适应度以及预设阀值,按照当前物品主题进行子节点用户群组分配,生成问题引导树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410856318.XA CN104572982B (zh) | 2014-12-31 | 2014-12-31 | 基于问题引导的个性化推荐方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410856318.XA CN104572982B (zh) | 2014-12-31 | 2014-12-31 | 基于问题引导的个性化推荐方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572982A CN104572982A (zh) | 2015-04-29 |
CN104572982B true CN104572982B (zh) | 2017-10-31 |
Family
ID=53089044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410856318.XA Active CN104572982B (zh) | 2014-12-31 | 2014-12-31 | 基于问题引导的个性化推荐方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572982B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126541B (zh) * | 2016-06-14 | 2019-07-19 | 华南师范大学 | 基于大数据知识库的个性化解决方案推荐方法和*** |
CN106776701B (zh) * | 2016-11-14 | 2020-04-07 | 东软集团股份有限公司 | 用于物品推荐的问题确定方法和装置 |
CN106649842A (zh) * | 2016-12-30 | 2017-05-10 | 上海博泰悦臻电子设备制造有限公司 | 一种基于融合数据的交叉推荐方法、***及一种车机 |
CN107992459A (zh) * | 2017-10-12 | 2018-05-04 | 如是科技(大连)有限公司 | 简历生成方法及装置 |
CN107992610A (zh) * | 2017-12-15 | 2018-05-04 | 泰康保险集团股份有限公司 | 一种自动问答方法、装置、设备及存储介质 |
CN108228910B (zh) * | 2018-02-09 | 2023-05-12 | 艾凯克斯(嘉兴)信息科技有限公司 | 一种将循环神经网络应用在关联选择问题上的方法 |
CN110399471A (zh) * | 2018-04-25 | 2019-11-01 | 北京快乐智慧科技有限责任公司 | 一种引导式情景对话方法和*** |
CN110930969B (zh) * | 2019-10-14 | 2024-02-13 | 科大讯飞股份有限公司 | 背景音乐的确定方法及相关设备 |
CN112288456A (zh) * | 2020-01-22 | 2021-01-29 | 北京沃东天骏信息技术有限公司 | 物品选择方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006004441A (ja) * | 2005-06-24 | 2006-01-05 | Yokogawa Electric Corp | 情報サービスシステム |
CN101296154A (zh) * | 2007-04-28 | 2008-10-29 | 上海盛大网络发展有限公司 | 自动答疑*** |
CN101354714A (zh) * | 2008-09-09 | 2009-01-28 | 浙江大学 | 一种基于概率潜在语义分析的问题推荐方法 |
CN101409690A (zh) * | 2008-11-26 | 2009-04-15 | 北京学之途网络科技有限公司 | 一种互联网用户行为的获取方法和*** |
CN103455638A (zh) * | 2013-09-26 | 2013-12-18 | 中国科学院自动化研究所 | 一种结合推理和半自动学习的行为知识提取方法和装置 |
CN103995858A (zh) * | 2014-05-15 | 2014-08-20 | 北京航空航天大学 | 基于任务分解的个性化知识主动推送方法 |
JP2014526747A (ja) * | 2011-09-13 | 2014-10-06 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | データ整合の方法および装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339551B (zh) * | 2007-07-05 | 2013-01-30 | 日电(中国)有限公司 | 自然语言查询需求扩展设备及其方法 |
US20120310829A1 (en) * | 2011-06-03 | 2012-12-06 | Uc Group Limited | Systems and methods for applying a unique user identifier across multiple websites |
-
2014
- 2014-12-31 CN CN201410856318.XA patent/CN104572982B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006004441A (ja) * | 2005-06-24 | 2006-01-05 | Yokogawa Electric Corp | 情報サービスシステム |
CN101296154A (zh) * | 2007-04-28 | 2008-10-29 | 上海盛大网络发展有限公司 | 自动答疑*** |
CN101354714A (zh) * | 2008-09-09 | 2009-01-28 | 浙江大学 | 一种基于概率潜在语义分析的问题推荐方法 |
CN101409690A (zh) * | 2008-11-26 | 2009-04-15 | 北京学之途网络科技有限公司 | 一种互联网用户行为的获取方法和*** |
JP2014526747A (ja) * | 2011-09-13 | 2014-10-06 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | データ整合の方法および装置 |
CN103455638A (zh) * | 2013-09-26 | 2013-12-18 | 中国科学院自动化研究所 | 一种结合推理和半自动学习的行为知识提取方法和装置 |
CN103995858A (zh) * | 2014-05-15 | 2014-08-20 | 北京航空航天大学 | 基于任务分解的个性化知识主动推送方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104572982A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572982B (zh) | 基于问题引导的个性化推荐方法及*** | |
Troussas et al. | Sentiment analysis of Facebook statuses using Naive Bayes classifier for language learning | |
CN108628833B (zh) | 原创内容摘要确定方法及装置,原创内容推荐方法及装置 | |
KR102032091B1 (ko) | 인공지능 기반의 댓글 감성 분석 방법 및 그 시스템 | |
US20130159348A1 (en) | Computer-Implemented Systems and Methods for Taxonomy Development | |
KR20160057475A (ko) | 소셜 데이터를 능동적으로 획득하기 위한 시스템 및 방법 | |
Augustyniak et al. | Simpler is better? Lexicon-based ensemble sentiment classification beats supervised methods | |
Jain et al. | Deceptive reviews detection using deep learning techniques | |
Okazaki et al. | How to mine brand Tweets: Procedural guidelines and pretest | |
Bahamonde et al. | Power structure in Chilean news media | |
Bi et al. | Modeling a retweet network via an adaptive bayesian approach | |
Liang | Collaborative, dynamic and diversified user profiling | |
Solomon et al. | Understanding the psycho-sociological facets of homophily in social network communities | |
Ramírez-Tinoco et al. | A brief review on the use of sentiment analysis approaches in social networks | |
Kafeza et al. | Predicting information diffusion patterns in twitter | |
Liu et al. | Building effective short video recommendation | |
Grivolla et al. | A hybrid recommender combining user, item and interaction data | |
Hossein et al. | Predicting motion picture box office performance using temporal tweet patterns | |
Sheeba et al. | A fuzzy logic based on sentiment classification | |
Hudli et al. | Identifying online opinion leaders using K-means clustering | |
Walha et al. | A Lexicon approach to multidimensional analysis of tweets opinion | |
Alvarez-Carmona et al. | A comparative analysis of distributional term representations for author profiling in social media | |
CN109254993B (zh) | 一种基于文本的性格数据分析方法及*** | |
Gull et al. | A clustering technique to rise up the marketing tactics by looking out the key users taking Facebook as a case study | |
Balog et al. | The first international workshop on entity-oriented search (eos) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |