具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开具体的应用场景为:为用户进行个性化推荐的场景。例如,为用户推荐其可能感兴趣的商品的场景;又例如,为用户推荐其可能感兴趣的其他用户的场景;又例如,为用户推荐其可能感兴趣的新闻或其他信息的场景;又例如,所推荐的对象还可以是为用户制定的个性化服务,其中,个性化服务可以为:个性化旅游服务、个性化保险服务、个性化界面显示服务(不同用户具备不同的显示界面布局)等场景。
如前所述,以前述个性化推荐场景为例,现有的针对用户感兴趣对象的识别方式仅依赖于用户的历史数据,识别维度单一且具备一定的延时性,导致识别准确率较低,进而,导致推荐场景下的推荐。
本公开提供的技术方案,旨在解决现有技术的如上技术问题,并提出如下解决思路:与用户进行人机问答交互,并根据问答交互的反馈数据得到用户兴趣画像;其中,人机问答交互的提问问题可以根据用户的历史行为数据来确定。如此,将用户的主观需求与实时兴趣作为一个重要的参考维度,提高用户可能的感兴趣对象与用户实际感兴趣对象之间的贴合程度,从而,提高推荐准确率。
下面以具体地实施例对本公开的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
实施例一
本公开实施例提供了一种对象推荐方法。请参考图1,该方法包括如下步骤:
S102,获取用户的历史行为数据与历史反馈数据。
具体的,本公开实施例所涉及到的历史行为数据可以包括但不限于如下至少一种:历史查阅行为数据、历史分享行为数据、历史交易行为数据、历史收藏行为数据与历史评价行为数据。
而历史反馈数据是在本次执行的对象推荐方法之前推荐的对象中获取到的用户的反馈。
此外,该步骤所获取到的历史行为数据与历史反馈数据可以是用户的所有历史行为数据与所述历史反馈数据;或者,也可以是一段时间内的历史行为数据与所述历史反馈数据,例如,可以为最近一个月或最近3天的历史行为数据与所述历史反馈数据。以及,该步骤所获取到的历史行为数据与所述历史反馈数据可以是针对某一个或多个具体的应用程序(Application,APP),也可以是终端设备中所有应用程序的历史行为数据与所述历史反馈数据。以及,该步骤所获取到的历史行为数据与所述历史反馈数据可以为终端程序中针对某一类应用程序或某一类或多类对象的历史行为数据与所述历史反馈数据。
例如,可以获取终端设备中所有新闻类APP在最近一个月内的历史行为数据与所述历史反馈数据,此时,历史行为数据可以仅包含:历史查阅行为数据。
又例如,可以获取终端设备中所有购物类APP在最近一年内的历史交易数据、历史评价数据与历史反馈数据。
S104,根据所述历史行为数据与所述历史反馈数据,确定提问关键词。
本公开实施例中,关键词用于与对象进行关联。具体实现时,关键词可以具体为对象的属性、类别或紧密联系词。并且,关键词在进行预设时,还可以进一步考虑多层次分类的方式。
以新闻类对象为例进行举例说明。例如,关键词可以为“体育”、“篮球”、“知名篮球运动员A”等。其中,“体育”所关联的新闻对象包含了“篮球”所关联的新闻对象;而“知名篮球运动员A”作为篮球类新闻对象的紧密联系词,可以与篮球类新闻对象建立关联关系,也就是,其可以关联“篮球”所关联的新闻对象,或包含在“篮球”所关联的新闻对象中。其他种类对象的关键词预设方式与前述新闻类对象类似,不再赘述。
基于前述预设的关键词集合,再结合用户的历史行为数据,获取提问关键词即可。具体实现时,提问关键词可以是当前不能确定用户是否感兴趣的K个关键词(其中,K为大于0的整数),或者,提问关键词还可以是用户最可能感兴趣的K个关键词。
该步骤的具体实现方式,后续具体说明。
S106,根据所述提问关键词进行问答交互,得到反馈数据。
也就是,根据前述步骤确定的提问关键词,输出提问数据,并通过采集用户针对提问数据的操作信息,来得到反馈数据。
例如,若前述确定的提问关键词为“体育”,则该步骤可以输出提问问题“您是否喜欢体育?”,同时,还可以输出可供用户选择或操作的虚拟按键,如此,通过采集用户在虚拟按键上的从操作信息,即可得到反馈数据“喜欢”或“不喜欢”。
此外,前述S104所确定的提问关键词可以为一个或多个,因此,在执行该步骤时,若提问关键词为多个,则可以采用多轮交互的方式实现;或者,也可以通过单轮交互实现。
具体的,一种可能的设计中,可以同时输出多个提问问题(或提问关键词),并将用户选择的提问关键词,作为感兴趣的关键词。例如,可以在终端界面上显示提问问题“请选择您感兴趣的关键词”,并输出前述确定的多个关键词,如此,若采集到用户针对各关键词的选中操作,即可得到该问答交互的反馈数据。
S108,根据所述反馈数据,确定目标推荐对象。
也就是,根据用户反馈的感兴趣关键词,来为用户进行对象推荐,如此,能够提高推荐精度和可靠性。
S110,输出所述目标推荐对象。
基于前述确定的目标推荐对象,直接在终端设备的显示界面上输出,即可实现推荐。本公开实施对于输出方式无特别限定。例如,在可能的实现方式中,可优先输出匹配度或评价值较高的目标推荐对象。以及,还可以按照类别,依次输出或分区域输出不同类别的目标推荐对象。通过前述方案,可以通过与用户之间的问答交互,来确定用户感兴趣关键词,这能够适应用户的个性化需求,有效提高了对用户感兴趣对象的识别准确率与灵活性,也就提高推荐准确率与灵活度。
需要说明的是,在如图1及后续附图中,本公开实施例进一步示出了S110指向S102的流程,这是由于,本公开实施例所提供的技术方案在输出目标推荐对象之后,在执行下一次的推荐动作时,亦可以获取用户对本次输出的目标推荐对象的数据,以作为历史推荐数据,并参与下一次推荐过程。后续对此不再赘述。
以下,为了便于理解,对前述S104中确定提问关键词的实现方式进行具体说明。
如前所述,提问关键词可以是当前不能确定用户是否感兴趣的K个关键词(其中,K为大于0的整数),或者,提问关键词还可以是用户最可能感兴趣的K个关键词。
在S104的一种可能的实现方式中,可以参考图2所示的方法,S104可以通过如下方案实现:
S1042-2,获取所述历史行为数据与所述历史反馈数据所对应的第一关键词。
具体而言,第一关键词为根据历史行为数据与历史反馈数据所确定的用户感兴趣的关键词。如前所述,该第一关键词至少可以通过但不限于如下方法:第一神经网络模型(输入输出数据如前所述,不再赘述)、关键词聚类、对象与关键词之间的对应关系。
举例说明,可以提前预设对象与关键词之间的关联关系,从而,在执行该步骤时,根据该关联关系,获取历史行为数据与历史反馈数据所涉及到的各对象各自对应的关键词,即可得到第一关键词。或者,还可以根据该关联关系,获取历史行为数据与历史反馈数据所涉及到的各对象各自对应的关键词,然后,通过对这些关键词进行聚类处理,并将聚类处理后的关键词作为第一关键词。
S1042-4,获取关键词集合中除第一关键词之外的各第二关键词的感兴趣程度。
本公开实施例中,第二关键词是除第一关键词之外的关键词,也就是,历史行为数据未涉及或涉及较少的关键词,这部分关键词的兴趣倾向难以确定,因此,可着重关注用户对这部分关键词的兴趣倾向。
具体而言,感兴趣程度可以有多种获取方式。在一种可能的设计中,可以将第二关键词与第一关键词集合之间的接近程度作为第二关键词的感兴趣程度。此时,至少可以通过如下至少一种方式获取得到:
获取第二关键词与各第一关键词之间的接近程度,然后,通过对接近程度进行加权处理或平均值处理等,得到第二关键词与第一关键词集合之间的接近程度,以作为第二关键词的感兴趣程度即可。
或者,还可以预先对第一关键词集合进行向量化梳理,如此,只需要将各第二关键词也进行向量化处理,并获取各第二关键词的向量与第一关键词集合的向量进行接近程度,即可得到各第二关键词的感兴趣程度。
此外,除前述获取每个第二关键词的感兴趣程度之外,还可以按照前述一种实现方式中对关键词进行分类或分级的方式,优先对大分类第二关键词进行感兴趣程度的计算,若大分类关键词的感兴趣程度低于预设的程度阈值,则此时的大分类关键词即为用户未涉及过的关键词,可以不再进行该大分类关键词下小分类关键词的感兴趣程度的获取。例如,“体育”为大分类关键词,而“篮球”为“体育”下属的一个小分类关键词,此时,若“体育”的感兴趣程度较低,用户未涉及过体育类对象,则无需再获取“篮球”等下属小分类关键词的感兴趣程度。这种实现方式能够在一定程度上该步骤需要处理的数据量,有利于提高处理效率。
S1042-6,按照所述感兴趣程度由低至高的顺序,获取排序靠前的至少一个第二关键词,以作为所述提问关键词。
针对感兴趣程度较低的第二关键词,用户可能从未涉及过这些第二关键词所指代领域的对象,因此,可以在其中选择至少一个第二关键词,以作为提问关键词,从而,可以通过问答交互来确定用户对这些很不确定的第二关键词的兴趣倾向。
举例说明,在为用户进行新闻推荐的场景中,若用户的历史行为数据中不包含任何对体育新闻的记录或反馈,此时,通过前述方法得到的“体育”这一关键词的感兴趣程度会非常低,此时,可以将“体育”作为提问关键词以询问用户对“体育”这个关键词的反馈数据,从而,更好的了解用户的兴趣。
此外,考虑到经过前述处理,感兴趣程度较低的第二关键词的数目仍较多,此时,考虑到问答交互的数据量,还可以进一步对这些感兴趣程度较低的第二关键词进行二次筛选,以获取小于或者等于指定数目的提问关键词。
一种可能的设计中,可以按照各关键词的分类关系,对于每个大分类所对应的多个第二关键词组而言,按照分类级别按照由高至低的顺序,将分类级别较高的一个或多个第二关键词确定为提问关键词。
例如,在新闻推荐场景中,获取到感兴趣程度较低的第二关键词包括:“体育”、“财经”、“篮球”、“足球”、“股票”,此时,可以按照分类级别,分别将分类级别较高的“体育”和“财经”确定为提问关键词。
另一种可能的设计中,可以按照各第二关键词的分类级别,分别为各分类级别进行前述感兴趣程度的排序,从而,将相应级别排序(由低至高)靠前的一个或多个第二关键词确定为提问关键词。
例如,在新闻推荐场景中,获取到第二关键词“体育”、“财经”、“篮球”、“足球”、“股票”,此时,可以按照大分类级别,对“体育”与“财经”的感兴趣程度进行对比,“财经”的感兴趣程度较低,可以作为一个提问关键词,此时,“财经”下属的关键词“股票”则无需再进行比对筛选。而“体育”下属进一步包含的“篮球”相较于“足球”的感兴趣程度较低,亦可作为该分类级别的一个提问关键词。如此,可得到该场景下的提问关键词:“财经”和“篮球”。
除如前述设计类似的采取更进一步的筛选策略之外,还可以在感兴趣程度排序(由低至高)靠前的多个第二关键词中,随机选择其中的K个第二关键词作为提问关键词,不再赘述。
除单独实现S1042-6以确定提问关键词的实现方式之外,本公开实施例还进一步提供了另外的实现方案:单独实现如下的S1042-8;或者,S1042-6与S1042-8结合以确定提问关键词。
S1042-8,按照所述感兴趣程度由低至高的顺序,获取排序靠后的至少一个第二关键词,以作为所述提问关键词。
具体的,这种设计是考虑到感兴趣程度越高,与用户的历史行为数据越接近,用户越有可能对这部分关键词所对应的对象感兴趣。
该步骤的实现方式在具体实现方式方面与S1042-6类似,不再额外赘述。而在二者的结合方案方面,则可以采用分别筛选感兴趣程度较高的x个第二关键词与感兴趣程度较低的y个第二关键词,其中,x与y之和小于或者等于K,x与y均为大于0的整数。
除前述利用感兴趣程度来实现提问数据的确定之外,本公开实施例还进一步给出了S104的另外可能的实现方式:利用预测的方式确定提问关键词。
一种可能的设计中,可以参考图3所示的方法,S104可以通过如下方案实现:
S1043-2,根据所述历史行为数据与所述历史反馈数据,预测所述用户的感兴趣对象。
该步骤可以通过训练好的对象预测模型来对历史行为数据与历史反馈数据进行处理,对象预测模型的输出为用户的感兴趣对象。本公开实施例对于对象预测模型的类型无特备限定,其可以为卷积神经网络(Convolutional Neural Networks,CNN)模型、循环神经网络(Recurrent Neural Network,RNN)模型等。在执行该步骤之前,还需要利用样本数据对初始对象预测模型进行训练,以得到训练好的对象预测模型;其中,样本数据中的输入数据与历史行为数据、历史反馈数据的数据形式一致。
此外,在将历史行为数据与历史反馈数据输入至对象预测模型之前,还可以根据实际需要将历史行为数据与历史反馈数据进行预处理,如:数值化处理、归一化处理、聚类处理、向量化处理、融合处理中的一种或多种,本公开实施例对此无特别限定。
S1043-4,获取所述感兴趣对象对应的至少一个第三关键词,以作为所述提问关键词。
基于前述预测到的感兴趣对象,则根据对象与关键词之间的映射关系,确定这些感兴趣对象所对应的第三关键词。此外,与前述实现方式类似,考虑到第三关键词的数目可能较多,因此,还可以采用筛选算法或随机选择的方式在第三关键词中确定出提问关键词,不再赘述。
如图3所示的实现方式以用户的历史行为数据为依据,对用户可能感兴趣的对象进行预测,当样本数据量足够时,对象预测模型也具备较高的预测精度,以此为依据得到的提问关键词也更符合用户的兴趣倾向。
此外,在如图3所示的实现方式中,除直接按照S1043-4进行处理之外,考虑到第三关键词可能与第一关键词之间存在重叠,针对重叠的部分关键词,无需再去询问用户,因此,可针对无重叠部分的关键词进行询问,以最大化降低第一关键词与第三关键词之间的区别。此时,可以参考图4,S104还可以通过如下方案实现:
S1044-2,根据所述历史行为数据与所述历史反馈数据,预测所述用户的感兴趣对象。
S1044-4,获取所述感兴趣对象对应的第三关键词,以及,获取所述历史行为数据所涉及到的感兴趣对象对应的第一关键词。
其中,第一关键词的定义与前述相同,不再赘述。
S1044-6,获取与所述第一关键词无交集的至少一个第三关键词,以作为所述提问关键词。
除图3或图4利用用户的历史行为数据进行对象预测之外,还可以直接实现关键词的预测。此时,可参考图5所示方法,S104包含如下步骤:
S1045,利用训练好的关键词预测模型处理所述历史行为数据与所述历史反馈数据,并获取所述关键词预测模型的输出,得到所述提问关键词。
其中,关键词预测模型的输入数据为用户的历史行为数据与历史反馈数据。类似的,除直接将历史行为数据与历史反馈数据输入该关键词预测模型之外,还可以在输入至关键词预测模型之前,对历史行为数据与历史反馈数据进行预处理,可以包括但不限于:数值化处理、归一化处理、聚类处理、向量化处理、融合处理中的一种或多种,本公开实施例对此无特别限定。
而关键词预测模型的输出可以根据实际需要进行训练。一种可能的设计中,关键词预测模型输出的关键词可以为:用户最有可能感兴趣的K个关键词;或者,另一种设计中,关键词预测模型输出的关键词可以为:最不确定用户是否感兴趣的K个关键词。
本公开实施例对于关键词预测模型的类型无特备限定,其可以为CNN模型、RNN模型等。在执行该步骤之前,还需要利用样本数据对初始关键词预测模型进行训练,以得到训练好的关键词预测模型。
通过前述如图2-5任一实现方式,均可实现针对提问关键词的确定。
此外,在具体实现本方案时,前述问答交互可以在每次为用户进行个性化推荐或服务定制时自动实现。
例如,一种商品推荐场景中,若采集到用户的操作信息触发了推荐动作,则可通过前述任一实现方式实现问答交互,以获取到的用户兴趣画像来确定用户感兴趣的商品,并输出其相关信息。
此外,还可以根据历史行为数据与历史反馈数据来获取历史推荐对象的满意程度。从而,若所述满意程度未达到预设的满意条件,则依据前述方法来确定所述提问关键词并进行问答交互以得到用户兴趣画像。反之,若所述满意程度达到预设的满意条件,则无需进行问答交互,直接输出当前方法确定的推荐对象即可,这能够简化用户操作,有利于提高用户体验度。
而根据历史行为数据与历史反馈数据来获取满意程度的方法可以按照如下方式实现:在所述历史行为数据与历史反馈数据中,获取所述用户对历史推荐对象进行的各操作行为的特征值;然后,对各操作行为的特征值进行加权处理,得到所述历史推荐对象的满意程度。
其中,所述特征值用于表征操作行为的次数与满意倾向中的至少一种。具体而言,本公开实施例所涉及到的操作行为可以包括但不限于如下至少一种:查阅行为、分享行为、交易行为、收藏行为与评价行为。
以新闻推荐场景为例,可以记录用户对历史推荐新闻的查阅次数、分享次数、收藏次数以及评价行为的正负向(如:赞同或不赞同)数据,从而,根据预设的评分规则,如统计计数的方式(各操作行为对应的分数可以相同也可以不同),得到针对历史推荐新闻的特征值。而在获取用户对历史推荐新闻的满意程度时,则可根据自定义的权重获取各操作行为特征值的加权和(或加权平均值)即可。
而获取到满意程度之后,还需要进一步与预设的满意条件进行比对。本公开实施例中,满意条件可以根据需要预设,可预设为具体的满意度阈值,或也可以预设为未达到满意度阈值的次数达到预设的数目阈值。
那么,若所述满意程度小于或者等于所述满意度阈值,则确定所述满意程度未达到预设的满意条件,则执行前述S104~S108步骤。
如此,请参考图6,该方法在执行S104之前,还包括如下步骤:
S1032,根据所述历史行为数据与所述历史反馈数据,获取历史推荐对象的满意程度。
S1034,判断所述满意程度是否小于或等于预设的满意度阈值;若是,执行S1036;若否,结束。
S1036,所述满意程度小于或者等于所述满意度阈值的累计数目加一。
S1038,判断累计数目是否达到预设的数目阈值;若是,执行S104;若否,执行S102。
通过前述方案,能够在一定程度上降低问答交互的次数,这有利于简化用户操作,提高用户友好度。
如前所述,在问答交互场景中,用户可以针对输出提问问题进行选择,因此,需要在问答交互过程中采集用户的操作信息。但是,考虑到用户可能不想进行交互,或需要跳过某一个问题,针对这种情况,本公开实施例还进一步给出了问答交互的退出机制:
在所述问答交互过程中,采集所述用户的操作信息;
若所述操作信息指示取消问答交互,停止所述问答交互;
若所述操作信息指示跳过当前提示问题,输出下一个提示问题或停止所述问答交互。这是考虑到,若当前输出的提示问题即为最后一个提示问题,则此时若继续采集到取消操作信息,则可停止问答交互。
具体而言,用户的操作信息用于指示何种信息,可以根据需要预设。具体的,在进行预设时,可通过针对虚拟按键或实体按键的点击(或双击)操作信息、针对输出的提问输出框或提示信息的滑动操作或长按操作信息等来实现预设,从而,若采集到与预设操作信息相同的操作信息时,即可确定该预设操作信息所指示的动作。
例如,可以在问答交互过程中,同时在显示界面中输出取消虚拟按键,如在提问输出框的右上角显示“×”,则若采集到用户针对该取消按钮的点击操作信息,则可以确定该操作信息指示取消问答交互。
又例如,可以在交互问答交互过程中,若采集到用户针对实体或虚拟的“返回”按键的点击操作信息,亦可以确定该操作信息指示取消问答交互。
又例如,可以在问答交互过程中,具备多个虚拟子页面,每个虚拟子页面均用于提问一个或多个关键词,如此,若采集到针对虚拟子页面的左右滑动动作,则可实现这些虚拟子页面的切换,也就实现了针对提问问题的切换或跳过。
通过前述实现方案,可以实现与用户之间的问答交互,从而,获取到用户的感兴趣关键词。
以下,对前述用户兴趣画像的使用场景作进一步解释说明。也就是,S108中确定目标推荐对象的方式。
具体而言,根据所述反馈数据,确定所述目标推荐对象的方法可以为:根据所述反馈数据,构建所述用户的用户兴趣画像,从而,根据所述用户兴趣画像,确定所述目标推荐对象。
在具体实现S108步骤时,可以仅根据所述反馈数据,确定目标推荐对象;或者,还可以根据所述历史行为数据与所述历史反馈数据中的一种,以及,所述反馈数据,来构建用户兴趣画像,进而确定所述目标推荐对象。
一种可能的实现方式中,通过前述问答交互,可以确定用户是否对各提问关键词是否感兴趣,如此,在执行该步骤时,可以将反馈数据所指示的用户的感兴趣关键词作为用户兴趣画像。此时,可单独通过反馈数据来实现目标推荐对象的确定。
此外,一种可能的实现场景中,本发明实施例给出了根据所述反馈数据、所述历史行为数据与所述历史反馈数据,确定所述目标推荐对象的实现方法。如图7所示,S108可以包括如下步骤:
S1082,根据所述反馈数据、所述历史行为数据与所述历史反馈数据,构建所述用户的用户兴趣画像。
一种可能的设计中,若存在历史行为数据与历史反馈数据,并由此得到历史兴趣画像,则在执行该步骤时,可根据反馈数据所确定的所述感兴趣关键词,对历史兴趣画像进行更新,得到所述用户兴趣画像。
另一种可能的设计中,还可以将历史行为数据、历史反馈数据与反馈数据进行融合,以得到用户兴趣画像。
而基于前述数据进行用户兴趣画像(或历史兴趣画像)的获取时,至少可通过如下方式获取:
一种实现方式中,可获取到反馈数据、历史反馈数据各自所指示的用户感兴趣关键词;而针对历史行为数据,则可以通过第一神经网络模型、关键词聚类或对象与关键词之间的对应关系等,来获取到历史行为数据所对应的关键词,从而,将二者合并,得到用户兴趣画像(或历史兴趣画像)。其中,第一神经网络模型的输入为历史行为数据,输出为用户感兴趣关键词。然后,将反馈数据、历史反馈数据各自所指示的用户感兴趣关键词,与历史行为数据对应的感兴趣关键词进行融合(可进一步涉及去重或归类等处理),即可得到用户兴趣画像。
另一种实现方式中,将历史行为数据、历史反馈数据与反馈数据进行融合,得到融合特征向量,进而,利用第二神经网络模型处理该融合特征向量,即可得到用户兴趣画像(或历史兴趣画像)。其中,第二神经网络模型的输入为特征向量,输出为用户感兴趣关键词。
此外,图8所示的场景是利用历史行为数据、历史反馈数据与反馈数据实现目标推荐对象的确定的,在实际应用中,也可仅采用历史行为数据或者历史反馈数据中的一种与反馈数据结合来确定目标推荐对象,实现方式与前述类似,不再赘述。
S1084,根据所述用户兴趣画像,确定目标推荐对象。
如前所述,用户兴趣画像中可以包含用户感兴趣的至少一个感兴趣关键词,而每个关键词还可以对应于多种对象。例如,用户兴趣画像可以为:体育、财经、居家,而“体育”还可以进一步对应于多个体育新闻,其他亦类似。那么,在执行该步骤时,还需要进一步根据用户兴趣画像来确定最终要推荐给用户的目标推荐对象。
本公开实施例至少给出如下实现方式:
一种实现方式中,根据所述用户兴趣画像确定至少一个目标关键词;根据各对象与所述至少一个目标关键词的匹配度由高至低的顺序,将其中排序靠前的至少一个对象确定为所述目标推荐对象。
这种实现方式中,可随机或任意规则确定至少一个目标关键词,进而,针对任一目标关键词,获取该目标关键词与所关联的各对象之间的匹配度,进而,选择匹配度较高的对象确定为目标推荐对象。
其中,匹配度的获取可以有多种方式。例如,可利用神经网络算法来对对象的关键词属性进行识别,进而,得到该对象与各关键词之间的匹配度。又例如,还可以对对象信息进行关键词识别,并将该对象信息中目标关键词在所有关键词中的出现比例作为匹配度。
另一种实现方式中,确定所述用户兴趣画像所指示的对象类别;在每个对象类别中,按照评价值由高至低的顺序,将其中排序靠前的至少一个对象确定为所述目标推荐对象。
这种实现方式中,用户兴趣画像中包含的各感兴趣关键词均可用于指向一种或多种对象类别,此时,针对每个对象类别,再单独筛选出评价值较高的一个或多个对象作为目标推荐对象。
其中,评价值可通过对象相关信息的统计规则实现。且本公开实施例对于前述参与处理的评价值的维度无特别限定。其可以是对象整体的评价值,也可以是信用程度的评价值,或者,也可以是好评值,或者,可以是查看维度的评价值。例如,针对商品等实体对象而言,其评价值可以包括但不限于如下几种:综合评价值、交易程度值(如交易总额等)、评论数据值(如好评率、差评率等)等;针对新闻等信息对象而言,其评价值可以包括但不限于:查阅评价值(如点击率)、分享评价值(分享次数等)等。
此外,除前述实现方式之外,亦可以通过神经网络算法来获取目标推荐对象。此时,推荐模型的输入数据为用户兴趣画像,输出为预测的目标推荐对象。可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各关键词,但这些关键词不应受到这些术语的限制。这些术语仅用于将一个关键词与另一个关键词区别开。比如,在不改变描述的含义的情况下,第一关键词可以叫做第二关键词,并且同样第,第二关键词可以叫做第一关键词,只要所有出现的“第一关键词”一致重命名并且所有出现的“第二关键词”一致重命名即可。第一关键词和第二关键词都是关键词,但可以不是相同的关键词。
本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
实施例二
基于上述实施例一所提供的对象推荐方法,本公开实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
本公开实施例提供了一种对象推荐装置,请参考图8,该对象推荐装置800,包括:
获取模块81,用于获取用户的历史行为数据与历史反馈数据;
第一确定模块82,用于根据所述历史行为数据与所述历史反馈数据,确定提问关键词;
交互模块83,用于根据所述提问关键词进行问答交互,得到反馈数据;
第二确定模块84,用于根据所述反馈数据,确定目标推荐对象;
所述交互模块82,还用于输出所述目标推荐对象。
一种可能的设计中,第一确定模块82,具体用于:
获取所述历史行为数据与所述历史反馈数据所对应的第一关键词;
获取关键词集合中除第一关键词之外的各第二关键词的感兴趣程度;
按照所述感兴趣程度由低至高的顺序,获取排序靠前的至少一个第二关键词,以作为所述提问关键词;和/或,按照所述感兴趣程度由低至高的顺序,获取排序靠后的至少一个第二关键词,以作为所述提问关键词。
另一种可能的设计中,第一确定模块82,具体用于:
根据所述历史行为数据与所述历史反馈数据,预测所述用户的感兴趣对象;
获取所述感兴趣对象对应的至少一个第三关键词,以作为所述提问关键词。
另一种可能的设计中,第一确定模块82,具体用于:
根据所述历史行为数据与所述历史反馈数据,预测所述用户的感兴趣对象;
获取所述感兴趣对象对应的第三关键词,以及,获取所述历史行为数据与所述历史反馈数据所对应的第一关键词;
获取与所述第一关键词无交集的至少一个第三关键词,以作为所述提问关键词。
另一种可能的设计中,第一确定模块82,具体用于:
利用训练好的关键词预测模型处理所述历史行为数据与所述历史反馈数据,并获取所述关键词预测模型的输出,得到所述提问关键词。
此外,另一种可能的设计中,第一确定模块82,还具体用于:
根据所述历史行为数据与所述历史反馈数据,获取历史推荐对象的满意程度;
若所述满意程度未达到预设的满意条件,根据所述历史行为数据,确定所述提问关键词。
此时,一种实现方式中,第一确定模块82,还具体用于:
在所述历史行为数据与所述历史反馈数据中,获取所述用户对历史推荐对象进行的各操作行为的特征值;所述特征值用于表征操作行为的次数与满意倾向中的至少一种;
对各操作行为的特征值进行加权处理,得到所述历史推荐对象的满意程度。
此时,另一种实现方式中,第一确定模块82,还具体用于:
将所述满意程度与预设的满意度阈值进行比对;
若所述满意程度小于或者等于所述满意度阈值,则确定所述满意程度未达到预设的满意条件;或者,统计所述满意程度小于或者等于所述满意度阈值的累计数目,若所述累计数目达到预设的数目阈值,则确定所述满意程度未达到预设的满意条件。
另一种可能的设计中,交互模块83,还具体用于:
在所述问答交互过程中,采集所述用户的操作信息;
若所述操作信息指示取消问答交互,停止所述问答交互;
若所述操作信息指示跳过当前提示问题,输出下一个提示问题或停止所述问答交互。
另一种可能的设计中,第二确定模块84,具体用于:
根据所述反馈数据,构建所述用户的用户兴趣画像;
根据所述用户兴趣画像,确定所述目标推荐对象。
一种可能的设计中,第二确定模块84,可具体用于:
根据所述反馈数据,确定所述感兴趣关键词,以作为所述用户兴趣画像;或者,
根据所述反馈数据,确定所述感兴趣关键词,并利用所述感兴趣关键词对历史兴趣画像进行更新,得到所述用户兴趣画像;其中,所述历史兴趣画像为根据所述历史行为数据得到的兴趣画像。
其中,一种实现方式中,第二确定模块84具体用于:
根据所述用户兴趣画像确定至少一个目标关键词;
根据各对象与所述至少一个目标关键词的匹配度由高至低的顺序,将其中排序靠前的至少一个对象确定为所述目标推荐对象。
或者,另一种实现方式中,第二确定模块84具体用于:
确定所述用户兴趣画像所指示的对象类别;
在每个对象类别中,按照评价值由高至低的顺序,将其中排序靠前的至少一个对象确定为所述目标推荐对象。
另一种实现方式中,第二确定模块84具体用于:
根据所述反馈数据,确定目标推荐对象;或者,
根据所述历史行为数据与所述历史反馈数据中的一种,以及,所述反馈数据,确定所述目标推荐对象。
本公开实施例中,所述历史行为数据包括如下至少一种:历史查阅行为数据、历史分享行为数据、历史交易行为数据、历史收藏行为数据与历史评价行为数据。
图8所示实施例的对象推荐装置800可用于执行上述方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述,可选的,该对象推荐装置800可以为终端设备。
应理解以上图8所示对象推荐装置800的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,获取模块84可以为单独设立的处理元件,也可以集成在对象推荐装置800中,例如终端的某一个芯片中实现,此外,也可以以程序的形式存储于对象推荐装置800的存储器中,由对象推荐装置800的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central ProcessingUnit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
并且,本公开实施例提供了一种对象推荐装置,请参考图9,该对象推荐装置800,包括:
存储器810;
处理器820;以及
计算机程序;
其中,计算机程序存储在存储器810中,并被配置为由处理器820执行以实现如上述实施例所述的方法。
其中,对象推荐装置800中处理器820的数目可以为一个或多个,处理器820也可以称为处理单元,可以实现一定的控制功能。所述处理器820可以是通用处理器或者专用处理器等。在一种可选地设计中,处理器820也可以存有指令,所述指令可以被所述处理器820运行,使得所述对象推荐装置800执行上述方法实施例中描述的方法。
在又一种可能的设计中,对象推荐装置800可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。
可选地,所述对象推荐装置800中存储器810的数目可以为一个或多个,存储器810上存有指令或者中间数据,所述指令可在所述处理器820上被运行,使得所述对象推荐装置800执行上述方法实施例中描述的方法。可选地,所述存储器810中还可以存储有其他相关数据。可选地处理器820中也可以存储指令和/或数据。所述处理器820和存储器810可以单独设置,也可以集成在一起。
此外,如图9所示,在该对象推荐装置800中还设置有收发器830,其中,所述收发器830可以称为收发单元、收发机、收发电路、或者收发器等,用于与测试设备或其他终端设备进行数据传输或通信,在此不再赘述。
如图9所示,存储器810、处理器820与收发器830通过总线连接并通信。
若该对象推荐装置800用于实现对应于图1中的方法时,例如,可以由收发器830实现与用户之间的问答交互。而处理器820用于完成相应的确定或者控制操作,可选的,还可以在存储器810中存储相应的指令。各个部件的具体的处理方式可以参考前述实施例的相关描述。
此外,本公开实施例提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行以实现如实施例一所述的方法。
以及,本公开实施例提供了一种终端设备,请参考图10,该终端设备1000包括:
终端主体1010;
对象推荐装置800,用于执行如实施例一任一实现方式所述的方法。
具体而言,本公开实施例所涉及到的终端设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(Personal Communication Service,简称PCS)电话、无绳电话、会话发起协议(Session Initiation Protocol,简称SIP)话机、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字助理(Personal DigitalAssistant,简称PDA)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(RemoteStation)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(UserTerminal)、用户代理(User Agent)、用户设备(User Device or User Equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、平板电脑等设备。
由于本实施例中的各模块能够执行实施例一所示的方法,本实施例未详细描述的部分,可参考对实施例一的相关说明。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。