发明名称 基于空间相近性的推荐系统评分预测与推荐算法
摘要 本发明涉及一种基于空间相近性的推荐系统评分预测与推荐算法,将推荐系统中物品之间的相似度作为其在空间上布局的基础特征,并以其空间相近性进行物品相似作为选择依据,通过全面考察推荐系统商品、电影等物品之间的联系,借助物品网络在空间上的拓扑布局,实现更加精准的评分计算和推荐服务。提高了推荐系统推荐物品的多样性,并且使推荐的准确性得到提升。
申请公布号 CN106095978A 申请公布日期 2016.11.09
申请号 CN201610443878.1 申请日期 2016.06.20
申请人 上海理工大学 发明人 艾均;苏湛
分类号 G06F17/30(2006.01)I;G06Q30/06(2012.01)I 主分类号 G06F17/30(2006.01)I
代理机构 上海申汇专利代理有限公司 31001 代理人 吴宝根
主权项 一种基于空间相近性的推荐系统评分预测与推荐算法,其特征在于,具体包括如下步骤:1)建立当前推荐系统中的用户评分库:遍历当前用户,获得每个用户对所有电影的评分记录,列出其中部分用户评分数据;2)用下面公式将用户评分数据归一化:<maths num="0001"><math><![CDATA[<mrow><msub><mi>e</mi><mrow><mi>i</mi><mi>&alpha;</mi></mrow></msub><mo>=</mo><mfrac><mrow><mn>2</mn><mo>*</mo><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>i</mi><mi>&alpha;</mi></mrow></msub><mo>-</mo><msubsup><mi>r</mi><mi>i</mi><mi>min</mi></msubsup><mo>)</mo></mrow></mrow><mrow><msubsup><mi>r</mi><mi>i</mi><mi>max</mi></msubsup><mo>-</mo><msubsup><mi>r</mi><mi>i</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msubsup></mrow></mfrac><mo>-</mo><mn>1</mn></mrow>]]></math><img file="FDA0001022670990000011.GIF" wi="774" he="241" /></maths>其中r<sub>iα</sub>为用户Ui对物品a的评分,r<sub>i</sub><sup>max</sup>和r<sub>i</sub><sup>min</sup>代表用户Ui评分记录中的最高分和最低分,若最高分与最低分相等,可将归一化值赋为0,e<sub>iα</sub>∈[‑1,1],e<sub>iα</sub>为归一化后用户Ui对物品a的评分值;3):目标用户U<sub>i</sub>搜索物品a;4):计算物品之间的相似性,对于任意两个物品α和β,其相关性计算公式为:<maths num="0002"><math><![CDATA[<mrow><msub><mi>S</mi><mrow><mi>&alpha;</mi><mi>&beta;</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>k</mi><mi>&alpha;</mi></msub></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mfrac><mrow><msub><mi>a</mi><mrow><mi>i</mi><mi>&alpha;</mi></mrow></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>&beta;</mi></mrow></msub><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mo>|</mo><msub><mi>e</mi><mrow><mi>i</mi><mi>&alpha;</mi></mrow></msub><mo>-</mo><msub><mi>e</mi><mrow><mi>i</mi><mi>&beta;</mi></mrow></msub><mo>|</mo><mo>)</mo></mrow></mrow><msub><mi>k</mi><mi>i</mi></msub></mfrac></mrow>]]></math><img file="FDA0001022670990000012.GIF" wi="931" he="198" /></maths>其中m代表参与预测计算的用户数量,k<sub>α</sub>表示物品α的度,为用户对该物品评分的次数,k<sub>i</sub>表示用户Ui的度,为该用户评分过的物品的个数,s<sub>αβ</sub>表示物品α与物品β之间的相似度,a<sub>iα</sub>代表用户Ui是否对物品α评过分,其取值为1或0,a<sub>iα</sub>=1表示用户Ui对物品α评过分,a<sub>iα</sub>=0表示用户Ui没有对物品α评过分;5):以物品之间相关性s<sub>αβ</sub>作为物品之间关联的边,将物品作为节点构造网络,网络中只存在物品,不存在用户,边的权值为s<sub>αβ</sub>值;6):将所有物品均作为节点初始化置于空间(0,0)点,并在随后的算法步骤中分别调整每个节点在空间上的位置;7):分别计算物品两两之间的引力与斥力:计算斥力公式为:<maths num="0003"><math><![CDATA[<mrow><msub><mi>f</mi><mi>r</mi></msub><mo>=</mo><mi>c</mi><mfrac><mrow><msub><mi>D</mi><mi>a</mi></msub><msub><mi>D</mi><mi>b</mi></msub></mrow><msup><mi>d</mi><mn>2</mn></msup></mfrac></mrow>]]></math><img file="FDA0001022670990000021.GIF" wi="310" he="139" /></maths>其中c是可调节经验参数,可以影响拓扑布局的速度。d是物品a与物品b之间的空间距离,D<sub>a</sub>、D<sub>b</sub>是在步骤5)中构造的物品网络中物品a与物品b的度值;物品a与物品b的引力引力计算公式为:<maths num="0004"><math><![CDATA[<mrow><msub><mi>f</mi><mi>a</mi></msub><mo>=</mo><mo>-</mo><msub><mi>S</mi><mrow><mi>&alpha;</mi><mi>&beta;</mi></mrow></msub><mo>&CenterDot;</mo><mfrac><mi>e</mi><mrow><mi>D</mi><mi>a</mi></mrow></mfrac></mrow>]]></math><img file="FDA0001022670990000022.GIF" wi="387" he="125" /></maths>其中Da是物品a在网络中的度值,S<sub>αβ</sub>是物品a与b之间相关性,e是欧拉数;8):基于引力斥力计算结果,更新物品a与物品b在空间上的位置,新的坐标按照如下公式更新:x′<sub>a</sub>=x<sub>a</sub>+(x<sub>a</sub>‑x<sub>b</sub>+θ)·(f<sub>a</sub>+f<sub>r</sub>)y′<sub>a</sub>=y<sub>a</sub>+(y<sub>a</sub>‑y<sub>b</sub>+θ)·(f<sub>a</sub>+f<sub>r</sub>)x′<sub>b</sub>=x<sub>b</sub>‑(x<sub>a</sub>‑x<sub>b</sub>+θ)·(f<sub>a</sub>+f<sub>r</sub>)y′<sub>b</sub>=y<sub>b</sub>‑(y<sub>a</sub>‑y<sub>b</sub>+θ)·(f<sub>a</sub>+f<sub>r</sub>)其中x′<sub>a</sub>是物品a新的x轴坐标,x<sub>a</sub>是物品a在x轴上旧坐标,θ是一个常数,当x<sub>a</sub>‑x<sub>b</sub>≠0时,θ=0,x<sub>a</sub>‑x<sub>b</sub>=0时,θ=0.5,其他坐标含义类似;9):当(x<sub>a</sub>‑x<sub>b</sub>+θ)与(y<sub>a</sub>‑y<sub>b</sub>+θ)计算结果同时小于给定的ε,则判断物品a在空间的位置便固定下来,在空间上布局算法在所有物品固定之后结束,否则,重复执行步骤7)和8),完成在空间上的布局;10):完成空间上的布局后,对于目标用户Ui搜索或评分物品a,选定a在物品空间上坐标(x<sub>a</sub>,y<sub>a</sub>),以r为半径,选定a的n个邻居,不包含a,要求用户Ui对其中的每一个都评过分;11):依据下面公式对用户U<sub>i</sub>搜索或评分物品a进行预测:<maths num="0005"><math><![CDATA[<mrow><msubsup><mi>r</mi><mrow><mi>i</mi><mi>&alpha;</mi></mrow><mi>o</mi></msubsup><mo>=</mo><mover><msub><mi>r</mi><mi>&alpha;</mi></msub><mo>&OverBar;</mo></mover><mo>+</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>&beta;</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>&lsqb;</mo><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>i</mi><mi>&beta;</mi></mrow></msub><mo>-</mo><mover><msub><mi>r</mi><mi>&beta;</mi></msub><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>*</mo><msub><mi>s</mi><mrow><mi>&beta;</mi><mi>&alpha;</mi></mrow></msub><mo>&rsqb;</mo></mrow><mrow><munderover><mo>&Sigma;</mo><mrow><mi>&beta;</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>s</mi><mrow><mi>&beta;</mi><mi>&alpha;</mi></mrow></msub></mrow></mfrac></mrow>]]></math><img file="FDA0001022670990000023.GIF" wi="790" he="318" /></maths>其中<img file="FDA0001022670990000024.GIF" wi="67" he="93" />和<img file="FDA0001022670990000025.GIF" wi="67" he="95" />分别是物品a与物品β的历史平均评分,n是物品a的邻居个数,<img file="FDA0001022670990000026.GIF" wi="62" he="87" />是用户Ui对物品a的预测评分值,r<sub>iβ</sub>为用户Ui对物品β的评分,β属于物品a的n个邻居;12):将a的n个邻居中,评分预测最高的p项推荐给用户Ui。
地址 200093 上海市杨浦区军工路516号