CN101568013A - 信息处理设备及方法以及程序 - Google Patents

信息处理设备及方法以及程序 Download PDF

Info

Publication number
CN101568013A
CN101568013A CNA2009101336894A CN200910133689A CN101568013A CN 101568013 A CN101568013 A CN 101568013A CN A2009101336894 A CNA2009101336894 A CN A2009101336894A CN 200910133689 A CN200910133689 A CN 200910133689A CN 101568013 A CN101568013 A CN 101568013A
Authority
CN
China
Prior art keywords
evaluation
estimator
candidate
estimate
user
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
Application number
CNA2009101336894A
Other languages
English (en)
Other versions
CN101568013B (zh
Inventor
小林由幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN101568013A publication Critical patent/CN101568013A/zh
Application granted granted Critical
Publication of CN101568013B publication Critical patent/CN101568013B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了信息处理设备及方法以及程序。所述信息处理设备包括:候选生成单元,其使用表示多个用户针对多个内容的评价的评价值的用户评价矩阵来生成作为用于对用户针对内容的评价进行估计的估计式的候选的多个估计式候选;估计结果计算单元,其利用各个所述估计式候选来对所述用户评价矩阵进行计算,以生成由作为对评价值的估计值的预测评价值所构成的估计结果;以及估计式选择单元,在使用多个估计结果并且多个估计式候选用作估计式的情况下,该估计式候选单元获得用于获得最终估计结果的线性组合系数,并选择评价最高的估计式候选及线性组合系数作为下一代的估计式及线性组合系数。

Description

信息处理设备及方法以及程序
技术领域
本发明涉及信息处理设备及方法以及程序,具体地说,涉及一种适合于在向用户推荐内容的情况下使用的信息处理设备及方法以及程序。
背景技术
迄今为止,已存在根据用于利用协同过滤算法来对用户针对预定内容的评价进行估计的现有技术的技术。
对于利用这种协同过滤算法的信息处理设备,已存在通过使用与关注用户相似的其他用户对内容的观看和收听历史来对该关注用户针对各内容的评价进行估计从而进行协同过滤处理的信息处理设备(例如,参见日本未审专利申请第2005-167628号公报)。利用该信息处理设备,在估计出的对各个内容的评价中,将评价最高的内容作为关注用户的喜好推荐给该用户。
发明内容
顺便提及的是,迄今为止,人们已建立了上述协同过滤算法。因此,用于提高对针对内容的评价的估计精度的工作是重复试错,因此,花费了很多精力来建立协同过滤算法。
并且,在向协同过滤算法中加入修改的情况下(例如,在添加新的类型的内容作为用于对内容的评价进行估计的内容的情况下),要花费更多的精力来修改协同过滤算法。
这样,花费了很多精力和时间来建立协同过滤算法,而且相应的是,提高对用户针对内容的评价的估计精度并不容易。
已认识到,需要使得能够容易地建立用于对用户针对内容的评价进行估计的算法。
根据本发明的实施例,提供了一种信息处理设备,该信息处理设备基于利用使用由表示多个用户中的各用户针对多个评价对象中的各评价对象的评价的评价值所构成的评价矩阵的计算来估计所述评价值的、由包括用于进行协同过滤的计算的算子在内的多个算子所构成的估计式,来生成最新用于对包括在所述评价对象中的未经所述用户评价的未经评价对象的所述评价值进行估计的所述估计式,该信息处理设备包括:估计式候选生成单元,其被构造成,将所述估计式作为是最新用于对所述未经评价对象的所述评价值进行估计的所述估计式的候选的估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式,作为所述估计式候选;估计结果生成单元,其被构造成,基于所述估计式候选及所述评价矩阵,针对所述估计式候选中的各估计式候选,对所述评价矩阵中的、所述用户中的各用户针对所述多个评价对象中的各评价对象的所述评价值进行估计,以生成由作为所估计出的评价值的预测评价值所构成的估计结果;评价单元,其被构造成基于所述估计结果及所述评价矩阵来计算对所述估计式候选的所述评价;以及选择单元,其被构造成,选择所述估计式候选中的、由所述评价单元所计算出的所述评价最高的估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式。
可以通过将基于所述估计式及所述评价矩阵而估计出的、所述未经评价对象的所述预测评价值乘以预定系数,来获得所述未经评价对象的所述评价值的最终估计结果,其中,所述评价单元包括:系数计算单元,其被构造成,通过使用所述估计结果及所述评价矩阵来获得在使用所述估计式候选作为所述估计式的情况下的所述系数;以及信息量基准计算单元,其被构造成计算信息量基准作为对所述估计式候选及所述系数的评价,并且其中,所述选择单元选择所述估计式候选及所述系数中的、基于所述信息量基准的评价最高的估计式候选以及所述系数,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式及所述系数。
可以通过使用所述系数对利用多个所述估计式而获得的、所述未经评价对象的所述预测评价值中的各预测评价值进行线性组合,来获得所述未经评价对象的所述评价值的所述最终估计结果,其中,所述估计式候选生成单元将所述多个估计式作为所述估计式候选,并生成其中所述多个估计式中的一些估计式的一部分被修改的新的估计式以及任意新的估计式,作为所述估计式候选,其中,所述系数计算单元将多个所述估计结果中的一些估计结果作为使用估计结果,并通过使用所述使用估计结果及所述评价矩阵来获得在使用作为用于生成所述使用估计结果的所述估计式候选的使用估计式候选作为所述估计式的情况下的所述系数,并且其中,所述选择单元选择所述使用估计式候选及所述系数中的、基于所述信息量基准的评价最高的使用估计式候选及所述系数,作为最新用于对所述未经评价对象的所述评价值进行估计的多个所述估计式及所述系数。
所述系数计算单元可以使用在属于多个组中的一个组的多个用户中的、属于与所述组相同的组的用户的所述评价值及所述预测评价值,来获得用于所述多个组中的各组的所述系数。
根据本发明的实施例,提供了一种信息处理方法或程序,该信息处理方法或程序基于利用使用由表示多个用户中的各用户针对多个评价对象中的各评价对象的评价的评价值所构成的评价矩阵的计算来估计所述评价值的、由包括用于进行协同过滤的计算的算子在内的多个算子所构成的估计式,来生成最新用于对包括在所述评价对象中的未经所述用户评价的未经评价对象的所述评价值进行估计的所述估计式,该信息处理方法或程序包括以下步骤:将所述估计式作为是最新用于对所述未经评价对象的所述评价值进行估计的所述估计式的候选的估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选;基于所述估计式候选及所述评价矩阵,针对所述估计式候选中的各估计式候选,对所述评价矩阵中的、所述用户中的各用户针对所述多个评价对象中的各评价对象的所述评价值进行估计,以生成由作为所估计出的评价值的预测评价值所构成的估计结果;基于所述估计结果及所述评价矩阵来计算对所述估计式候选的评价;以及选择所述估计式候选中的、所计算出的评价最高的估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式。
通过利用上述结构,利用以下信息处理:该信息处理基于利用使用由表示多个用户中的各用户针对多个评价对象中的各评价对象的评价的评价值所构成的评价矩阵的计算来估计所述评价值的、由包括用于进行协同过滤的计算的算子在内的多个算子所构成的估计式,来生成最新用于对包括在所述评价对象中的未经所述用户评价的未经评价对象的所述评价值进行估计的所述估计式,将所述估计式作为是最新用于对所述未经评价对象的所述评价值进行估计的所述估计式的候选的估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选,基于所述估计式候选及所述评价矩阵,针对所述估计式候选中的各估计式候选,对所述评价矩阵中的、所述用户中的各用户针对所述多个评价对象中的各评价对象的所述评价值进行估计,以生成由作为所估计出的评价值的预测评价值所构成的估计结果,基于所述估计结果及所述评价矩阵来计算对所述估计式候选的评价,并选择所述估计式候选中的、所计算出的评价最高的估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式。
根据本发明的实施例,可以更容易地建立用于对用户针对内容的评价进行估计的算法。
附图说明
图1是描述对其应用了本发明的实施例的内容推荐系统的概要的图;
图2是描述对其应用了本发明的实施例的内容推荐系统的概要的图;
图3是例示内容推荐系统的结构示例的框图;
图4是例示预测评价值计算单元的更详细的结构示例的框图;
图5是例示学习单元的更详细的结构示例的框图;
图6是描述对用户评价矩阵的更新处理的流程图;
图7是例示估计式的示例的图;
图8是例示算子的示例的图;
图9A至图9C是例示估计式的示例的图;
图10是描述推荐处理的流程图;
图11是描述算子的计算的具体示例的图;
图12是描述算子的计算的具体示例的图;
图13是描述算子的计算的具体示例的图;
图14是描述算子的计算的具体示例的图;
图15是描述算子的计算的具体示例的图;
图16是描述算子的计算的具体示例的图;
图17是描述临时预测矩阵的生成的图;
图18是描述用户预测矩阵的生成的图;
图19是描述学习处理的流程图;
图20是描述对用户的分组的图;
图21是描述估计候选生成处理的流程图;
图22A至图22F是描述突变处理的示例的图;
图23是描述交叉处理的示例的图;
图24是描述估计处理的流程图;
图25是描述估计式候选的计算的图;
图26是描述估计结果的生成的图;
图27是描述估计式选择处理的流程图;以及
图28是例示计算机的结构示例的框图。
具体实施方式
下面将参照附图来描述对其应用了本发明的实施例。首先,将参照图1及图2来描述对其应用了本发明的实施例的内容推荐系统的概要。
对于该内容推荐系统,例如,如图1所示,预先登记了多个用户及多个内容。注意到,在图1中,水平方向上的C1至CM表示内容,垂直方向上的U1至UN表示用户。也就是说,对于该内容推荐系统,预先登记了M个内容C1至CM以及N个用户U1至UN。各用户对已登记的内容中的一些内容输入表示他对该内容的评价的评价值。例如,假设对内容的评价被分类成很厌恶、厌恶、既不厌恶也不喜好、喜好、很喜好五级,而且表示各个评价的从1至5的数值被输入作为评价值。这里,假设评价值越大,用户针对内容的评价越高。
例如,在图1中,用户U4已针对内容C1及内容C5进行了评价,并输入“5”作为对内容C5的评价值。也就是说,可以看到,用户U4针对内容C5的评价很高。注意到,用作用户的评价对象的内容可以是任意种类的对象,例如,诸如运动图像或书籍之类的对象,只要该对象是基于用户的偏好而被评价的评价对象即可。
这样,在各用户输入了针对内容的评价值时,获得表示各用户针对内容的评价值的信息。这样获得的表示各用户针对内容的评价值的信息作为用户评价矩阵而被保持在内容推荐系统处。
在获得了用户评价矩阵时,内容推荐系统基于用户评价矩阵中的先前输入的评价值来预测(估计)尚未被输入的对内容的评价值,并生成由通过预测而获得的预测评价值及先前输入的评价值所构成的预测评价矩阵。
这里,先前输入的评价值是指由用户所输入的评价值。例如,在图1中,已输入“1”作为用户U1针对内容C1的评价值,将该评价值“1”作为先前输入的评价值。并且,对于下面的描述,将用户未输入的评价值(即,图1中的空白栏中的值)称作未被输入的评价值。例如,实际上未输入用户U2针对内容C1的评价值,因此该评价值不存在,但是将未被输入的、用户U2针对内容C1的评价值称作未被输入的评价值。
这样,内容推荐系统对用户评价矩阵内的未被输入的评价值进行预测,并获得作为其预测结果的预测评价值,由此获得由预测评价值及先前输入的评价值所构成的预测评价矩阵。这样,例如,根据图1中的用户评价矩阵而获得图2中所示的预测评价矩阵。注意,在图2中,阴影栏内的评价值表示预测评价值。例如,对于图2中的预测评价矩阵,用户U2针对内容C1的评价值被设定成通过预测而获得的预测评价值“2”。
在获得了关于用户评价矩阵中的各空白栏中的值(即,未被输入的评价值)的预测评价值并获得了预测评价矩阵时,内容推荐系统提供表示被估计作为用户的喜好的内容的预定用户信息以推荐该内容。
例如,在向用户U2推荐内容的情况下,内容推荐系统将已登记的内容中的预测评价值最大的内容推荐给用户U2。也就是说,在内容C1至内容CM中,将用户U2针对其的预测评价值为最大值“5”的内容C5估计作为该用户的喜好内容,并将该内容推荐给用户U2。
这样,构造成用于根据用户评价矩阵来获得预测评价矩阵以向用户推荐内容的推荐系统,例如,如图3所示。在图3中,内容推荐系统由接口处理设备11及推荐设备12构成,并且接口处理设备11与推荐设备12彼此相互连接。
用户操作接口处理设备11,接口处理设备11进行针对用户的接口处理。例如,接口处理设备11将由用户所输入的评价值提供给推荐设备12,或者显示从推荐设备12提供的、指示推荐给用户的内容的信息。
推荐设备12基于从接口处理设备11提供的评价值来生成用户评价矩阵,基于该用户评价矩阵来生成预测评价矩阵,并向用户推荐内容。推荐设备12包括输入接受单元21、用户评价矩阵保持单元22、学习单元23、估计式保持单元24、预测评价值计算单元25、预测评价矩阵保持单元26及推荐单元27。
输入接受单元21接受用户的评价值的输入。也就是说,输入接受单元21将从接口处理设备11提供的评价值提供给用户评价矩阵保持单元22。用户评价矩阵保持单元22基于从输入接受单元21提供的评价值来生成用户评价矩阵,并保持该用户评价矩阵。更具体地说,每次从输入接受单元21提供评价值时,用户评价矩阵保持单元22使用所提供的评价值来对所保持的用户评价矩阵进行更新。并且,用户评价矩阵保持单元22将所保持的用户评价矩阵提供给学习单元23及预测评价值计算单元25。
学习单元23使用从用户评价矩阵保持单元22提供的用户评价矩阵来生成在根据该用户评价矩阵而生成预测评价矩阵时所使用的估计式及线性组合系数,并将所述估计式及线性组合系数提供给估计式保持单元24。利用学习单元23,生成各用户的一个或多个估计式及线性组合系统。估计式保持单元24保持从学习单元23提供的估计式及线性组合系数,并将所保持的估计式及线性组合系数提供给预测评价值计算单元25。
预测评价值计算单元25使用来自用户评价矩阵保持单元22的用户评价矩阵以及来自估计式保持单元24的估计式及线性组合系数来计算针对用户评价矩阵中的未被输入的评价值的预测评价值,并将该预测评价值提供给预测评价矩阵保持单元26。
预测评价矩阵保持单元26基于来自预测评价值计算单元25的预测评价值来生成预测评价矩阵,保持该预测评价矩阵,并将所保持的预测评价矩阵提供给推荐单元27。推荐单元27基于从预测评价矩阵保持单元26提供的预测评价矩阵来搜索要推荐给预定用户的内容,并将表示作为其结果而获得的内容的推荐信息提供给接口处理设备11。
图4是例示图3中的预测评价值计算单元25的详细结构示例的框图。预测评价值计算单元25包括临时预测单元51及预测单元52,从用户评价矩阵保持单元22及估计式保持单元24向临时预测单元51提供用户评价矩阵及估计式,从估计式保持单元24向预测单元52提供线性组合系数。
这里,估计式是用于执行用于例如利用协同过滤算法来获得对未被输入的评价值的预测评价值的计算的算术表达式。换言之,将用于利用使用协同过滤算法的预定估计方法来获得预测评价值的算术表达式作为估计式。并且,与估计式相对应的、各用户的线性组合系数是在对根据多个估计式的预测结果进行线性组合时所使用的系数。
临时预测单元51使用所提供的用户评价矩阵及估计式来计算对用户评价矩阵中的未被输入的评价值的临时预测评价值,并将该临时预测评价值提供给预测单元52。更具体地说,临时预测单元51将与用户评价矩阵相同的矩阵(信息)作为临时预测矩阵,并使用估计式来进行针对该临时预测矩阵的计算。接着,临时预测单元51将由临时预测矩阵中的、一个用户针对各内容的评价值所构成的信息作为临时用户预测矩阵。
因此,临时用户预测矩阵由一个用户针对内容的先前输入的评价值及临时预测评价值所构成,临时预测矩阵由各用户的临时用户预测矩阵所构成。
例如,如果假设提供了图1中的用户评价矩阵,则临时预测单元51使用一个估计式Fk来获得关于用户U1的未被输入的评价值(即,关于内容C3及内容C5至CM)的、用户U1的临时预测评价值。接着,临时预测单元51将由内容C1、内容C2及内容C4的先前输入的评价值以及对内容C3及内容C5至内容CM的临时预测评价值所构成的信息作为针对估计式Fk的、用户U1的临时用户预测矩阵而提供给预测单元52。
因此,例如,在向临时预测单元51提供K个估计式F1至FK的情况下,从临时预测单元51向预测单元52提供关于用户U1至用户UN中的各用户而获得的、针对各估计式Fk(其中,1≤k≤K)的临时用户预测矩阵Tnk(其中,1≤k≤K,1≤n≤N)。也就是说,向预测单元52提供总共N×K个临时用户预测矩阵Tnk。
预测单元52使用来自临时预测单元51的临时预测评价值以及从估计式保持单元24提供的线性组合系数来获得最终预测评价值,并将该最终预测评价值提供给预测评价矩阵保持单元26。更具体地说,预测单元52通过使用针对各用户的线性组合系数来对各用户的临时用户预测矩阵进行线性组合,并将作为其结果而获得的用户预测矩阵提供给预测评价矩阵保持单元26。
例如,利用用户Un的线性组合系数来对关于用户Un(其中,1≤n≤N)而获得的K个临时用户预测矩阵Tn1至Tnk进行线性组合,由此提供用户Un的用户预测矩阵An。接着,将关于N个用户而获得的总共N个用户预测矩阵A1至AN提供给预测评价矩阵保持单元26,并生成由这些用户预测矩阵所构成的预测评价矩阵。
接下来,图5是示出了图3中的学习单元23的更详细的结构示例的框图。学习单元23利用遗传程序设计来生成更适合于生成预测评价矩阵的估计式及线性组合系数。换言之,学习单元23利用遗传程序设计,使用协同过滤算法来对估计式及线性组合系数进行最优化,由此建立用于以节省劳力的方式将被估计作为用户的喜好的内容推荐给用户的推荐算法。
学习单元23由候选生成单元91、估计结果计算单元92、组生成单元93及估计式选择单元94构成,并且来自用户评价矩阵保持单元22的用户评价矩阵被提供给评价结果计算单元92、组生成单元93及估计式选择单元94。
候选生成单元91使用从估计式选择单元94提供的K个估计式F1至FK来生成作为新的估计式候选的估计式候选J1至估计式候选JS(其中,K≤S),并将这些估计式候选提供给估计结果计算单元92。也就是说,候选生成单元91使用遗传程序设计根据前一代的估计式来生成作为下一代的估计式候选的S个估计式候选。候选生成单元91包括突变处理单元111、交叉处理单元112及随机处理单元113。
突变处理单元111通过使用从估计式选择单元94提供的估计式来进行突变处理,由此生成估计式候选。这里,突变处理是指用于通过修改一个估计式的一部分来生成一个新的估计式的处理。
交叉处理单元112使用从估计式选择单元94提供的估计式来进行交叉处理,由此生成估计式候选。这里,交叉处理是指用于通过将一个估计式的一部分改变成另一估计式的一部分来生成一个新的估计式的处理。也就是说,利用交叉处理,一个估计式的一部分被另一估计式的一部分替代。
随机处理单元113进行随机处理,由此生成估计式候选。这里,随机处理是指用于通过对随机地选择出的算子进行组合来生成一个新的估计式的处理。也就是说,根据随机处理,在根本不使用前一代的估计式的情况下生成任意的新的估计式候选。
候选生成单元91将包括从估计式选择单元94提供的前一代的估计式以及通过突变处理、交叉处理及随机处理而生成的新的估计式的总共S个估计式作为估计式候选而提供给估计结果计算单元92。
估计结果计算单元92使用从用户评价矩阵保持单元22提供的用户评价矩阵以及从候选生成单元91提供的估计式候选,针对各估计式候选Js(其中,1≤s≤S),对用户评价矩阵中的评价值进行估计,并将其估计结果Hs(其中,1≤s≤S)提供给估计式选择单元94。
也就是说,估计结果计算单元92将与用户评价矩阵相同的矩阵(信息)作为针对一个估计式候选的(矩阵的)估计结果,并使用该估计式候选来对估计结果(用户评价矩阵)中的、各用户针对各内容的评价值进行估计。接着,估计结果计算单元92将其中通过估计而获得各评价值的估计结果作为针对所使用的估计式候选的最终估计结果。因此,从估计结果计算单元92向估计式选择单元94提供估计式候选数量的估计结果。
组生成单元93使用从用户评价矩阵保持单元22提供的用户评价矩阵来对预先登记的用户U1至用户UN进行分组,并将表示各用户组以及属于该用户组的用户的组信息提供给估计式选择单元94。
例如,根据需要,将作为表示各用户的年龄、性别、地址、喜好类型等的信息的用户配置文件(user profile)提供给组生成单元93。组生成单元93使用根据需要而提供的用户配置文件,按照使得用户U1至用户UN中的各用户属于预定用户组G1至GQ中的一个用户组的方式来进行分组。
估计式选择单元94使用来自用户评价矩阵保持单元22的用户评价矩阵、来自估计结果计算单元92的估计结果Hs以及来自组生成单元93的用户组信息来生成下一代的估计式及线性组合系数,并将所述估计式及线性组合系数提供给候选生成单元91及估计式保持单元24。
估计式选择单元94包括组合系数计算单元114、评价单元115及选择单元116。
组合系数计算单元114假定,选择S个估计结果中的一些估计结果,并将用于获得所选择的估计结果中的各估计结果的估计式候选的各组合用作估计式。接着,组合系数计算单元114使用所提供的用户评价矩阵、估计结果及用户组信息来获得在将估计式候选的组合作为估计式的情况下的针对各用户组的线性组合系数,作为是线性组合系数候选的线性组合系数。
评价单元115对于利用组合系数计算单元114而获得的线性组合系数候选以及估计式候选的组合,获得针对估计式候选及线性组合系数候选的评价。也就是说,这些估计式候选及线性组合系数候选越适合于生成预测评价矩阵,其评价越高。例如,计算信息量基准作为针对估计式候选及线性组合系数候选的评价指标。
选择单元116选择估计式候选的组合及线性组合系数候选中的、评价最高的估计式候选的组合及线性组合系数候选,并使用所述估计式候选的组合及线性组合系数候选作为下一代的估计式及线性组合系数。
估计式选择单元94将由选择单元116所选择出的下一代的估计式及线性组合系数提供给候选生成单元91及估计式保持单元24。这里,下一代的估计式的数量K不必成为某个固定的数,相应的是,数量K对于每一代从1变动到上限Kmax。
顺便提及,当预先登记在内容推荐系统中的用户Un(其中,1≤n≤N)操作接口处理设备11以输入针对预定内容Cm(其中,1≤m≤M)的评价值时,从接口处理设备11向输入接受单元21提供所输入的评价值。然后,推荐设备12开始用于更新用户评价矩阵的用户评价矩阵更新处理。下面将参照图6中的流程图来对推荐设备12的用户评价矩阵更新处理进行描述。
在步骤S11中,输入接受单元21获得由用户所输入的评价值。接着,输入接受单元21将所获得的评价值提供给用户评价矩阵保持单元22。
在步骤S12中,用户评价矩阵保持单元22基于从输入接受单元21提供的评价值来对所保持的用户评价矩阵进行更新,然后用户评价矩阵更新处理结束。例如,在用户评价矩阵保持单元22保持图1中所示的用户评价矩阵、并且从输入接受单元21提供用户U1针对内容C3的评价值的情况下,用户评价矩阵保持单元22将所提供的评价值写入所保持的用户评价矩阵中的由用户U1及内容C3所确定的栏中,以更新用户评价矩阵。
这样,推荐设备12对所保持的用户评价矩阵进行更新。因此,每次用户输入评价值时更新用户评价矩阵,从而可以获得更可靠的预测评价矩阵。
利用预测评价值计算单元25,通过使用在适当时这样地更新的用户评价矩阵以及来自估计式保持单元24的估计式及线性组合系数来对预测评价值进行计算。
顺便提及,例如,用于计算预测评价值的估计式由用于利用基本算法来进行计算的算子构成(即,用于对用户针对内容的评价进行估计的算子的组合),如图7所示。并且,估计式中包含至少一个用于进行协同过滤的计算(即,根据协同过滤算法的计算)的算子。
图7中所示的估计式的部分W11至部分W14中的各部分均包含一个算子,并且该估计式由这些算子的组合所构成。例如,部分W11包含处理轴参数“U#”及算子“NormalizeAvg”。
这里,处理轴参数是指用于确定用户评价矩阵(临时预测矩阵)中的评价值(先前输入的评价值及未被输入的评价值中的至少任一评价值)中的要被处理的评价值的信息。也就是说,处理轴参数“U#”表示将同一用户的评价值作为处理对象。例如,用户U1针对内容C1至内容CM的评价值成为处理对象。并且,算子“NormalizeAvg”表示利用用户评价矩阵中的评价值的平均值来对评价值进行正则化。
估计式的部分W12包含表示将针对同一内容的评价值作为处理对象的处理轴参数“C#”,以及表示利用评价值的平均值来填充用户评价矩阵(临时预测矩阵)中的空白栏(即,未被输入的评价值的栏)的算子“FillAvg”。
并且,估计式的部分W13包含表示在将同一用户的评价值作为处理对象之后进一步将针对同一内容的评价值作为处理对象的处理轴参数“U#;C#”,以及用于根据按照皮尔森相关性的降序的八个用户的评价值来计算预测评价值的算子“CF-Pearson(8)”。该算子执行的使用皮尔森相关性的计算是协同过滤算法的典型示例。
注意,算子“CF-Pearson(8)”中的数字“8”表示以下参数:该参数表示该算子的算术处理中的变量的值。也就是说,这里,参数“8”表示使用八个用户的评价值。
此外,估计式的部分W14包含表示获得各评价值的平方根的算子“Sqrt”。
这样,对于由多个算子所构成的估计式,按照从图中的左侧算子至右侧算子的顺序来进行计算。也就是说,根据图7中所示的估计式,首先,针对各用户对用户评价矩阵(临时预测矩阵)中的先前输入的评价值进行正则化,并将针对各内容的评价值的平均值作为针对该内容的未被输入的评价值。接着,获得用户之间的皮尔森相关性,并且针对各用户,根据该用户的评价值,以及皮尔森相关性最高的八个用户,来获得该用户的未被输入的评价值,最后,获得各评价值的平方根,并将所获得的值作为最终的先前输入的评价值或预测评价值。
这样,在一些情况下,根据估计式中所包含的算子,通过该算子的算术处理来对用户评价矩阵(临时预测矩阵)中的先前输入的评价值进行处理。
并且,对于估计式中所包含的算子,例如,可以构想图8中所示的算子。在图8中,在左侧的算子名称栏中示出了算子,在右侧的处理内容栏中示出了由左侧栏中的算子所表示的计算的处理内容。
具体地说,算子“NormalizeMaxMin”是用于利用最大值及最小值来对评价值进行正则化的算子,算子“NormalizeAvg”是用于利用评价值的平均值来对评价值进行正则化的算子。
并且,算子“FillMax”是用于用评价值的最大值来填充用户评价矩阵中的空白栏的算子,算子“FillMin”是用于用评价值的最小值来填充用户评价矩阵中的空白栏的算子。此外,算子“FillMedian”是用于用评价值的中间值来填充用户评价矩阵中的空白栏的算子,算子“FillAvg”是用于用评价值的平均值来填充用户评价矩阵中的空白栏的算子。
此外,算子“CF-Correl(num)”是将从根据余弦距离的相关性最高起的num个评价值的平均值作为预测评价值的算子,算子“CF-Pearson(num)”是将从皮尔森相关性最高起的num个评价值的平均值作为预测评价值的算子。此外,算子“CF-Euclid(num)”是将从欧几里德距离最近起的num个评价值的平均值作为预测评价值的算子。这里,算子“CF-Correl(num)”、“CF-Pearson(num)”及“CF-Euclid(num)”中的“num”表示一参数。
并且,存在用于进行与指数函数有关的计算的算子,例如,用于计算对数的算子“log”、用于计算指数函数的算子“Exp”、用于计算平方根的算子“Sqrt”等。此外,还存在用于进行三角函数的计算的算子,例如,用于计算正弦函数的算子“Sin”、用于计算余弦函数的算子“Cos”、用于计算正切函数的算子“Tan”等。
假设,对于用于填充用户评价矩阵(临时预测矩阵Tk或估计结果Hs)中的空白栏的算子的计算(即,用于获得对未被输入的评价值的预测评价值的算子的计算),要被计算的栏中的评价值不被用来进行用于获得该栏的预测评价值的计算。
作为可以通过组合这些算子来获得的估计式的另一示例,例如,存在图9A至图9C中所示的估计式。
对于图9A中所示的估计式,首先,在针对各用户而将用户评价矩阵(临时预测矩阵)中的评价值正则化成从0至1的值之后,对各评价值进行正弦函数的计算,由此获得用户之间的余弦距离。接着,在评价了内容Cm的用户中,将根据针对要被处理的用户的余弦距离的相关性最高的一个用户针对内容Cm的评价值作为要被处理的用户针对内容Cm的预测评价值。
并且,对于图9B中所示的估计式,在用户已评价的内容中,选择根据针对要被处理的内容的欧几里德距离的相关性最高的三个内容,并将该用户针对所选择的内容的评价值的平均值作为针对要被处理的内容的预测评价值。
此外,对于图9C中所示的估计式,对用户评价矩阵(临时预测矩阵)中的各评价值进行对数函数的计算,针对各内容而获得各用户针对该内容的评价值的平均值,并将所获得的平均值作为该内容的预测评价值。
推荐设备12使用上述估计式及线性组合系数来获得对用户评价矩阵中的未被输入的评价值的预测评价值,由此推荐设备12可以向各用户推荐内容。
例如,推荐设备12定期地或者根据来自接口处理设备11的指令来进行推荐处理,以生成表示要推荐给用户的内容的推荐信息。下面将参照图10中的流程图来描述推荐设备12的推荐处理。
在步骤S41中,预测评价值计算单元25将用于确定从估计式保持单元24提供的估计式Fk(其中,1≤k≤K)的估计式参数k设定成1。也就是说,在估计参数k被设定成1时,估计式参数k=1确定估计式F1,从而将估计式F1用于该处理。
在步骤S42中,临时预测单元51将从用户评价矩阵保持单元22提供的用户评价矩阵中的评价值代入表示用户U1至用户UN针对内容的评价值的临时预测矩阵Tk。也就是说,将与用户评价矩阵相同的信息(矩阵)作为针对估计式Fk的临时预测矩阵Tk(其中,1≤k≤K)。例如,在估计式参数k=1的情况下,将与用户评价矩阵相同的信息作为针对估计式F1的临时预测矩阵T1。
在步骤S43中,临时预测单元51选择构成被选定作为用于该处理的估计式的估计式Fk的一个算子。例如,在提供图7中所示的估计式作为估计式Fk的情况下,在图7中,从左侧算子至右侧算子顺序地选择算子。因此,例如,对于图7中的估计式,首先选择算子“NormalizeAvg”。
在步骤S44中,临时预测单元51对临时预测矩阵Tk进行由所选择的算子所表示的算术处理。
在步骤S45中,临时预测单元51确定是否对于用于该处理的估计式Fk(即,由估计式参数k所确定的估计式Fk)而进行了构成估计式Fk的所有算子的算术处理。
在步骤S45中确定未进行所有算子的算术处理的情况下(即,在未选择所有的算子的情况下),处理返回到步骤S43,并重复上述处理。具体地说,选择构成估计式Fk的下一算子,并进行该算子的算术处理。
另一方面,在步骤S45中确定进行了所有算子的算术处理的情况下,已通过使用用于该处理的估计式Fk而进行了针对临时预测矩阵Tk的计算,因而临时预测单元51将通过使用估计式Fk而对其进行了算术处理的临时预测矩阵Tk提供给预测单元52。接着,处理进行到步骤S46。
具体地说,例如,如果假设选择了图7中的估计式Fk,则这意味着顺序地选择了估计式Fk中所包含的四个算子来进行针对临时预测矩阵Tk的计算。
更具体地说,如果假设提供图1中的用户评价矩阵,并选择了图7中所示的估计式Fk,则如图11中的左侧所示,与图1中的用户评价矩阵相同的信息被作为临时预测矩阵Tk。接着,对临时预测矩阵Tk进行图7中的部分W11中所包含的算子的计算,针对各用户,按照使得该用户针对各内容的评价值的平均值变成1的方式来对评价值进行正则化。这样,获得图11的右侧所示的临时预测矩阵Tk。
例如,在关注正则化之前的临时预测矩阵Tk中的用户U1时,用户U1分别地对内容C1、内容C2及内容C4输入评价值“1”、“2”及“4”。然后,临时预测单元51按照使得针对内容C1、内容C2及内容C4的评价值的平均值变成1的方式来对这些内容的评价值进行正则化。
这样,例如,如图11中的右侧所示,在算子的计算之后,获得评价值“0.43” ( 0.43 ≅ 1 × 3 / ( 1 + 2 + 4 ) ) 作为用户U1针对内容C1的评价值。
这样,在进行了图7中的估计式Fk的部分W11中所包含的算子的计算时,接下来,选择部分W12中所包含的算子,并且如图12所示,对临时预测矩阵Tk进行该算子的计算。
也就是说,用针对各个内容的评价值的平均值来填充图12的左侧所示的、其评价已被正则化的临时预测矩阵Tk中的空白栏,由此获得图中的右侧所示的临时预测矩阵Tk。例如,注意到,对于正则化的临时预测矩阵Tk中的内容C1,用户U1、用户U4及用户U6已进行了评价,其评价值为“0.43”、“0.89”及“0.57”。
因此,临时预测单元51获得这些评价值的平均值,并将临时预测矩阵Tk中的对针对内容C1的评价值中的未被输入的评价值的预测评价值设定成所获得的平均值“0.63” ( 0.63 ≅ ( 0.43 + 0.89 + 0.57 ) ÷ 3 ) . 这样,如图中的右侧所示,除了用户U1、用户U4及用户U6之外的所有其他用户针对内容C1的评价栏填充了预测评价值“0.63”。注意,对于图12中的右侧所示的临时预测矩阵Tk,阴影栏表示填充了针对未被输入的评价值的预测评价值的栏。
在进行了部分W12的计算时,进一步选择部分W13中所包含的算子,对临时预测矩阵Tk进行所选择的算子的计算。也就是说,首先,针对各内容,计算已针对该内容进行了评价的用户之间的皮尔森相关性。
例如,假设作为填充临时预测矩阵中的空白栏的结果,获得了图13中所示的临时预测矩阵。注意,在图13中,阴影栏表示填充了针对未被输入的评价值的预测评价值的栏。假设临时预测单元51对临时预测矩阵内的、用户U2针对内容C1的评价(预测评价值)感兴趣,并获得了用户U2与已针对内容C1进行了评价的另一用户之间的皮尔森相关性。
在这种情况下,输入了对内容C1的评价值的用户为U1、U4及U6,因此获得这些用户与用户U2之间的皮尔森相关性。例如,在获得用户U1与用户U2之间的皮尔森相关性的情况下,使用用户U1针对内容C2至内容CM的评价值(先前输入的评价值或预测评价值)以及用户U2针对内容C2至内容CM的评价值来获得皮尔森相关性。
在图13中,如图中的右侧所示,获得分别表示用户U2与用户U1之间、用户U2与用户U4之间以及用户U2与用户U6之间的皮尔森相关性的程度的相关值“0.593014”、“0.83773”及“0.761491”。
对于各用户,关于该用户未针对其进行评价的内容,在获得了该用户与已针对该内容进行了评价的其他用户之间的皮尔森相关性时,临时预测单元51基于所获得的相关值来对评价值进行排序。具体地说,对于各用户,关于该用户未针对其进行评价的内容,临时预测单元51按相关值的降序来对其他用户的评价值进行排序。
例如,在关注用户U2针对内容C1的评价的情况下,如图14所示,按与用户U2的皮尔森相关性的降序来对各个用户的评价值进行排序。在图14中,图中的右侧示出了与用户U2的皮尔森相关性的相关值。在按相关值的降序对其他用户的评价值进行了排序时,临时预测单元51按与关注用户的相关性的降序来选择八个用户,并获得针对所选择的八个用户所关注的内容的评价值的平均值。接着,临时预测单元51将所获得的平均值作为针对用户所关注的内容的预测评价值。
因此,例如,对于图14中的示例,选择与用户U2的相关性高的八个用户U124、U987、U25、U539、U235、U169、U206及U83。接着,获得所选择的这些用户针对内容C1的评价值“0.55”、“0.83”、“0.9”、“1.21”、“0.41”、“0.88”、“0.52”及“0.46”的平均值。此外,临时预测单元51将所获得的平均值“0.72”(0.72=(0.55+0.83+0.9+1.21+0.41+0.88+0.52+0.46)/8)作为用户U2针对内容C1的预测评价值。
这样,在计算了图7中的估计式Fk的部分W13并且对于各用户获得了针对未被评价的内容的预测评价值时,获得图15中所示的临时预测矩阵Tk。注意,在图15中,阴影栏表示填充有针对未被输入的评价值的预测评价值的栏。
对于图15中的临时预测矩阵Tk,用户U2针对内容C1的评价栏填充有通过图7中的估计式的部分W13的计算而获得的相关性高的前八个用户的评价值的平均值“0.72”。并且,未被评价的内容栏填充有通过使用关于各用户的皮尔森相关性而获得的预测评价值。
在对临时预测矩阵Tk进行了图7中的估计式Fk的部分W13的计算时,临时预测单元51还对临时预测矩阵Tk进行图7中的估计式Fk的部分W14中所示的算子的计算。这样,如图16所示,获得图中的左侧的临时预测矩阵Tk的各栏中的评价值的平方根,因此,获得图中的右侧所示的临时预测矩阵Tk。注意,在图16中,阴影栏表示填充有针对未被输入的评价值的预测评价值的栏。
例如,如果观察临时预测矩阵Tk内的、用户U1针对内容C1的评价栏,则获得图中的左侧所示的临时预测矩阵Tk中的评价值“0.43”的平方根,并且图中的右侧中所示的临时预测矩阵Tk中的相对应的栏填充有所获得的平方根值“0.66” ( 0.66 ≅ ( 0.43 ) 1 / 2 ) .
下面将返回对图10中的流程图进行描述。在如上所述地对构成估计式Fk的所有的算子进行了计算时,在步骤S45中,确定已进行了所有的算子的算术处理,并且处理进行到步骤S46。
在步骤S46中,临时预测单元51确定是否对于所提供的所有的估计式Fk获得了临时预测矩阵Tk(即,是否对于所有的临时预测矩阵Tk进行了使用相对应的估计式Fk的计算)。例如,在由临时预测单元51所保持的估计式参数的数量为所提供的估计式的数量K的情况下,确定已对于所有的估计式Fk获得了临时预测矩阵Tk。
在步骤S46中确定尚未对于所有的估计式Fk获得临时预测矩阵Tk的情况下,临时预测单元51使所保持的估计式参数k递增,然后,处理返回到步骤S42。在递增了估计式参数时,选择由该估计式参数所确定的新的估计式Fk,并通过使用所选择的估计式Fk来进行针对临时预测矩阵Tk的处理。
另一方面,在步骤S46中确定已对于所有的估计式Fk获得了临时预测矩阵Tk的情况下,处理进行到步骤S47。在已对于所有的估计式Fk获得了临时预测矩阵Tk的情况下,例如,如图17所示,针对所提供的K个估计式F1至FK而分别地生成相对应的K个临时预测矩阵T1至TK。因此,根据K种估计方法而分别地生成总共K个临时预测矩阵。
在步骤S47中,预测单元52使用来自临时预测单元51的临时预测矩阵Tk以及来自估计式保持单元24的线性组合系数来计算用户Un(其中,1≤n≤N)针对各内容的最终临时评价值。
也就是说,预测单元52选择预先登记的用户U1至用户UN中的一个用户Un。例如,顺序地选择用户U1至用户UN。接着,预测单元52提取由从临时预测单元51提供的临时预测矩阵Tk内的、所选择的用户Un针对各内容的评价值所构成的信息,作为临时用户预测矩阵Tnk。这样,根据K个临时预测矩阵Tk而分别地获得用户Un的总共K个临时用户预测矩阵Tnk。
此外,如图18所示,预测单元52通过使用来自估计式保持单元24的、用户Un的线性组合系数bnk(其中,0≤k≤K)来对所获得的K个临时用户预测矩阵Tn1至TnK进行线性组合。这样,获得由用户Un的最终预测评价值及先前输入的评价值(经计算处理的先前输入的评价值)所构成的用户预测矩阵An。
更具体地说,预测单元52通过计算下式(1)来获得用户Un的用户预测矩阵An。
An = ( Σ k = 1 K bnk × Tnk ) + nb 0 . . . ( 1 )
注意,在式(1)中,(∑bnk×Tnk)表示通过将线性组合系数bnk及临时用户预测矩阵Tnk的变量k从1改变到K而获得临时用户预测矩阵Tnk乘以线性组合系数bnk的总和。并且,线性组合系数bn1至bnK是与临时用户预测矩阵Tn1至TnK相对应的线性组合系数,线性组合系数bn0是要加到临时用户预测矩阵Tnk的线性和上的系数。
因此,通过将线性组合系数bn0加到临时用户预测矩阵Tnk乘以线性组合系数bnk的总和上来获得用户Un的用户预测矩阵An。例如,通过将各临时用户预测矩阵Tnk内的、用户Un针对内容Cm的各预测评价值乘以各线性组合系数bnk以获得预测评价值乘以线性组合系数bnk的总和,并进一步将线性组合系数bn0加到该总和上,来获得用户Un针对内容Cm的最终预测评价值。
在获得了用户预测矩阵An时,预测单元52将所获得的用户预测矩阵An提供给预测评价值矩阵保持单元26。
在步骤S48中,预测单元52确定是否对于所有的用户获得了用户预测矩阵An。在步骤S48中确定尚未对于所有的用户获得用户预测矩阵An的情况下,处理返回到步骤S47,在步骤S47中,选择尚未被选择的用户Un,并获得该用户Un的用户预测矩阵An。
另一方面,在步骤S48中确定已经对于所有的用户获得了用户预测矩阵An的情况下,处理进行到步骤S49。在从预测单元52向预测评价矩阵保持单元26提供了关于所有的用户U1至UN的用户预测矩阵A1至用户预测矩阵AN时,预测评价矩阵保持单元26生成由所提供的N个用户预测矩阵A1至AN所构成的一个预测评价矩阵A。接着,预测评价矩阵保持单元26保持所生成的预测评价矩阵A,并将该预测评价矩阵A提供给推荐单元27。
在步骤S49中,推荐单元27基于从预测评价矩阵保持单元26提供的预测评价矩阵而向用户推荐内容,然后推荐处理结束。例如,推荐单元27对于各用户Un生成表示要推荐的内容的推荐信息,其中,用户Un的预测评价值最高的内容作为要推荐给该用户Un的内容。接着,推荐单元27将所生成的推荐信息提供给接口处理设备11来显示该推荐信息。这样,用户查看所显示的推荐信息,从而用户可以查找有可能使该用户感兴趣的新的内容。
如上所述,推荐设备12使用多个估计式来生成与这些估计式相对应的临时预测矩阵,并利用线性组合系数来对临时预测矩阵进行线性组合,由此生成最终预测矩阵。
这样,利用线性组合系数来对针对多个估计式的多个临时预测矩阵进行线性组合,由此使得能够在考虑利用多个算法而获得的各推荐结果的同时更高精度地检测到被估计为用户的喜好的内容。
例如,对于预定用户Un,假设在期望检测被估计为用户Un的喜好的内容的情况下,存在用于提取所有的用户的评价都很高的内容的估计式F1以及用于提取与用户Un的相关性高的用户的评价高的内容的估计式F2。在这种情况下,在通过单独地使用估计式F1来检测要推荐给用户Un的内容时,即使全体用户的评价都很高,通过检测而获得的内容也不一定是用户Un的喜好。
相反的是,在通过单独地使用估计式F2来检测要推荐给用户Un的内容时,在不考虑所有的用户的偏好而考虑一部分用户的偏好的同时进行对内容的检测,因此通过该检测而获得的内容不一定是用户Un的喜好。
另一方面,推荐设备12使用经学习单元23最优化的多个估计式,通过对这些估计式的估计结果进行线性组合来获得最终估计结果。因此,在考虑多种估计方法(例如,所有的用户、与用户Un的相关性高的用户等)的同时获得最终估计结果(预测评价矩阵),从而可以更精确地获得被估计为用户Un的喜好的内容。
顺便提及,学习单元23使用前一代的估计式来进行学习处理,从而顺序地生成用于生成预测评价矩阵的、每一代的估计式及线性组合系数。下面将参照图19中的流程图来描述学习单元23的学习处理。
在步骤S81中,候选生成单元91使用从估计式选择单元94提供的前一代的K个估计式来进行估计式候选生成处理,由此生成作为下一代的估计式的候选的S个估计式候选Js。接着,候选生成单元91将所生成的估计式候选Js提供给估计结果计算单元92。
在步骤S82中,估计结果计算单元92通过使用来自候选生成单元91的估计式候选Js以及来自用户评价矩阵保持单元22的用户评价矩阵来进行估计处理,以估计用户评价矩阵中的各个评价值,由此计算各估计式候选的估计结果Hs。估计结果计算单元92将计算出的估计结果Hs及估计式候选Js提供给估计式选择单元94。
注意,稍后将对估计式候选生成处理及估计处理的细节进行描述。
在步骤S83中,组生成单元93基于从用户评价矩阵保持单元22提供的用户评价矩阵来对用户进行聚类。具体地说,组生成单元93使用根据需要而提供的用户配置文件来将已登记的用户U1至UN中的各用户分类到预定的Q个用户组G1至GQ中的任一用户组中。
例如,组生成单元93基于所提供的用户评价矩阵中的、各用户针对内容的评价值,利用K-means方法来进行聚类,以对用户U1至用户UN进行分组。这样,如图20所示,各用户被分类到用户组G1至用户组GQ中的任一用户组中。例如,在图20中,进行分组使得用户U1、用户U3、用户U10及U1520属于用户组G1。
下面将返回对图19中的流程图进行描述。在对用户进行了分组时,组生成单元93将表示其分组结果的用户组信息提供给估计式选择单元94。
在步骤S84中,估计式选择单元94使用来自用户评价矩阵保持单元22的用户评价矩阵、来自估计结果计算单元92的估计结果Hs及估计式候选Js以及来自组生成单元93的用户组信息来进行估计式选择处理,由此生成下一代的估计式及线性组合系数。接着,估计式选择单元94将所生成的估计式及线性组合系数提供给候选生成单元91及估计式保持单元24。估计式保持单元24保持来自估计式选择单元94的估计式及线性组合系数。注意,稍后将描述估计式选择处理的细节。
在步骤S85中,学习单元23确定是否结束用于生成下一代的估计式及线性组合系数的处理。例如,在指示暂停内容推荐系统的操作的情况下,确定结束处理。
在步骤S85中确定不结束处理的情况下,处理返回到步骤S81,在步骤S81中,生成下一代的估计式及线性组合系数。另一方面,在步骤S85中确定结束处理的情况下,学习单元23的各单元停止正在进行的处理,然后学习处理结束。
这样,学习单元23使用前一代的估计式,利用遗传程序设计来生成下一代的估计式及线性组合系数。这样,利用遗传程序设计来生成下一代的估计式及线性组合系数,由此使得能够获得用户针对各内容的更适当的预测评价值。
而且,对于学习单元23,可以在无需推荐设备12的管理员等的指令的情况下建立用于更容易且更快地向用户推荐内容的推荐算法。也就是说,可以获得能够更精确地估计预测评价值的估计式,并且可以获得更适合的估计式的组合以及线性组合系数。
接下来,将参照图21中的流程图来对与图19中的步骤S81中的处理相对应的估计式候选生成处理进行描述。
在步骤S121中,候选生成单元91确定本次学习是否是第一次学习。具体地说,在进行了学习时,生成估计式及线性组合系数,并且从估计式选择单元94向候选生成单元91提供估计式。另一方面,在本次学习是第一次学习的情况下,既未生成估计式也未生成线性组合系数,因此未向候选生成单元91提供估计式。因此,在未从估计式选择单元94提供估计式的情况下,候选生成单元91确定本次学习是第一次学习。
在步骤S121中确定本次学习是第一次学习的情况下,在步骤S122中,候选生成单元91进行下列设定:选择数量NumSlct=0,突变数量NumMts=0,交叉数量NumCrs=0,随机生成数量NumRnd=S。
这里,选择数量NumSlct表示前一代的估计式中的被选择作为下一代的估计式候选Js的估计式的数量。并且,突变数量NumMts、交叉数量NumBrs及随机生成数量NumRnd分别表示在突变处理、交叉处理及随机处理中所生成的估计式候选Js的数量。
在第一次学习时不存在前一代的估计式,因此将随机生成数量设定成S,并在随机处理中生成总共S个估计式候选。在确定了选择数量、突变数量、交叉数量及随机生成数量时,处理进行到步骤S124。
另一方面,在步骤S121中确定本次学习不是第一次学习的情况下,在步骤S123中,候选生成单元91进行下列设定:选择数量NumSlct=K,突变数量NumMts=(S-K)/3,交叉数量NumCrs=(S-K)/3,随机生成数量NumRnd=S-(2×(S-K)/3)-K。
也就是说,将从估计式选择单元94提供的前一代的K个估计式(即,前一代的所有的估计式)设定成下一代的估计式候选。并且,根据突变处理、交叉处理及随机处理,分别针对通过从各个估计式候选的总数S中减去K而获得的数量的三分之一的值而生成估计式候选Js。在确定了选择数量、突变数量、交叉数量及随机生成数量时,处理进行到步骤S124。
在步骤S122或步骤S123中确定了选择数量、突变数量、交叉数量、随机生成数量时,在步骤S124中,候选生成单元91从估计式选择单元94提供的前一代的估计式中选择由选择数量NumSlct所表示的数量的估计式候选。例如,在选择数量NumSlct=K的情况下,将所提供的前一代的全部K个估计式F1至FK作为估计式候选J1至估计式候选JK。
在步骤S125中,突变处理单元111使用从估计式选择单元94提供的估计式来进行突变处理,由此生成由突变数量NumMts所表示的数量的估计式候选Js。
也就是说,突变处理单元111从前一代的估计式F1至估计式FK中任意地选择一个估计式。接着,突变处理单元111对所选择的估计式进行算子插入、算子去除、处理轴参数修改、算子内参数修改、算子顺序交换等,由此生成一个估计式候选。
例如,假设从前一代的估计式中选择了图22A中所示的估计式。图22A中所示的估计式由三个部分W31至W33所构成,部分W31至部分W33分别包括算子“NormalizeMaxMin”、“Sin”及“CF-Corrrl(1)”。
例如,在通过突变处理而在图22A中的估计式中的部分W32与部分W33之间添加了新的处理轴参数及新的算子时,生成图22B中所示的估计式候选。对于图22B中所示的估计式候选,在图22A中的估计式中的部分W32与部分W33之间添加了新的处理轴参数“C#”及新的算子“FillAvg”。
并且,在通过突变处理而去除了图22A中的估计式的一部分时,例如生成图22C中所示的估计式候选。对于图22C中所示的估计式候选,去除了图22A中的估计式的部分W31。
此外,在修改了图22A中的估计式中的部分W31的处理轴参数时,生成图22D中所示的估计式候选。对于图22D中所示的估计式候选,图22A中的估计式的部分W31的处理轴参数“U#”被改变成“C#”。
此外,在通过突变处理而将图22A中的估计式改变成图22D中的状态之后,进而在修改了估计式中的算子“CF-Correl(1)”内的参数时,例如生成图22E中所示的估计式候选。对于图22E中所示的估计式候选,图22D中的估计式中的右端算子“CF-Correl(1)”的参数被改变成“CF-Correl(5)”。
此外,并且,在通过突变处理而将图22A中的估计式被改变成图22E中的状态之后,进而在交换了算子的顺序时,例如生成图22F中所示的估计式候选。对于图22F中所示的估计式候选,图22E中的估计式的算子“Sin”与算子“CF-Correl(5)”之间的顺序被交换成“U;C#CF-Correl(5),Sin”。
这样,通过交叉处理将估计式的一部分改变成新的估计式候选。注意,在通过使用所生成的估计式候选来对用户评价矩阵进行计算的情况下,在生成了未通过其来填充用户评价矩阵中的空白栏的估计式候选(即,未通过其来获得对未被输入的评价值的预测评价值的估计式候选)时,不使用该估计式候选,并重新生成估计式候选。
下面将返回对图21中的流程图进行描述。在通过突变处理而生成了估计式候选时,在步骤S126中,交叉处理单元112使用从估计式选择单元94提供的估计式来进行交叉处理,由此生成由交叉数量NumCrs所表示的数量的估计式候选Js。
也就是说,交叉处理单元112从前一代的估计式F1至估计式FK中任意地选择两个估计式。接着,交叉处理单元112对所选择的两个估计式的一部分进行交换,由此生成一个新的估计式候选。
例如,如图23所示,假设选择了由部分W51及部分W52所构成的估计式以及由部分W53及部分W54所构成的估计式。这里,部分W52包含两个算子“Sin”及“CF-Correl(1)”,部分W53包含一个算子“CF-Pearson(3)”。接着,在由部分W51及部分W52所构成的估计式的部分W51被交换(改变)成另一估计式的部分W53时,生成图中下方所示的新的估计式候选“C;U#CF-Pearson(3),Sin,U;C#CF-Correl(1)”。
这样,通过交叉处理将估计式的一部分交换成另一估计式的一部分,并将其作为新的估计式。注意,在通过使用所生成的估计式候选来对用户评价矩阵进行计算的情况下,在生成了未通过其来填充用户评价矩阵中的空白栏的估计式候选时,不使用该估计式候选,并重新生成估计式候选。
下面将返回对图21中的流程图进行描述。在通过交叉处理生成了估计式候选时,在步骤S127中,随机处理单元113进行随机处理,由此生成由随机生成数量NumRnd所表示的数量的估计式候选Js。
也就是说,随机处理单元113将任意的处理轴参数与任意参数的算子随机地组合,以生成估计式候选。在这种情况下,还随机地确定算子的数量及顺序。注意,在通过使用所生成的估计式候选来对用户评价矩阵进行计算的情况下,在生成未通过其来填充用户评价矩阵中的空白栏的估计式候选时,不使用该估计式候选,并重新生成估计式候选。
在生成了选择数量、突变数量、交叉数量及随机生成数量的估计式候选时,从候选生成单元91向估计结果计算单元92提供所生成的估计式候选J1至JS,然后估计式候选生成处理结束,并且处理进行到图19中的步骤S82。
这样,候选生成单元91通过使用前一代的估计式来生成下一代的估计式候选。这样,根据前一代的估计式来生成下一代的估计式候选,从而可以在对估计式候选的多个组合进行评价并对用户针对内容的评价进行估计的情况下获得更适合的估计式。
接下来,将参照图24中的流程图来描述与图19中的步骤S82中的处理相对应的处理。
在步骤S151中,估计结果计算单元92选择从候选生成单元91提供的S个估计式候选J1至JS中的一个估计式候选,作为用于该处理的估计式候选。例如,从估计式候选J1至估计式候选JS中顺序地选择用于该处理的估计式候选Js(其中,1≤s≤S)。
在步骤S152中,估计结果计算单元92将与从用户评价矩阵保持单元22提供的用户评价矩阵相同的矩阵(信息)作为针对所选择的估计式候选Js的估计结果Hs,并将用户评价矩阵中的各栏中的评价值代入估计结果Hs中的各栏。也就是说,将与用户评价矩阵相同的信息作为估计结果Hs。
在步骤S153中,估计结果计算单元92选择用于该处理的估计式候选Js的一个算子。例如,在图25中所示的估计式候选被作为估计式候选Js的情况下,在图25中,沿右向从左侧算子至右侧算子顺序地进行选择。在图25中,估计式候选Js包含按以下顺序选择的四个算子:“CF-Pearson(3)”、“Sin”、“CF-Correl(1)”及“Cos”。
在步骤S154中,估计结果计算单元92确定所选择的算子是否是用于填充估计结果Hs的空白栏的最后一个算子。
例如,图25中所示的估计式候选Js包含四个算子。在这些算子中,算子“CF-Pearson(3)”及算子“CF-Correl(1)”分别是用于通过使用皮尔森相关性及根据余弦距离的相关性来填充估计结果Hs中的空白栏的算子,即,用于获得对未被输入的评价值的预测评价值的算子。另一方面,算子“Sin”及算子“Cos”是用于获得评价值的正弦及余弦的算子,而不是用于填充估计结果Hs中的空白栏的算子。
并且,对于估计式候选Js,按以下顺序来选择算子:“CF-Pearson(3)”、“Sin”、“CF-Correl(1)”及“Cos”,并且将这些算子用于该处理。因此,对于估计式候选Js,用于填充估计结果Hs中的空白栏的最后一个算子是算子“CF-Correl(1)”,并且在选择了该算子的情况下,在步骤S154中确定该算子是最后一个算子。
在步骤S154中确定所选择的算子不是最后一个算子的情况下,在步骤S155中,估计结果计算单元92对估计结果Hs进行由所选择的算子所表示的计算。
这里,在所选择的算子是以估计结果Hs中的所有的栏的评价值为对象的算子(例如,用于计算各栏的评价值的正弦的算子“Sin”)的情况下,估计结果计算单元92对估计结果Hs中的各栏中的评价值进行由所选择的算子所表示的计算。并且,在所选择的算子是用于填充估计结果Hs中的空白栏的算子的情况下,估计结果计算单元92使用估计结果Hs中的各栏中的评价值(即,先前输入的评价值及未被输入的评价值)来获得对未被输入的评价值的预测评价值。
在对所选择的算子进行了计算时,处理从步骤S155进行到步骤S157。
另一方面,在步骤S154中确定所选择的算子是最后一个算子的情况下,在步骤S156中,估计结果计算单元92对估计结果Hs中的所有的评价值进行由所选择的算子所表示的计算。
具体地说,在进行用于填充空白栏的最后一个算子的计算时,估计结果计算单元92不仅获得估计结果Hs中的各栏中的评价值中的未被输入的评价值,而且获得对先前输入的评价值的预测评价值。注意,同样在这种情况下,对于用于填充估计结果Hs中的空白栏的算子的计算,要被计算的栏中的评价值不被用来进行用于获得该栏中的预测评价值的计算。
这样,在进行用于填充空白栏的最后一个算子的计算时,还对于向其输入了先前输入的评价值的栏获得预测评价值,从而可以通过使用对于该栏获得的预测评价值以及用户评价矩阵中的相对应的栏中的先前输入的评价值来评价对估计式候选的预测(估计)的精度。在步骤S156中进行了所选择的算子的计算时,接着,处理进行到步骤S157。
在步骤S157中,估计结果计算单元92确定所选择的、估计式候选Js的算子是否是估计式候选Js中所包含的最后一个算子。例如,在选择了图25中所示的估计式候选Js的情况下,在所选择的、估计式候选Js的算子是最后进行其计算的算子“Cos”时,确定所选择的算子是最后一个算子。
在步骤S157中确定所选择的算子不是最后一个算子的情况下,处理返回到步骤S153,在步骤S153中,选择下一算子,并进行针对估计结果Hs的计算。
另一方面,在步骤S157中确定所选择的算子是最后一个算子的情况下,在步骤S158中,估计结果计算单元92确定是否对于所提供的所有估计式候选Js获得了估计结果Hs。
例如,在确定对于所提供的所有估计式候选Js获得了估计结果Hs的情况下,如图26所示,针对所提供的S个估计式候选J1至JS,分别获得相对应的S个估计结果H1至HS。也就是说,根据S种估计方法,分别生成了总共S个估计结果。
在步骤S158中确定尚未对于所有的估计式候选Js获得估计结果Hs的情况下,处理返回到步骤S151,在步骤S151中,重复上述处理。具体地说,选择下一估计式候选Js,并生成与该估计式候选Js相对应的估计结果Hs。
另一方面,在步骤S158中确定已对于所有的估计式候选Js获得了估计结果Hs的情况下,估计结果计算单元92将所获得的S个估计结果H1至HS以及估计式候选J1至估计式候选JS提供给估计式选择单元94。接着,在从估计结果计算单元92向估计式选择单元94提供了估计式候选及估计结果时,估计处理结束,并且处理进行到图19中的步骤S83。
这样,估计结果计算单元92分别使用S个估计式候选来生成相对应的估计结果。这样,使用估计式候选来生成相对应的估计结果,从而可以在对估计式候选的组合进行评价并对用户针对内容的评价进行估计的情况下获得更适合的估计式候选的组合。
接下来,将参照图27中的流程图来描述与图19中的步骤S84中的处理相对应的估计式选择处理。
在步骤S191中,组合系数计算单元114对表示从估计结果计算单元92提供的各估计结果Hs的使用状况的变量Z进行初始化。
也就是说,对于估计式选择单元94,假定选择了S个估计式候选中的一些估计式候选,并且所选择的估计式候选Js用作下一代的估计式。接着,针对所选择的估计式候选Js用于获得各用户的预测评价值的情况,对该预测评价值(即,估计结果Hs的预测精度)进行评价。
变量Z由表示与估计式候选Js中的各估计式候选相对应的估计结果Hs的使用状况的信息所构成,该使用状况表示与估计结果相对应的估计式候选是否临时地用作下一代的估计式。也就是说,对于变量Z,与其使用状况被设定成“已使用”的估计结果相对应的估计式候选是被临时地用作下一代的估计式的估计式候选。并且,对于变量Z,与其使用状况被设定成“未使用”的估计结果相对应的估计式候选是不被临时地用作下一代的估计式的估计式候选。
组合系数计算单元114通过将由变量Z表示的各估计结果的使用状况设定成“未使用”来对变量Z进行初始化。
在步骤S192中,组合系数计算单元114选择从估计结果计算单元92提供的估计式候选Js(其中,1≤s≤S)中的一个估计式候选。例如,从估计式候选J1至估计式候选JS顺序地选择估计式候选Js。
在步骤S193中,组合系数计算单元114对与所选择的估计式候选Js相对应的估计结果Hs的使用状况进行反转,将其使用状况被反转的变量Z作为变量Zs’(其中,1≤s≤S)。例如,在由变量Z表示的与所选择的估计式候选Js相对应的估计结果Hs的使用状况为“未使用”的情况下,使用状况被反转成“已使用”,相反的是,在使用状况为“已使用”的情况下,使用状况被反转成“未使用”。
在步骤S194中,组合系数计算单元114确定为“已使用”的使用状况的数量(即,与使用状况为“已使用”的估计结果相对应的估计式候选的数量)是否等于或小于预定估计式的数量K的上限数量Kmax。
在步骤S194中确定为“已使用”的使用状况的数量等于或小于上限数量Kmax的情况下,在步骤S195中,组合系数计算等于114参照从组生成单元93提供的用户组信息来选择一个用户组Gq。例如,从用户组G1至用户组GQ顺序地选择用户组Gq(其中,1≤q ≤Q)。
在步骤S196中,组合系数计算单元114选择从估计结果计算单元92提供的估计结果Hs中的、其由变量Zs’表示的使用状况为“已使用”的估计结果Hs,并将所选择的估计结果Hs作为新的估计结果Hv’。注意,在存在多个新的估计结果Hv’的情况下,按照成为连续编号的方式来附加这些估计结果Hv’中的变量v。
例如,假设对于变量Zs’,估计结果H1至估计结果HV(其中,1≤V≤S)的使用状况为“已使用”,其他估计结果H(V+1)至HS的使用状况为“未使用”。在这种情况下,组合系数计算单元114将估计结果H1至估计结果HV作为新的估计结果H1’至估计结果HV’,将与估计结果H1’至估计结果HV’相对应的估计式候选Js作为新的估计式候选J1’至估计式候选JV’。
在步骤S197中,组合系数计算单元114使用估计结果Hv’、来自用户评价矩阵保持单元22的用户评价矩阵以及来自组生成单元93的用户组信息,来获得关于所选择的用户组Gq的线性组合系数候选Bsq。
这里,关于所选择的用户组Gq的线性组合系数候选Bsq为属于用户组Gq的用户Un的线性组合系数候选,并且线性组合系数候选Bsq由与线性组合系数bnk相对应的(V+1)个线性组合系数bsq0至bsqV所构成。也就是说,线性组合系数候选Bsq是在估计式候选J1’至估计式候选JV’用作下一代的新的估计式的情况下的线性组合系数。
注意,线性组合系数bsqv(其中,1≤v≤V)中的各线性组合系数中的变量s、变量q及变量v分别与变量Zs’中的s、用户组Gq中的q及估计结果Hv’中的v相对应。并且,线性组合系数bsq0是与线性组合系数bn0相对应的系数。
例如,组合系数计算单元114使用线性回归来获得其中下式(2)中的由预定元素所构成的误差矩阵Eq成为最小的线性组合系数候选Bsq(即,线性组合系数bsqv的组合)。
R q = ( Σ v = 1 V bsqv × Hqv ′ ) + bsq 0 + Eq . . . ( 2 )
在式(2)中,矩阵Rq是以用户评价矩阵中的、属于用户组Gq的用户针对内容的先前输入的评价值为元素的矩阵(矢量)。
并且,式(2)中的矩阵Hqv’是估计结果Hv’中的预测评价值中的、以与用户评价矩阵中的属于用户组Gq的用户针对内容的先前输入的评价值相对应的预测评价值为元素的矩阵(矢量)。也就是说,矩阵Rq中的预定元素rq是预定用户Un针对预定内容Cm的真实的评价值,矩阵Hqv’中的与该元素rq相对应的元素hqv是通过使用估计式候选Jv’而估计出的对用户Un针对内容Cm的评价的预测评价值。
此外,在式(2)中,(∑bsqv×Hqv′)表示线性组合系数bsqv及矩阵Hqv’的变量v从1改变到V,由此获得矩阵Hqv’乘以线性组合系数bsqv的总和。
根据式(2),将线性组合系数bsq0及误差矩阵Eq的元素eq分别地加到矩阵Hq1’至矩阵HqV’中的与矩阵Rq中的元素rq相对应的元素hq1至元素hqV乘以线性组合系数bsq1至bsqV的总和上,由此所获得的结果等于元素rq。也就是说,元素eq表示通过将线性组合系数bsq0加到元素hqv乘以线性组合系数bsqv的总和上所获得的对元素rq的估计值与真实的元素rq之间的误差。
因此,元素eq越小,通过使用此时的线性组合系数bsqv的组合以及与估计结果Hv’相对应的估计式候选Jv’来对用户针对内容的评价进行估计的精度可以越高。因此,组合系数计算单元114获得使得式(2)的关系保持成立并且各个元素eq成为最小的线性组合系数bsqv的组合,并将该组合作为线性组合系数候选Bsq。
在获得了关于变量Zs’的用户组Gq的线性组合系数候选Bsq时,处理从步骤S197进行到步骤S198。
在步骤S198中,组合系数计算单元114确定是否对于全部用户组Gq获得了线性组合系数候选Bsq。
在步骤S198中确定尚未对于整个用户组Gq获得线性组合系数候选Bsq的情况下,处理返回到步骤S195,在步骤S195中,重复上述处理。具体地说,选择下一用户组Gq,并获得关于变量Zs’的新选择的用户组Gq的线性组合系数候选Bsq。
另一方面,在步骤S198中确定已对于整个用户组Gq获得了线性组合系数Bsq的情况下,处理进行到步骤S199。例如,在确定已对于整个用户组而获得了线性组合系数候选的情况下,关于变量Zs’,针对用户组G1至用户组GQ分别获得线性组合系数候选Bs1至线性组合系数候选BsQ。
在步骤S199中,评价单元115基于用户评价矩阵及估计结果Hv’(即,按照式(2)对线性组合系数的计算结果)来计算关于变量Zs’的AIC(Akaike Information Criterion,赤池信息准则)。也就是说,评价单元115计算下式(3),由此计算关于变量Zs’的AIC作为信息量基准,该信息量基准是用于对用户针对内容的评价进行估计的估计式候选Jv及线性组合系数候选Bsq的评价指标。
AIC=W×{log(2×PI)+1+log||E||2/W}+2×Q×(v+1)…(3)
在式(3)中,W表示用户评价矩阵中的先前输入的评价值的数量,PI表示π。并且,在式(3)中,||E||表示由误差矩阵E1至误差矩阵EQ中的元素所构成的矩阵E的范数(即,矩阵E中的各个元素的平方和)。此外,在式(3)中,Q及V分别表示用户组Gq的数量及估计结果Hv的数量。
矩阵E中的元素变得越小,式(3)中所示的AIC变得越小。也就是说,针对估计式候选Jv’及线性组合系数候选Bsq的变量Zs’可以对用户针对内容的评价进行估计的精度越高,变量Zs’的AIC变得越小。
并且,估计式候选Jv’的数量(自由参数的数量)越多,式(3)中所示的变量Zs’的AIC变得越大。在推荐设备12生成预测评价矩阵的情况下,估计式候选Fk的数量越多,用于获得预测评价矩阵的计算量变得越大,因此估计式候选Fk的数量(即,估计式候选Jv’的数量)越少越好。也就是说,从计算量的观点来看,变量Zs’的AIC越小,变量Zs’的估计式候选Jv’及线性组合系数候选Bsq越适合于对用户针对内容的评价进行估计。
结果,变量Zs’的AIC越小,针对关于该变量Zs’而获得的估计式候选Jv’及线性组合系数候选Bsq的评价越高,该估计式候选及线性组合系数适合于作为估计式及线性组合系数。
在步骤S199中,在计算出变量Zs’的AIC时,处理进行到步骤S200。
并且,在步骤S194中确定对于变量Zs’、为“已使用”的使用状况的数量不等于或小于估计式的数量K的上限数量Kmax的情况下,跳过步骤S195至步骤S199中的处理,并且处理进行到步骤S200。
也就是说,在对于变量Zs’、为“已使用”的使用状况的数量大于上限数量Kmax的情况下,在通过使用其使用状况为“已使用”的估计结果而生成了估计式时,所生成的估计式的数量超过估计式的上限数量Kmax。因此,在为“已使用”的使用状况的数量大于上限数量Kmax的情况下,跳过步骤S195至步骤S199中的处理。
在步骤S199中计算出AIC时,或者在确定为“已使用”的使用状况的数量大于上限数量Kmax时,在步骤S200中,组合系数计算单元114确定是否选择了所有的估计式候选Js。具体地说,在步骤S192中的处理中已选择了全部S个估计式候选Js的情况下,确定已选择了所有的估计式候选。
在步骤S200中确定尚未选择全部S个估计式候选Js的情况下,处理返回到步骤S192,在步骤S192中,重复上述处理。具体地说,选择下一估计式候选Js,并且目前为止对于变量Zs’,与新选择的估计式候选Js相对应的估计结果Hs的使用状况已被反转,并将其作为新的变量Zs’。接着,关于与所选择的估计式候选Js相对应的变量Zs’,针对各用户组Gq获得线性组合系数候选Bsq,并计算变量Zs’的AIC。
另一方面,在步骤S200中确定已选择了所有的估计式候选Js的情况下,处理进行到步骤S201。在选择了所有的估计式候选J1至JS时,这意味着已获得了与这些估计式候选相对应的变量Z1’至变量ZS’中的各变量所对应的AIC。注意,更具体地说,对于变量Zs’,在使用状况为“已使用”的使用状况数量超过上限数量Kmax时,既不获得线性组合系数候选也不获得AIC。
在步骤S201中,选择单元116选择各个变量Z1’至ZS’中的所获得的AIC为最小的变量Zs’。这里,所选择的变量Zs’的估计式候选Jv’及线性组合系数候选Bsq是关于变量Z1’至变量ZS’而获得的估计式候选及线性组合系数候选中的最适合的估计式及线性组合系数。
在步骤S202中,选择单元116确定所选择的变量Zs’的AIC是否小于目前为止已进行的处理中的最小的AIC。例如,选择单元116保持目前为止已进行的处理中的其AIC为最小的变量Zs’、关于该变量Zs’的AIC、估计式候选Jv’及线性组合系数候选Bsq。接着,选择单元116将此时为最小的AIC(即,在步骤S201中所选择的变量Zs’的AIC)与所保持的AIC进行比较。
在步骤S202中确定所选择的变量Zs’的AIC小于目前为止已进行的处理中的最小的AIC的情况下,在步骤S203中,组合系数计算单元114将所选择的变量Zs’作为新的变量Z。接着,在所选择的变量Zs’被作为新的变量Z时,处理返回到步骤S192,在步骤S192中,重复上述处理。
具体地说,在所选择的变量Zs’的AIC小于过去的AIC的情况下,该次所获得的变量Zs’的估计式候选Jv’及线性组合系数候选Bsq是比过去的估计式候选及线性组合系数候选更适合的估计式及线性组合系数。因此,存在通过修改变量Zs’的一部分的使用状况而获得的新的变量Zs’的AIC变得比该次所选择的变量Zs’的AIC更小的可能性,从而获得更适合作为估计式及线性组合系数的估计式候选Jv’及线性组合系数候选Bsq。
因此,估计式选择单元94重复上述处理,直到以该次所选择的Zs’作为新的变量Z时并不增大AIC为止,即,直到确定所选择的变量Zs’的AIC等于或大于过去的最小的AIC为止。
另一方面,在步骤S202中确定所选择的变量Zs’的AIC等于或大于过去的最小的AIC的情况下,以所选择的变量Zs’作为新的变量Z,即使获得估计式候选及线性组合系数候选,增大AIC的可能性也很小,因此处理进行到步骤S204。
在步骤S204中,选择单元116输出其中在目前为止已进行的处理中AIC成为最小的变量Zs’的估计式候选Jv’及线性组合系数候选Bsq作为下一代的估计式及线性组合系数。
具体地说,选择单元116将针对其AIC成为最小的变量Zs’的V个估计式候选J1’至JV’作为下一代的估计式,并将针对变量Zs’而获得的线性组合系数候选Bsq作为下一代的线性组合系数。此时,将用户Un(其中,1≤n≤N)所属的用户组Gq(其中,1≤q≤Q)的线性组合系数候选Bsq(即,线性组合系数bsq0至线性组合系数bsqV)作为用户Un的下一代的线性组合系数。
从估计式选择单元94向候选生成单元91及估计式保持单元24提供这样获得的下一代的估计式,并且从估计式选择单元94向估计式保持单元24提供各用户的下一代的线性组合系数。
在输出了下一代的估计式及线性组合系数时,估计式选择处理结束,并且处理进行到图19中的步骤S85。
这样,学习单元23生成估计式候选,并假定估计式候选中的一些估计式候选用作下一代的估计式。接着,学习单元23在这些估计式候选以及与这些估计式候选相对应的线性组合系数候选之间进行评价,并选择更适合于对用户针对内容的评价进行估计的估计式候选及线性组合系数候选,作为下一代的估计式及线性组合系数。
这样,通过重复地进行对估计式候选的生成并进行对估计式候选及线性组合系数候选的评价,来选择更适合的估计式候选及线性组合系数候选,从而可以在每次进行估计式选择处理时获得可以更高精度地对用户针对内容的评价进行估计的估计式及线性组合系数。
具体地说,为了对用户针对内容的评价进行估计,可以容易地建立更适合的协同过滤算法(即,估计式),并且可以容易地提高评价估计精度。对估计式候选的组合及线性组合系数候选进行评价,选择更适合的估计式候选及线性组合系数候选,并将其作为下一代的估计式及线性组合系数,从而可以进一步提高对用户针对内容的评价的估计精度。这样,可以建立其中容易且快速地以更高的精度对用户的评价进行估计的推荐算法。
并且,根据学习单元23,在建立推荐算法时(即,在生成估计式及线性组合系数时),用户(管理员)不必进行操作。特别是在必须修改推荐算法的一部分的情况下(例如,即使在用户重新评价内容的情况下、在添加新的内容作为评价对象的情况下等),根据学习单元23的学习处理,无需人力就获得适合的估计式及线性组合系数。也就是说,管理员不必重新建立推荐算法。
注意,目前为止描述了估计式的数量K等于或小于上限数量Kmax。因此,在估计式的数量K为1的情况下,生成要乘以临时用户预测矩阵Tn1的线性组合系数bn1以及乘以线性组合系数(即,要加到预测评价值上的线性组合系数bn0)的临时预测矩阵。并且,在估计式的数量K为1的情况下,可以将线性组合系数bn0恒定地设定成0。
此外,在估计式的数量K为1的情况下,可以通过不使用线性组合系数而单独地使用估计式F1来获得预测评价矩阵。在这种情况下,利用用户评价矩阵及评价结果Hs来对估计式候选进行评价,并且在多个估计式候选中,利用估计式候选而获得的预测评价值与先前输入的实际的评价值之间的误差越小,其评价越高。
并且,上述一系列处理不仅可以利用硬件来执行,而且可以利用软件来执行。在利用软件来执行这一系列处理的情况下,将构成该软件的程序从程序记录介质安装到能够利用所安装的各种类型的程序来执行各种类型的功能的专用硬件中内嵌的计算机或者通用个人计算机等中。
图28是例示其中利用程序来执行上述一系列处理的计算机的结构示例的框图。对于该计算机,通过总线204将CPU(中央处理单元)201、ROM(只读存储器)202及RAM(随机存取存储器)相互连接。
总线204还连接有输入/输出接口205。输入/输出接口205连接有由键盘、鼠标、麦克风等所构成的输入单元206,由显示器、扬声器等所构成的输出单元207,由硬盘、非易失性存储器等所构成的记录单元208,由网络接口等所构成的通信单元209以及用于驱动诸如磁盘、光盘、磁光盘、半导体存储器等的可移动介质211的驱动器210。
利用这样构造的计算机,例如,CPU 201通过将存储在记录单元208中的程序通过输入/输出接口205及总线204而载入RAM 203中并执行它,来进行上述一系列处理。
可以通过将由计算机(CPU 201)所执行的程序记录在作为由磁盘(包括软盘)、光盘(CD-ROM(紧致盘-只读存储器)、DVD(数字多用途盘)等)、磁光盘、半导体存储器等所构成的封装介质的可移动介质211中来提供该程序,或者通过电缆或诸如局域网、因特网或数字卫星广播的无线传输介质来提供该程序。
接着,将可移动介质211安装在驱动器210上,从而可以通过输入/输出接口205而将程序安装在记录单元208中。并且,可以通过电缆或无线传输介质而在通信单元209处接收到程序,并将该程序安装在记录单元208中。作为另一种选择,可以预先将程序安装在ROM 202或记录单元208中。
注意,由计算机所执行的程序可以是其中以本说明书中所描述的顺序按时间顺序进行处理的程序,或者可以是其中并行地或者以适当的定时进行处理以便执行调用的程序。并且注意,本发明的实施例并不限于上述实施例,而且可以在不背离本发明的本质和范围的情况下做出各种修改。
本申请包含与于2008年4月22日提交给日本专利局的日本在先专利申请JP 2008-111120号公报中所公开的主题有关的主题,其全部内容通过引用而合并在此。
本领域技术人员应当理解,可以根据设计要求及其他因素而想到各种修改、组合、子组合及变化,只要它们在所附权利要求书及其等同物的范围内即可。

Claims (8)

1.一种信息处理设备,该信息处理设备基于利用使用由表示多个用户中的各用户针对多个评价对象中的各评价对象的评价的评价值所构成的评价矩阵的计算来估计所述评价值的、由包括用于进行协同过滤的计算的算子在内的多个算子所构成的估计式,来生成最新用于对包括在所述评价对象中的未经所述用户评价的未经评价对象的所述评价值进行估计的所述估计式,该信息处理设备包括:
估计式候选生成装置,其被构造成将所述估计式作为是最新用于对所述未经评价对象的所述评价值进行估计的所述估计式的候选的估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选;
估计结果生成装置,其被构造成基于所述估计式候选及所述评价矩阵,针对所述估计式候选中的各估计式候选,对所述评价矩阵中的、所述用户中的各用户针对所述多个评价对象中的各评价对象的所述评价值进行估计,以生成由作为所估计出的评价值的预测评价值所构成的估计结果;
评价装置,其被构造成基于所述估计结果及所述评价矩阵来计算对所述估计式候选的评价;以及
选择装置,其被构造成选择所述估计式候选中的、由所述评价装置所计算出的评价最高的所述估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式。
2.根据权利要求1所述的信息处理设备,其中,通过将基于所述估计式及所述评价矩阵而估计出的、所述未经评价对象的所述预测评价值乘以预定系数,来获得所述未经评价对象的所述评价值的最终估计结果,
并且其中,所述评价装置包括:
系数计算装置,其被构造成通过使用所述估计结果及所述评价矩阵,来获得在使用所述估计式候选作为所述估计式的情况下的所述系数;以及
信息量基准计算装置,其被构造成计算信息量基准作为针对所述估计式候选及所述系数的评价,
并且其中,所述选择装置选择所述估计式候选及所述系数中的、基于所述信息量基准的评价最高的所述估计式候选以及所述系数,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式及所述系数。
3.根据权利要求2所述的信息处理设备,其中,通过使用所述系数对利用多个所述估计式而获得的、所述未经评价对象的所述预测评价值中的各预测评价值进行线性组合,来获得所述未经评价对象的所述评价值的最终估计结果,
并且其中,所述估计式候选生成装置将所述多个估计式作为所述估计式候选,并生成其中所述多个估计式中的一些估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选,
并且其中,所述系数计算装置将多个所述估计结果中的一些估计结果作为使用估计结果,并通过使用所述使用估计结果及所述评价矩阵,来获得在使用作为用于生成所述使用估计结果的所述估计式候选的使用估计式候选作为所述估计式的情况下的所述系数,
并且其中,所述选择装置选择所述使用估计式候选及所述系数中的、基于所述信息量基准的评价最高的所述使用估计式候选及所述系数,作为最新用于对所述未经评价对象的所述评价值进行估计的多个所述估计式及所述系数。
4.根据权利要求3所述的信息处理设备,其中,所述系数计算装置使用在属于多个组中的一个组的多个所述用户中的、属于与所述组相同的组的所述用户的所述评价值及所述预测评价值,来获得用于所述多个组中的各组的所述系数。
5.一种用于信息处理设备的信息处理方法,所述信息处理设备基于利用使用由表示多个用户中的各用户针对多个评价对象中的各评价对象的评价的评价值所构成的评价矩阵的计算来估计所述评价值的、由包括用于进行协同过滤的计算的算子在内的多个算子所构成的估计式,来生成最新用于对包括在所述评价对象中的未经所述用户评价的未经评价对象的所述评价值进行估计的所述估计式,所述信息处理设备包括:
估计式候选生成装置,其被构造成将所述估计式作为是最新用于对所述未经评价对象的所述评价值进行估计的所述估计式的候选的估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选;
估计结果生成装置,其被构造成基于所述估计式候选及所述评价矩阵,针对所述估计式候选中的各估计式候选,对所述评价矩阵中的、所述用户中的各用户针对所述多个评价对象中的各评价对象的所述评价值进行估计,以生成由作为所估计出的评价值的预测评价值所构成的估计结果;
评价装置,其被构造成基于所述估计结果及所述评价矩阵来计算对所述估计式候选的评价;以及
选择装置,其被构造成选择所述估计式候选中的、由所述评价装置所计算出的评价最高的所述估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式,
所述估计式候选生成装置将所述估计式作为所述估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选,
所述估计结果生成装置基于所述估计式候选及所述评价矩阵来生成所述估计结果,
所述评价装置计算对所述估计式候选的评价,并且
所述选择装置选择所述估计式候选中的、由所述评价装置所计算出的评价最高的所述估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式。
6.一种用于信息处理的程序,所述信息处理基于利用使用由表示多个用户中的各用户针对多个评价对象中的各评价对象的评价的评价值所构成的评价矩阵的计算来估计所述评价值的、由包括用于进行协同过滤的计算的算子在内的多个算子所构成的估计式,来生成最新用于对包括在所述评价对象中的未经所述用户评价的未经评价对象的所述评价值进行估计的所述估计式,所述程序使计算机执行包括以下步骤的处理:
将所述估计式作为是最新用于对所述未经评价对象的所述评价值进行估计的所述估计式的候选的估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选;
基于所述估计式候选及所述评价矩阵,针对所述估计式候选中的各估计式候选,对所述评价矩阵中的、所述用户中的各用户针对所述多个评价对象中的各评价对象的所述评价值进行估计,以生成由作为所估计出的评价值的预测评价值所构成的估计结果;
基于所述估计结果及所述评价矩阵来计算对所述估计式候选的评价;以及
选择所述估计式候选中的、所计算出的评价最高的所述估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式。
7.一种信息处理设备,该信息处理设备基于利用使用由表示多个用户中的各用户针对多个评价对象中的各评价对象的评价的评价值所构成的评价矩阵的计算来估计所述评价值的、由包括用于进行协同过滤的计算的算子在内的多个算子所构成的估计式,来生成最新用于对包括在所述评价对象中的未经所述用户评价的未经评价对象的所述评价值进行估计的所述估计式,该信息处理设备包括:
估计式候选生成单元,其被构造成将所述估计式作为是最新用于对所述未经评价对象的所述评价值进行估计的所述估计式的候选的估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选;
估计结果生成单元,其被构造成基于所述估计式候选及所述评价矩阵,针对所述估计式候选中的各估计式候选,对所述评价矩阵中的、所述用户中的各用户针对所述多个评价对象中的各评价对象的所述评价值进行估计,以生成由作为所估计出的评价值的预测评价值所构成的估计结果;
评价单元,其被构造成基于所述估计结果及所述评价矩阵来计算对所述估计式候选的评价;以及
选择单元,其被构造成选择所述估计式候选中的、由所述评价单元所计算出的所述评价最高的所述估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式。
8.一种用于信息处理设备的信息处理方法,所述信息处理设备基于利用使用由表示多个用户中的各用户针对多个评价对象中的各评价对象的评价的评价值所构成的评价矩阵的计算来估计所述评价值的、由包括用于进行协同过滤的计算的算子在内的多个算子所构成的估计式,来生成最新用于对包括在所述评价对象中的未经所述用户评价的未经评价对象的所述评价值进行估计的所述估计式,所述信息处理设备包括:
估计式候选生成单元,其被构造成,将所述估计式作为是最新用于对所述未经评价对象的所述评价值进行估计的所述估计式的候选的估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选;
估计结果生成单元,其被构造成基于所述估计式候选及所述评价矩阵,针对所述估计式候选中的各估计式候选,对所述评价矩阵中的、所述用户中的各用户针对所述多个评价对象中的各评价对象的所述评价值进行估计,以生成由作为所估计出的评价值的预测评价值所构成的估计结果;
评价单元,其被构造成基于所述估计结果及所述评价矩阵来计算对所述估计式候选的评价;以及
选择单元,其被构造成选择所述估计式候选中的、由所述评价单元所计算出的评价最高的所述估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式,
所述估计式候选生成单元将所述估计式作为所述估计式候选,并生成其中所述估计式的一部分被修改的新的估计式以及任意新的估计式作为所述估计式候选,
所述估计结果生成单元基于所述估计式候选及所述评价矩阵来生成所述估计结果,
所述评价单元计算对所述估计式候选的评价,并且
所述选择单元选择所述估计式候选中的、由所述评价单元所计算出的评价最高的所述估计式候选,作为最新用于对所述未经评价对象的所述评价值进行估计的所述估计式。
CN2009101336894A 2008-04-22 2009-04-22 信息处理设备及方法 Expired - Fee Related CN101568013B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008111120 2008-04-22
JP2008111120A JP4591794B2 (ja) 2008-04-22 2008-04-22 情報処理装置および方法、並びにプログラム
JP2008-111120 2008-04-22

Publications (2)

Publication Number Publication Date
CN101568013A true CN101568013A (zh) 2009-10-28
CN101568013B CN101568013B (zh) 2011-12-14

Family

ID=41201946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101336894A Expired - Fee Related CN101568013B (zh) 2008-04-22 2009-04-22 信息处理设备及方法

Country Status (3)

Country Link
US (1) US8200588B2 (zh)
JP (1) JP4591794B2 (zh)
CN (1) CN101568013B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079960A (zh) * 2013-12-05 2014-10-01 深圳市腾讯计算机系统有限公司 文件推荐方法和装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012058972A (ja) * 2010-09-08 2012-03-22 Sony Corp 評価予測装置、評価予測方法、及びプログラム
JP2012190061A (ja) * 2011-03-08 2012-10-04 Sony Corp 情報処理装置、端末装置、情報提示システム、評価スコアの算出方法、及びプログラム
CN102789499B (zh) * 2012-07-16 2015-08-12 浙江大学 基于物品间情景化隐式关系的协同过滤方法
CN104933143B (zh) * 2015-06-18 2019-06-04 北京京东尚科信息技术有限公司 获取推荐对象的方法及装置
CN109614549B (zh) * 2018-12-10 2019-11-12 北京字节跳动网络技术有限公司 用于推送信息的方法和装置
KR102266853B1 (ko) * 2019-02-11 2021-06-18 한양대학교 산학협력단 다중 유형 페어와이즈 기반 아이템 추천 방법 및 장치
KR102315074B1 (ko) * 2019-07-26 2021-10-21 주식회사 히타치하이테크 데이터 처리 장치, 방법, 및 반도체 제조 장치
CN111402003B (zh) * 2020-03-13 2023-06-13 第四范式(北京)技术有限公司 实现用户相关推荐的系统和方法
JP7466585B2 (ja) * 2022-04-25 2024-04-12 株式会社Zozo 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790426A (en) * 1996-04-30 1998-08-04 Athenium L.L.C. Automated collaborative filtering system
US7475048B2 (en) * 1998-05-01 2009-01-06 Health Discovery Corporation Pre-processed feature ranking for a support vector machine
US6957341B2 (en) * 1998-05-14 2005-10-18 Purdue Research Foundation Method and system for secure computational outsourcing and disguise
JP4124115B2 (ja) * 2003-12-02 2008-07-23 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP2006048286A (ja) * 2004-08-03 2006-02-16 Sony Corp 情報処理装置および方法、並びにプログラム
JP4935047B2 (ja) * 2005-10-25 2012-05-23 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2007317068A (ja) * 2006-05-29 2007-12-06 Osaka Prefecture Univ リコメンド装置およびリコメンドシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079960A (zh) * 2013-12-05 2014-10-01 深圳市腾讯计算机系统有限公司 文件推荐方法和装置
CN104079960B (zh) * 2013-12-05 2015-10-07 深圳市腾讯计算机系统有限公司 文件推荐方法和装置
US9930419B2 (en) 2013-12-05 2018-03-27 Tencent Technology (Shenzhen) Company Limited File recommendation method and device

Also Published As

Publication number Publication date
JP2009265730A (ja) 2009-11-12
US20090265291A1 (en) 2009-10-22
CN101568013B (zh) 2011-12-14
JP4591794B2 (ja) 2010-12-01
US8200588B2 (en) 2012-06-12

Similar Documents

Publication Publication Date Title
CN101568013B (zh) 信息处理设备及方法
Papacharalampous et al. Univariate time series forecasting of temperature and precipitation with a focus on machine learning algorithms: A multiple-case study from Greece
Azzeh et al. Fuzzy grey relational analysis for software effort estimation
Rose et al. Stated choice experimental design theory: the who, the what and the why
US20150254554A1 (en) Information processing device and learning method
Li et al. Analysis of attribute weighting heuristics for analogy-based software effort estimation method AQUA+
Corazza et al. How effective is tabu search to configure support vector regression for effort estimation?
KR20170079159A (ko) 빅데이터와 기계학습을 이용한 타겟 정보 예측 시스템 및 예측 방법
CN111291895B (zh) 组合特征评估模型的样本生成和训练方法及装置
JP7294369B2 (ja) 情報処理に用いられる方法、装置、電子機器及びプログラム
CN110222838B (zh) 文档排序方法、装置、电子设备及存储介质
Gautam et al. A novel moving average forecasting approach using fuzzy time series data set
CN113255908B (zh) 基于事件序列进行业务预测的方法、神经网络模型和装置
KR20170079161A (ko) 빅데이터와 기계학습을 이용한 타겟 정보 예측 시스템 및 예측 방법
Dewi et al. Analysis accuracy of random forest model for big data–A case study of claim severity prediction in car insurance
CN101568014B (zh) 评估设备和方法
Arai et al. Fuzzy genetic algorithm for prioritization determination with technique for order preference by similarity to ideal solution
JP2021033895A (ja) 変数選定方法、変数選定プログラムおよび変数選定システム
Zheng et al. Improved gravitation field algorithm and its application in hierarchical clustering
CN111125541B (zh) 面向多用户的可持续多云服务组合的获取方法
Li et al. GA/PD: a genetic algorithm based on problem decomposition for solving interval linear bilevel programming problems
CN114861989A (zh) 一种加保业务的预测方法及装置
Boyko et al. Methodology for Estimating the Cost of Construction Equipment Based on the Analysis of Important Characteristics Using Machine Learning Methods
Eftimov et al. Robust benchmarking for multi-objective optimization
Guerra et al. Value function computation in fuzzy models by differential evolution

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111214

Termination date: 20150422

EXPY Termination of patent right or utility model