基于正反属性知识库的个性化推荐方法和系统转让专利

申请号 : CN201511034581.1

文献号 : CN105677817B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱定局

申请人 : 华南师范大学

摘要 :

本发明公开了一种个性化推荐方法和系统,所述方法包括:获取当前推荐系统向用户推荐的推荐结果序列;在推荐结果序列中获取预设方向的预设推荐个数个推荐结果作为初次推荐结果序列;根据用户的身份信息在正反属性知识库查询是否存储用户的属性和相反属性;当查询结果为是时,分别将初次推荐结果序列中的各个推荐结果与用户的属性和相反属性进行匹配;删除与用户的属性的匹配结果不符合预设第一条件且与用户的相反属性的匹配结果符合预设第二条件的推荐结果;根据初次推荐结果序列剩余的推荐结果得到最终推荐结果序列;输出最终推荐结果序列。本发明提高对用户进行推荐的准确率,进而提高用户对推荐结果的采纳率,提升推荐系统对用户的价值。

权利要求 :

1.一种个性化推荐方法,其特征在于,包括以下步骤:

获取当前推荐系统向用户推荐的推荐结果序列;

在所述推荐结果序列中获取预设方向的预设推荐个数个推荐结果作为初次推荐结果序列,所述预设推荐个数小于或等于所述推荐结果序列中的推荐结果总数;

根据所述用户的身份信息在正反属性知识库预先存储的用户正反属性表中查询是否存储所述用户的属性和相反属性;其中,当用户的属性中关键字具有反义词时,该反义词为用户的相反属性;当用户的属性中关键字没有反义词时,数据库中距离所述关键字最远的同类型关键字为用户的相反属性;

当查询结果为是时,分别将所述初次推荐结果序列中的各个推荐结果、所述用户的属性和所述用户的相反属性转化为字符串;分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的匹配度,且分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的匹配度;

删除所述初次推荐结果序列中与所述用户的属性的匹配结果不符合预设第一条件且与所述用户的相反属性的匹配结果符合预设第二条件的推荐结果;

根据所述初次推荐结果序列剩余的推荐结果得到最终推荐结果序列;

输出所述最终推荐结果序列。

2.根据权利要求1所述的个性化推荐方法,其特征在于,所述用户的身份信息包括用户ID,所述用户正反属性表包括用户字段、用户属性字段和用户相反属性字段,所述用户字段中存储用户ID,所述用户属性字段中存储用户的属性,所述用户相反属性字段中存储用户的相反属性,所述用户的相反属性根据所述用户的属性得到,所述用户的属性包括用户的年龄、性别、职业、学历、专业、特长、爱好和地理位置中的任意一项或任意组合。

3.根据权利要求1或2所述的个性化推荐方法,其特征在于,当查询结果为否时,判断所述用户是否为所述当前推荐系统的注册用户;

当判定结果为是时,从所述当前推荐系统的所述用户的注册信息中获取所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中;

当判定结果为否时,生成一个信息采集窗口,采集所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中。

4.根据权利要求1所述的个性化推荐方法,其特征在于,删除所述初次推荐结果序列中与所述用户的属性的匹配结果不符合预设第一条件且与所述用户的相反属性的匹配结果符合预设第二条件的推荐结果的步骤包括:分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的相同字符个数;

分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的相同字符个数;

删除所述初次推荐结果序列中与所述用户的属性转化的字符串的相同字符个数小于第一预设值且与所述用户的相反属性转化的字符串的相同字符个数大于第二预设值的推荐结果。

5.一种个性化推荐系统,其特征在于,包括:

推荐结果序列获取模块,用于获取当前推荐系统向用户推荐的推荐结果序列;

初次推荐结果序列获取模块,用于在所述推荐结果序列中获取预设方向的预设推荐个数个推荐结果作为初次推荐结果序列,所述预设推荐个数小于或等于所述推荐结果序列中的推荐结果总数;

属性查询模块,用于根据所述用户的身份信息在正反属性知识库预先存储的用户正反属性表中查询是否存储所述用户的属性和相反属性;其中,当用户的属性中关键字具有反义词时,该反义词为用户的相反属性;当用户的属性中关键字没有反义词时,数据库中距离所述关键字最远的同类型关键字为用户的相反属性;

结果匹配模块,用于当查询结果为是时,分别将所述初次推荐结果序列中的各个推荐结果、所述用户的属性和所述用户的相反属性转化为字符串;分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的匹配度,且分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的匹配度;

结果删除模块,用于删除所述初次推荐结果序列中与所述用户的属性的匹配结果不符合预设第一条件且与所述用户的相反属性的匹配结果符合预设第二条件的推荐结果;

最终推荐结果序列获取模块,用于根据所述初次推荐结果序列剩余的推荐结果得到最终推荐结果序列;

序列输出模块,用于输出所述最终推荐结果序列。

6.根据权利要求5所述的个性化推荐系统,其特征在于,所述用户的身份信息包括用户ID,所述用户正反属性表包括用户字段、用户属性字段和用户相反属性字段,所述用户字段中存储用户ID,所述用户属性字段中存储用户的属性,所述用户相反属性字段中存储用户的相反属性,所述用户的相反属性根据所述用户的属性得到,所述用户的属性包括用户的年龄、性别、职业、学历、专业、特长、爱好和地理位置中的任意一项或任意组合。

7.根据权利要求5或6所述的个性化推荐系统,其特征在于,还包括属性获取模块,用于当查询结果为否时,判断所述用户是否为所述当前推荐系统的注册用户;

当判定结果为是时,从所述当前推荐系统的所述用户的注册信息中获取所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中;

当判定结果为否时,生成一个信息采集窗口,采集所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中。

8.根据权利要求5所述的个性化推荐系统,其特征在于,所述结果删除模块包括:

第一获取单元,用于分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的相同字符个数;

第二获取单元,用于分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的相同字符个数;

删除单元,用于删除所述初次推荐结果序列中与所述用户的属性转化的字符串的相同字符个数小于第一预设值且与所述用户的相反属性转化的字符串的相同字符个数大于第二预设值的推荐结果。

9.一种计算机,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。

说明书 :

基于正反属性知识库的个性化推荐方法和系统

技术领域

[0001] 本发明涉及推荐技术领域,特别是涉及一种基于正反属性知识库的个性化推荐方法和系统。

背景技术

[0002] 随着电子商务规模的不断扩大,商品个数和种类快速增长,用户需要花费大量的时间才能找到自己想买的商品。浏览大量无关信息和产品的过程无疑会使消费者不断流失。为了解决这些问题,个性化推荐技术应运而生。个性化推荐技术是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务。
[0003] 但是现有个性化推荐系统在用户购买商品的历史数据的分析基础上进行推荐时,可能出现错误推荐。譬如,推荐系统发现A用户和B用户的以往兴趣特点和购买行为都很类似,最近A用户购买了卫生巾,结果推荐系统就把卫生巾推荐给了B用户,这个推荐是否准确?A用户和B用户之所以在过去的时间内兴趣特点和购买行为都很类似,是因为A用户和B用户是亲姐弟,但A用户是女性,最近来月经初潮了,所以开始第一次买卫生巾,但B用户是男性,把卫生巾推荐给B用户,显然是错误的推荐。可见,现有推荐技术得到的推荐结果常常与用户想买的商品不吻合,导致错误的推荐,进而降低用户对推荐结果的采纳率,降低推荐系统对用户的价值。

发明内容

[0004] 基于上述情况,本发明提出了一种个性化推荐方法和系统,提高对用户进行推荐的准确率,进而提高用户对推荐结果的采纳率,提升推荐系统对用户的价值。
[0005] 为了实现上述目的,本发明技术方案的实施例为:
[0006] 一种个性化推荐方法,包括以下步骤:
[0007] 获取当前推荐系统向用户推荐的推荐结果序列;
[0008] 在所述推荐结果序列中获取预设方向的预设推荐个数个推荐结果作为初次推荐结果序列,所述预设推荐个数小于或等于所述推荐结果序列中的推荐结果总数;
[0009] 根据所述用户的身份信息在正反属性知识库预先存储的用户正反属性表中查询是否存储所述用户的属性和相反属性;
[0010] 当查询结果为是时,分别将所述初次推荐结果序列中的各个推荐结果与所述用户的属性进行匹配,且分别将所述初次推荐结果序列中的各个推荐结果与所述用户的相反属性进行匹配;
[0011] 删除所述初次推荐结果序列中与所述用户的属性的匹配结果不符合预设第一条件且与所述用户的相反属性的匹配结果符合预设第二条件的推荐结果;
[0012] 根据所述初次推荐结果序列剩余的推荐结果得到最终推荐结果序列;
[0013] 输出所述最终推荐结果序列。
[0014] 一种个性化推荐系统,包括:
[0015] 推荐结果序列获取模块,用于获取当前推荐系统向用户推荐的推荐结果序列;
[0016] 初次推荐结果序列获取模块,用于在所述推荐结果序列中获取预设方向的预设推荐个数个推荐结果作为初次推荐结果序列,所述预设推荐个数小于或等于所述推荐结果序列中的推荐结果总数;
[0017] 属性查询模块,用于根据所述用户的身份信息在正反属性知识库预先存储的用户正反属性表中查询是否存储所述用户的属性和相反属性;
[0018] 结果匹配模块,用于当查询结果为是时,分别将所述初次推荐结果序列中的各个推荐结果与所述用户的属性进行匹配,且分别将所述初次推荐结果序列中的各个推荐结果与所述用户的相反属性进行匹配;
[0019] 结果删除模块,用于删除所述初次推荐结果序列中与所述用户的属性的匹配结果不符合预设第一条件且与所述用户的相反属性的匹配结果符合预设第二条件的推荐结果;
[0020] 最终推荐结果序列获取模块,用于根据所述初次推荐结果序列剩余的推荐结果得到最终推荐结果序列;
[0021] 序列输出模块,用于输出所述最终推荐结果序列。
[0022] 与现有技术相比,本发明的有益效果为:本发明个性化推荐方法和系统,基于正反属性知识库,通过将当前推荐系统向用户推荐的预设个数个推荐结果与预先存储在正反属性知识库中的用户的属性和相反属性进行匹配,根据匹配结果获取最终推荐结果序列,提高对用户进行推荐的准确率,满足用户的个性化推荐需要,提高用户对推荐结果的采纳率,提升推荐系统对用户的价值,适合应用。

附图说明

[0023] 图1为本发明一个实施例中个性化推荐方法流程示意图;
[0024] 图2为基于图1所示方法一个具体示例中个性化推荐方法流程图;
[0025] 图3为本发明一个实施例中个性化推荐系统结构示意图。

具体实施方式

[0026] 为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
[0027] 一个实施例中个性化推荐方法,如图1所示,包括以下步骤:
[0028] 步骤S101:获取当前推荐系统向用户推荐的推荐结果序列;
[0029] 其中,当前推荐系统可以是现有的各种推荐系统,也可以是新开发的推荐系统;推荐系统向用户推荐的推荐结果可以是各种类型的推荐结果,譬如,商品的推荐、衣服的推荐、图书的推荐、视频的推荐、图片的推荐、论文的推荐或好友的推荐等;
[0030] 步骤S102:在所述推荐结果序列中获取预设方向的预设推荐个数个推荐结果作为初次推荐结果序列,所述预设推荐个数小于或等于所述推荐结果序列中的推荐结果总数;
[0031] 例如推荐系统向一个用户推荐的推荐结果数记为p,将这p个推荐结果中的前n个推荐结果作为n个第一推荐结果,得到初次推荐结果序列,其中,p可以是自然数,推荐系统会向用户推荐至少一个推荐结果,选取推荐系统向一个用户推荐的所有推荐结果中的全部或部分作为第一推荐结果;
[0032] 步骤S103:根据所述用户的身份信息在正反属性知识库预先存储的用户正反属性表中查询是否存储所述用户的属性和相反属性;
[0033] 例如从正反属性知识库中的用户正反属性表中检索该个用户的属性和相反属性,通过用户的身份信息对用户正反属性表进行检索,当检索到相应用户的身份信息时,则取出该用户的身份信息对应的用户的属性和相反属性;可以事先采集用户的属性和相反属性存储在正反属性知识库中;
[0034] 步骤S104:当查询结果为是时,分别将所述初次推荐结果序列中的各个推荐结果与所述用户的属性进行匹配,且分别将所述初次推荐结果序列中的各个推荐结果与所述用户的相反属性进行匹配;
[0035] 一个推荐结果与正反属性知识库中该个用户的属性的匹配度,本质上是该个推荐结果与用户属性的符合程度;从一个推荐结果与该个用户的属性的匹配度的大小,可以看出该个推荐结果与该个用户的属性的吻合度,一个推荐结果与该个用户的属性的匹配度越大,则表明该个推荐结果与该个用户的属性的吻合度越高;
[0036] 一个推荐结果与正反属性知识库中该个用户的相反属性的匹配度,本质上是该个推荐结果与用户属性的矛盾程度;从一个推荐结果与该个用户的相反属性的匹配度的大小,可以看出该个推荐结果与该个用户的属性的矛盾程度,一个推荐结果与该个用户的相反属性的匹配度越大,则表明该个推荐结果与该个用户的属性的矛盾程度越高;
[0037] 步骤S105:删除所述初次推荐结果序列中与所述用户的属性的匹配结果不符合预设第一条件且与所述用户的相反属性的匹配结果符合预设第二条件的推荐结果;
[0038] 例如预设第一条件为一个推荐结果与该个用户的属性的匹配度大于或等于第一预设值(可以根据实际需要设置第一预设值,例如第一预设值为1),不符合第一预设条件即:一个推荐结果与该个用户的属性的匹配度小于第一预设值,预设第二条件为一个推荐结果与该个用户的相反属性的匹配度大于第二预设值(可以根据实际需要设置第二预设值,例如第二预设值为2),符合第二预设条件即:一个推荐结果与该个用户的相反属性的匹配度大于第二预设值。当一个推荐结果与该个用户的属性的匹配度小于第一预设值且与该个用户的相反属性的匹配度大于第二预设值时,表示该个推荐结果与该个用户的属性是有矛盾的,删除该个推荐结果;
[0039] 当一个推荐结果与该个用户的相反属性的匹配度大于第二预设值但与该个用户的属性的匹配度大于第一预设值时,则该个推荐结果既含有该个用户的相反属性又含有用户的属性,则说明该个推荐结果既适用于与该个用户属性相反的用户,也适用于该个用户,所以不应删除;当一个推荐结果与该个用户的相反属性的匹配度小于第二预设值且与该个用户的属性的匹配度小于第一预设值时,则该个推荐结果既不含有该个用户的相反属性也不含有用户的属性,则说明该个推荐结果中没有明确指出是否适用于相应属性的该个用户,也就是说该个推荐结果可能不适用于该个用户,但可能适用于该个用户,所以不应删除;当一个推荐结果与该个用户的相反属性的匹配度小于第二预设值且与该个用户的属性的匹配度大于第一预设值时,则该个推荐结果不含有该个用户的相反属性,但含有用户的属性,则说明该个推荐结果不适用于相反属性的用户,且适用于该个用户,所以不应删除;
[0040] 其中,如果只考虑推荐结果与该个用户的相反属性的匹配度大于第二预设值的情况,那么当一个推荐结果中既包含该个用户的相反属性关键词又包含该个用户的属性关键词时,该个推荐结果就会被删除,但该个推荐结果其实是适用于该个用户的,因为该个推荐结果中包含该个用户的属性关键词;如果只考虑推荐结果与该个用户的属性的匹配度小于第一预设值的情况,那么当一个推荐结果中既不包含该个用户的相反属性关键词又不包含该个用户的属性关键词时,该个推荐结果就会被删除,但该个推荐结果其实只是没有指明是否适用于相应属性的该个用户,并没有指明一定不适用于该个用户;可以理解的是,同时考虑一个推荐结果中与该个用户的相反属性的匹配度大于第二预设值且与该个用户的属性的匹配度小于第一预设值的情况,比只考虑其中一种情况,避免了对推荐结果的误删除,更有利于推荐的准确性。
[0041] 所述匹配度的计算可以转化为字符串匹配度或相似度的计算,可以采用已有的字符串匹配度或相似度算法,譬如Edit距离法(编辑距离,就是用来计算从原串(s)转换到目标串(t)所需要的最少的插入,删除和替换的数目。显然当一个语句编辑为另一个语句所需的最少的插入,删除和替换的数目越小,则匹配度越大)、最大公共子串LCS法(显然两个语句的最大公共子串越长,则这两个语句匹配度越大);所述匹配度的计算也可以使用新的匹配度的算法,譬如将两个字符串的公共的字符数作为匹配度的大小;
[0042] 步骤S106:根据所述初次推荐结果序列剩余的推荐结果得到最终推荐结果序列;
[0043] 步骤S107:输出所述最终推荐结果序列。
[0044] 将最终推荐结果输出给用户的方式可以是现有推荐系统所采用的方式,也可以采用其他的信息输出方式,譬如,如网页的方式、文件的方式。
[0045] 从以上描述可知,本发明个性化推荐方法,基于正反属性知识库,排除了与用户属性相矛盾的推荐结果,同时避免了对推荐结果的误删除,满足了用户的个性化推荐的需要,提高推荐的准确率,提高了用户对推荐结果的采纳率,提升了推荐系统对用户的价值。
[0046] 此外,在一个具体示例中,所述用户的身份信息包括用户ID(身份标识号),所述用户正反属性表包括用户字段、用户属性字段和用户相反属性字段,所述用户字段中存储用户ID,所述用户属性字段中存储用户的属性,所述用户相反属性字段中存储用户的相反属性,所述用户的相反属性根据所述用户的属性得到,所述用户的属性包括用户的年龄、性别、职业、学历、专业、特长、爱好和地理位置中的任意一项或任意组合。
[0047] 正反属性知识库中的用户正反属性表包括用户字段、用户属性字段和用户相反属性字段,用户字段中存储用户ID,用户属性字段中存储用户的属性,用户相反属性字段存储用户的相反属性。从正反属性知识库中检索出该个用户的属性和相反属性,是通过用户ID对正反属性知识库进行检索,当检索到相应用户ID时,则取出该用户ID对应的用户的属性和相反属性。用户的相反属性根据用户的属性得到,用户的属性可以包括用户的年龄、性别、职业、学历、专业、特长、爱好和地理位置等与用户相关的信息,满足多种应用需要。
[0048] 获取用户的相反属性步骤:首先查询用户的属性中关键字的反义词;当能查询到反义词时,将该反义词作为用户的相反属性;当不能查询到反义词时,根据用户的属性中关键字在数据库中查询距离所述关键字最远的同类型关键字作为用户的相反属性。其中,数据库中事先存储有各种类型关键词及其之间的距离,这里的距离是指差异性,例如,同为学历类型的关键词离“小学”距离最远的显然是“博士后”。
[0049] 此外,在一个具体示例中,当查询结果为否时,判断所述用户是否为所述当前推荐系统的注册用户;
[0050] 当判定结果为是时,从所述当前推荐系统的所述用户的注册信息中获取所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中;
[0051] 当判定结果为否时,生成一个信息采集窗口,采集所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中。
[0052] 例如从正反属性知识库中检索该个用户的属性和相反属性,当从正反属性知识库中检索不到该个用户或该个用户的属性和相反属性时,则判断用户是否为推荐系统的注册用户,当用户是注册用户,则查询用户的注册信息中的用户属性,根据用户的属性得到用户的相反属性,并将用户的属性和相反属性加入正反属性知识库,当用户不是注册用户,则弹出对话框询问用户,也可以是其他交互方式获取或查询方式获取该个用户的属性,根据用户的属性得到用户的相反属性,并将用户的属性和相反属性加入正反属性知识库,如果用户的注册信息中没有用户属性信息时,也可以通过弹出对话框询问用户或是其他交互方式获取该个用户的属性,根据用户的属性得到用户的相反属性,并将用户的属性和相反属性加入正反属性知识库。
[0053] 此外,在一个具体示例中,分别将所述初次推荐结果序列中的各个推荐结果与所述用户的属性进行匹配,且分别将所述初次推荐结果序列中的各个推荐结果与所述用户的相反属性进行匹配的步骤包括:
[0054] 分别将所述初次推荐结果序列中的各个推荐结果、所述用户的属性和所述用户的相反属性转化为字符串;
[0055] 分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的匹配度,且分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的匹配度。
[0056] 初次推荐结果序列中的各个推荐结果、用户的属性和用户的相反属性都可以转化为成字符串,计算推荐结果与用户的属性和相反属性的匹配度,可以转化为字符串匹配度或相似度的计算,从一个推荐结果与该个用户的属性的匹配度的大小可以看出该个推荐结果与该个用户的属性的符合程度,一个推荐结果与该个用户的属性的匹配度越大则表明该个推荐结果与该个用户的属性的符合程度越高。从一个推荐结果与该个用户的相反属性的匹配度的大小可以看出该个推荐结果与该个用户的属性的矛盾程度,一个推荐结果与该个用户的相反属性的匹配度越大则表明该个推荐结果与该个用户的属性的矛盾程度越高。
[0057] 所述匹配度的计算可以转化为字符串匹配度或相似度的计算,可以采用已有的字符串匹配度或相似度算法,譬如Edit距离法(编辑距离,就是用来计算从原串(s)转换到目标串(t)所需要的最少的插入,删除和替换的数目。显然当一个语句编辑为另一个语句所需的最少的插入,删除和替换的数目越小,则匹配度越大)、最大公共子串LCS法(显然两个语句的最大公共子串越长,则这两个语句匹配度越大);所述匹配度的计算也可以使用新的匹配度的算法,譬如将两个字符串的公共的字符数作为匹配度的大小。
[0058] 此外,在一个具体示例中,删除所述初次推荐结果序列中与所述用户的属性的匹配结果不符合预设第一条件且与所述用户的相反属性的匹配结果符合预设第二条件的推荐结果的步骤包括:
[0059] 分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的相同字符个数;
[0060] 分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的相同字符个数;
[0061] 删除所述初次推荐结果序列中与所述用户的属性转化的字符串的相同字符个数小于第一预设值且与所述用户的相反属性转化的字符串的相同字符个数大于第二预设值的推荐结果。
[0062] 一个推荐结果转化的字符串与该个用户的属性转化的字符串相同字符个数小于第一预设值且与该个用户的相反属性转化的字符串相同字符个数大于第二预设值,说明该个推荐结果与该个用户的属性的有矛盾,删除与用户属性相矛盾的推荐结果,提高推荐的准确率。
[0063] 为了更好地理解上述方法,以下详细阐述一个本发明个性化推荐方法的应用实例。
[0064] 如图2所示,该应用实例可以包括以下步骤:
[0065] 步骤S201:获取一个购物网站的推荐系统向用户甲推荐的推荐结果序列;
[0066] 步骤S202:在上述推荐结果序列中获取前11个推荐结果作为初次推荐结果序列,上述推荐结果序列中的推荐结果总数大于或等于11;所述11个推荐结果为:(1)丸美防晒霜女防水正品激白防晒精华隔离乳SPF30防紫外线全身45g;(2)包邮新款大网鞋男凉鞋学生休闲运动鞋男夏季网布鞋男士加大码男鞋;(3)中歌金立S7手机套ELIFE7壳GN9006透明硅胶保护软套外壳配件后盖潮;(4)iphone4s手机壳苹果5s外壳超薄塑料磨砂保护硬壳黑白红潮男女简约;(5)包邮男包加厚帆布双肩包男士包包休闲旅行包潮男包韩版男背包;(6)茵曼2015夏装新款背心女夏外穿印花无袖衫夏季背心吊带8520300114;(7)森谷鸟韩版潮2015春秋女帆布鞋松糕鞋高帮增高女鞋厚底布鞋子;(8)大sim韩国定制款夏装必备破洞纯色简约圆领宽松短袖女T恤;(9)中老年女款夏装T恤雪纺衫上衣大码妈妈装宽松绣花短袖老年人衣服;(10)小米2s手机保护壳二s后盖手机套潮小米2皮套外壳m2超薄硬翻盖包邮;
(11)韩国东大门2015夏季新上女装时尚碎花宽松短袖雪纺蛋糕衫短款上衣;
[0067] 步骤S203:根据用户甲的ID在正反属性知识库预先存储的用户正反属性表中查询是否存储用户甲的属性和相反属性;所述用户正反属性表包括用户字段、用户属性字段和用户相反属性字段,所述用户字段中存储用户ID,所述用户属性字段中存储用户的属性,所述用户相反属性字段中存储用户的相反属性,用户的相反属性根据用户的属性得到,用户的属性包括用户的年龄和性别;正反属性知识库可以事先存储用户的属性和相反属性;一个实施例中用户正反属性表如表1所示;
[0068]
[0069] 步骤S204:当查询结果为是时,分别将上述11个推荐结果、用户甲的属性和相反属性转化为字符串;当查询结果为否时,判断用户甲是否为上述购物网站的注册用户;当判定结果为是时,从上述购物网站的用户甲的注册信息中获取用户甲的属性,根据用户甲的属性得到用户甲的相反属性,将用户甲的属性和相反属性存储在正反属性知识库中;当判定结果为否时,生成一个信息采集窗口,采集用户甲的属性,根据用户甲的属性得到用户甲的相反属性,将用户甲的属性和相反属性存储在正反属性知识库中;
[0070] 已知用户甲的ID是14235,可以从上述正反属性知识库预先存储的用户正反属性表中查询到用户甲的属性是“年轻男性”,相反属性是“年老女性”;
[0071] 如果上述正反属性知识库预先存储的用户正反属性表中查询不到用户甲的属性和相反属性时,则判断用户甲是否为上述购物网站的注册用户,当用户甲是注册用户,则查询用户的注册信息中的用户甲的属性,根据用户甲的属性得到用户甲的相反属性,并将用户甲的属性和相反属性加入正反属性知识库,当用户甲不是注册用户,则弹出对话框询问用户甲,也可以是其他交互方式获取或查询方式获取用户甲的属性,根据用户甲的属性得到用户甲的相反属性,并将用户甲的属性和相反属性加入正反属性知识库,如果用户的注册信息中没有用户甲的属性时,也可以通过弹出对话框询问用户或是其他交互方式获取用户甲的属性,根据用户甲的属性得到用户甲的相反属性,并将用户甲的属性和相反属性加入正反属性知识库;
[0072] 用户甲的属性为“年轻男性”,关键字“年轻”、“男性”,查询得到上述关键字的反义词“年老”、“女性”,将“年老女性”作为用户甲的相反属性;
[0073] 步骤S205:分别计算上述11个推荐结果转化的字符串与用户甲的属性转化的字符串的匹配度,且分别计算上述11个推荐结果转化的字符串与用户甲的相反属性转化的字符串的匹配度;
[0074] 所述匹配度的计算可以转化为字符串匹配度或相似度的计算,也可以将两个字符串的公共的字符数作为匹配度的大小;从一个推荐结果与该个用户的属性的匹配度的大小可以看出该个推荐结果与该个用户的属性的符合程度;一个推荐结果与该个用户的属性的匹配度越大则表明该个推荐结果与该个用户的属性的符合程度越高;从一个推荐结果与该个用户的相反属性的匹配度的大小可以看出该个推荐结果与该个用户的属性的矛盾程度;一个推荐结果与该个用户的相反属性的匹配度越大则表明该个推荐结果与该个用户的属性的矛盾程度越高;
[0075] 步骤S206:分别获取上述11个推荐结果转化的字符串与用户甲的属性转化的字符串的相同字符个数;
[0076] 匹配度采用的计算方式:将两个字符串的相同的字符数作为匹配度的大小:
[0077] (1)丸美防晒霜女防水正品激白防晒精华隔离乳SPF30防紫外线全身45g年轻男性与用户甲的属性转化的字符串的相同字符个数为0;
[0078] (2)包邮新款大网鞋男凉鞋学生休闲运动鞋男夏季网布鞋男士加大码男鞋年轻男性与用户甲的属性转化的字符串的相同字符个数为3;
[0079] (3)中歌金立S7手机套ELIFE7壳GN9006透明硅胶保护软套外壳配件后盖潮年轻男性与用户甲的属性转化的字符串的相同字符个数为0;
[0080] (4)iphone4s手机壳苹果5s外壳超薄塑料磨砂保护硬壳黑白红潮男女简约年轻男性与用户甲的属性转化的字符串的相同字符个数为1;
[0081] (5)包邮男包加厚帆布双肩包男士包包休闲旅行包潮男包韩版男背包年轻男性与用户甲的属性转化的字符串的相同字符个数为4;
[0082] (6)茵曼2015夏装新款背心女夏外穿印花无袖衫夏季背心吊带8520300114年轻男性与用户甲的属性转化的字符串的相同字符个数为0;
[0083] (7)森谷鸟韩版潮2015春秋女帆布鞋松糕鞋高帮增高女鞋厚底布鞋子年轻男性与用户甲的属性转化的字符串的相同字符个数为0;
[0084] (8)大sim韩国定制款夏装必备破洞纯色简约圆领宽松短袖女T恤年轻男性与用户甲的属性转化的字符串的相同字符个数为0;
[0085] (9)中老年女款夏装T恤雪纺衫上衣大码妈妈装宽松绣花短袖老年人衣服年轻男性与用户甲的属性转化的字符串的相同字符个数为0;
[0086] (10)小米2s手机保护壳二s后盖手机套潮小米2皮套外壳m2超薄硬翻盖包邮年轻男性与用户甲的属性转化的字符串的相同字符个数为0;
[0087] (11)韩国东大门2015夏季新上女装时尚碎花宽松短袖雪纺蛋糕衫短款上衣年轻男性与用户甲的属性转化的字符串的相同字符个数为0;
[0088] 步骤S207:分别获取上述11个推荐结果转化的字符串与用户甲的相反属性转化的字符串的相同字符个数;
[0089] 匹配度采用的计算方式:将两个字符串的相同的字符数作为匹配度的大小:
[0090] (1)丸美防晒霜女防水正品激白防晒精华隔离乳SPF30防紫外线全身45g年老女性与用户甲的相反属性转化的字符串的相同字符个数为1;
[0091] (2)包邮新款大网鞋男凉鞋学生休闲运动鞋男夏季网布鞋男士加大码男鞋年老女性与用户甲的相反属性转化的字符串的相同字符个数为0;
[0092] (3)中歌金立S7手机套ELIFE7壳GN9006透明硅胶保护软套外壳配件后盖潮年老女性与用户甲的相反属性转化的字符串的相同字符个数为0;
[0093] (4)iphone4s手机壳苹果5s外壳超薄塑料磨砂保护硬壳黑白红潮男女简约年老女性与用户甲的相反属性转化的字符串的相同字符个数为1;
[0094] (5)包邮男包加厚帆布双肩包男士包包休闲旅行包潮男包韩版男背包年老女性与用户甲的相反属性转化的字符串的相同字符个数为0;
[0095] (6)茵曼2015夏装新款背心女夏外穿印花无袖衫夏季背心吊带8520300114年老女性与用户甲的相反属性转化的字符串的相同字符个数为1;
[0096] (7)森谷鸟韩版潮2015春秋女帆布鞋松糕鞋高帮增高女鞋厚底布鞋子年老女性与用户甲的相反属性转化的字符串的相同字符个数为2;
[0097] (8)大sim韩国定制款夏装必备破洞纯色简约圆领宽松短袖女T恤年老女性与用户甲的相反属性转化的字符串的相同字符个数为1;
[0098] (9)中老年女款夏装T恤雪纺衫上衣大码妈妈装宽松绣花短袖老年人衣服年老女性与用户甲的相反属性转化的字符串的相同字符个数为3;
[0099] (10)小米2s手机保护壳二s后盖手机套潮小米2皮套外壳m2超薄硬翻盖包邮年老女性与用户甲的相反属性转化的字符串的相同字符个数为0;
[0100] (11)韩国东大门2015夏季新上女装时尚碎花宽松短袖雪纺蛋糕衫短款上衣年老女性与用户甲的相反属性转化的字符串的相同字符个数为1;
[0101] 步骤S208:删除上述11个推荐结果序列中与用户甲的属性转化的字符串的相同字符个数为零且与用户甲的相反属性转化的字符串的相同字符个数不为零的推荐结果;
[0102] 即删除:
[0103] 丸美防晒霜女防水正品激白防晒精华隔离乳SPF30防紫外线全身45g;
[0104] 茵曼2015夏装新款背心女夏外穿印花无袖衫夏季背心吊带8520300114;
[0105] 森谷鸟韩版潮2015春秋女帆布鞋松糕鞋高帮增高女鞋厚底布鞋子;
[0106] 大sim韩国定制款夏装必备破洞纯色简约圆领宽松短袖女T恤;
[0107] 中老年女款夏装T恤雪纺衫上衣大码妈妈装宽松绣花短袖老年人衣服;
[0108] 韩国东大门2015夏季新上女装时尚碎花宽松短袖雪纺蛋糕衫短款上衣;
[0109] 步骤S209:根据上述11个推荐结果序列剩余的推荐结果得到最终推荐结果序列:
[0110] (1)包邮新款大网鞋男凉鞋学生休闲运动鞋男夏季网布鞋男士加大码男鞋;
[0111] (2)中歌金立S7手机套ELIFE7壳GN9006透明硅胶保护软套外壳配件后盖潮;
[0112] (3)iphone4s手机壳苹果5s外壳超薄塑料磨砂保护硬壳黑白红潮男女简约;
[0113] (4)包邮男包加厚帆布双肩包男士包包休闲旅行包潮男包韩版男背包;
[0114] (5)小米2s手机保护壳二s后盖手机套潮小米2皮套外壳m2超薄硬翻盖包邮;
[0115] 步骤S210:输出上述最终推荐结果序列。
[0116] 将最终推荐结果输出给用户的方式可以是现有推荐系统所采用的方式,也可以采用其他的信息输出方式,譬如,如网页的方式、文件的方式。
[0117] 本应用实例将11推荐结果中与用户甲的属性的匹配度为0且与用户甲的相反属性的匹配度不为0的推荐结果删除后剩下的推荐结果作为最终推荐结果,极大排除了与用户属性相矛盾的推荐结果,同时避免了对推荐结果的误删除,满足了用户的个性化推荐的需要,提高推荐的准确率,提高了用户对推荐结果的采纳率,提升了推荐系统对用户的价值。
[0118] 一个实施例中个性化推荐系统,如图3所示,包括:
[0119] 推荐结果序列获取模块301,用于获取当前推荐系统向用户推荐的推荐结果序列;
[0120] 初次推荐结果序列获取模块302,用于在所述推荐结果序列中获取预设方向的预设推荐个数个推荐结果作为初次推荐结果序列,所述预设推荐个数小于或等于所述推荐结果序列中的推荐结果总数;
[0121] 属性查询模块303,用于根据所述用户的身份信息在正反属性知识库预先存储的用户正反属性表中查询是否存储所述用户的属性和相反属性;
[0122] 结果匹配模块304,用于当查询结果为是时,分别将所述初次推荐结果序列中的各个推荐结果与所述用户的属性进行匹配,且分别将所述初次推荐结果序列中的各个推荐结果与所述用户的相反属性进行匹配;
[0123] 结果删除模块305,用于删除所述初次推荐结果序列中与所述用户的属性的匹配结果不符合预设第一条件且与所述用户的相反属性的匹配结果符合预设第二条件的推荐结果;
[0124] 最终推荐结果序列获取模块306,用于根据所述初次推荐结果序列剩余的推荐结果得到最终推荐结果序列;
[0125] 序列输出模块307,用于输出所述最终推荐结果序列。
[0126] 此外,在一个具体示例中,所述用户的身份信息包括用户ID,所述用户正反属性表包括用户字段、用户属性字段和用户相反属性字段,所述用户字段中存储用户ID,所述用户属性字段中存储用户的属性,所述用户相反属性字段中存储用户的相反属性,所述用户的相反属性根据所述用户的属性得到,所述用户的属性包括用户的年龄、性别、职业、学历、专业、特长、爱好和地理位置中的任意一项或任意组合。
[0127] 正反属性知识库中的用户正反属性表包括用户字段、用户属性字段和用户相反属性字段,用户字段中存储用户ID,用户属性字段中存储用户的属性,用户相反属性字段存储用户的相反属性。从正反属性知识库中检索出该个用户的属性和相反属性,是通过用户ID对正反属性知识库进行检索,当检索到相应用户ID时,则取出该用户ID对应的用户的属性和相反属性。用户的相反属性根据用户的属性得到,用户的属性可以包括用户的年龄、性别、职业、学历、专业、特长、爱好和地理位置等与用户相关的信息,满足多种应用需要。
[0128] 获取用户的相反属性步骤:首先查询用户的属性中关键字的反义词;当能查询到反义词时,将该反义词作为用户的相反属性;当不能查询到反义词时,根据用户的属性中关键字在数据库中查询距离所述关键字最远的同类型关键字作为用户的相反属性。其中,数据库中事先存储有各种类型关键词及其之间的距离,这里的距离是指差异性,例如,同为学历类型的关键词离“小学”距离最远的显然是“博士后”。
[0129] 如图3所示,在一个具体示例中,所述系统还包括属性获取模块308,用于当查询结果为否时,判断所述用户是否为所述当前推荐系统的注册用户;
[0130] 当判定结果为是时,从所述当前推荐系统的所述用户的注册信息中获取所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中;
[0131] 当判定结果为否时,生成一个信息采集窗口,采集所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中。
[0132] 例如从正反属性知识库中检索该个用户的属性和相反属性,当从正反属性知识库中检索不到该个用户或该个用户的属性和相反属性时,则判断用户是否为推荐系统的注册用户,当用户是注册用户,则查询用户的注册信息中的用户属性,根据用户的属性得到用户的相反属性,并将用户的属性和相反属性加入正反属性知识库,当用户不是注册用户,则弹出对话框询问用户,也可以是其他交互方式获取或查询方式获取该个用户的属性,根据用户的属性得到用户的相反属性,并将用户的属性和相反属性加入正反属性知识库,如果用户的注册信息中没有用户属性信息时,也可以通过弹出对话框询问用户或是其他交互方式获取该个用户的属性,根据用户的属性得到用户的相反属性,并将用户的属性和相反属性加入正反属性知识库。
[0133] 如图3所示,在一个具体示例中,所述结果匹配模块304包括:
[0134] 转化单元3041,用于分别将所述初次推荐结果序列中的各个推荐结果、所述用户的属性和所述用户的相反属性转化为字符串;
[0135] 匹配单元3042,用于分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的匹配度,且分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的匹配度。
[0136] 初次推荐结果序列中的各个推荐结果、用户的属性和用户的相反属性都可以转化为成字符串,计算推荐结果与用户的属性和相反属性的匹配度,可以转化为字符串匹配度或相似度的计算,从一个推荐结果与该个用户的属性的匹配度的大小可以看出该个推荐结果与该个用户的属性的符合程度,一个推荐结果与该个用户的属性的匹配度越大则表明该个推荐结果与该个用户的属性的符合程度越高。从一个推荐结果与该个用户的相反属性的匹配度的大小可以看出该个推荐结果与该个用户的属性的矛盾程度,一个推荐结果与该个用户的相反属性的匹配度越大则表明该个推荐结果与该个用户的属性的矛盾程度越高。
[0137] 所述匹配度的计算可以转化为字符串匹配度或相似度的计算,可以采用已有的字符串匹配度或相似度算法,譬如Edit距离法(编辑距离,就是用来计算从原串(s)转换到目标串(t)所需要的最少的插入,删除和替换的数目。显然当一个语句编辑为另一个语句所需的最少的插入,删除和替换的数目越小,则匹配度越大)、最大公共子串LCS法(显然两个语句的最大公共子串越长,则这两个语句匹配度越大);所述匹配度的计算也可以使用新的匹配度的算法,譬如将两个字符串的公共的字符数作为匹配度的大小。
[0138] 如图3所示,在一个具体示例中,所述结果删除模块305包括:
[0139] 第一获取单元3051,用于分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的相同字符个数;
[0140] 第二获取单元3052,用于分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的相同字符个数;
[0141] 删除单元3053,用于删除所述初次推荐结果序列中与所述用户的属性转化的字符串的相同字符个数小于第一预设值且与所述用户的相反属性转化的字符串的相同字符个数大于第二预设值的推荐结果。
[0142] 一个推荐结果转化的字符串与该个用户的属性转化的字符串相同字符个数小于第一预设值且与该个用户的相反属性转化的字符串相同字符个数大于第二预设值,说明该个推荐结果与该个用户的属性的有矛盾,删除与用户属性相矛盾的推荐结果,提高推荐的准确率。
[0143] 基于图3所示的本实施例的系统,一个具体的工作过程可以是如下所述:
[0144] 首先推荐结果序列获取模块301获取当前推荐系统向用户推荐的推荐结果序列;初次推荐结果序列获取模块302在所述推荐结果序列中获取预设方向的预设推荐个数个推荐结果作为初次推荐结果序列,所述预设推荐个数小于或等于所述推荐结果序列中的推荐结果总数;属性查询模块303根据所述用户的身份信息在正反属性知识库预先存储的用户正反属性表中查询是否存储所述用户的属性和相反属性;当查询结果为是时,结果匹配模块304中的转化单元3041分别将所述初次推荐结果序列中的各个推荐结果、所述用户的属性和所述用户的相反属性转化为字符串;匹配单元3042分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的匹配度,且分别计算所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的匹配度;当查询结果为否时,属性获取模块308判断所述用户是否为所述当前推荐系统的注册用户;当判定结果为是时,从所述当前推荐系统的所述用户的注册信息中获取所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中;当判定结果为否时,生成一个信息采集窗口,采集所述用户的属性,根据所述用户的属性得到所述用户的相反属性,将所述用户的属性和相反属性存储在所述正反属性知识库中;结果删除模块305中的第一获取单元3051分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的属性转化的字符串的相同字符个数;第二获取单元3052分别获取所述初次推荐结果序列中的各个推荐结果转化的字符串与所述用户的相反属性转化的字符串的相同字符个数;删除单元3053删除所述初次推荐结果序列中与所述用户的属性转化的字符串的相同字符个数小于第一预设值且与所述用户的相反属性转化的字符串的相同字符个数大于第二预设值的推荐结果;最终推荐结果序列获取模块306根据所述初次推荐结果序列剩余的推荐结果得到最终推荐结果序列;序列输出模块307输出所述最终推荐结果序列。
[0145] 从以上描述可知,本发明个性化推荐系统,基于正反属性知识库,排除了与用户属性相矛盾的推荐结果,同时避免了对推荐结果的误删除,满足了用户的个性化推荐的需要,提高推荐的准确率,提高了用户对推荐结果的采纳率,提升了推荐系统对用户的价值。
[0146] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0147] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。