一种基于知识森林和用户偏好的个性化搜索推荐方法

    技术2024-11-22  45


    本发明涉及推荐知识表示和搜索,尤其涉及一种基于知识森林和用户偏好的个性化搜索推荐方法。


    背景技术:

    1、知识图谱(knowledge graph)是人工智能的重要分支技术,是一种结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系,其基本组成单位表示为“实体-关系-实体”的三元组,以及实体及其相关属性键值对,实体间通过关系相互联结,构成网状的知识结构。知识图谱以图形结构的形式表示知识,能够清晰地展示实体之间的关系,使知识更加直观和易于理解,并且可以捕捉和表达实体之间丰富多样的关系,从而提供了更加细致和全面的知识表达能力。知识图谱中的实体和关系具有语义化的描述,能够提供更多的语义信息,使计算机能够更好地理解和推理知识,并根据知识图谱的结构化知识表示来进行复杂地推理和推断。目前,知识图谱广泛应用于搜索引擎、智能助理、推荐系统、智能问答、自然语言处理以及数据分析等领域,为各种应用场景提供了强大的知识支持和语义理解能力。

    2、知识图谱以实体三元组单元的形式组成一个完整庞大的知识网络,但这种实体三元组单元存在着巨大的问题。首先,对于实体和关系的表示有时可能过于简化,无法捕捉到复杂的语义信息。例如某些关系可能具有多义性,而知识图谱中的关系表示可能无法区分不同的含义,导致语义丰富性不足。其次,现实世界中的许多关系具有复杂的结构和语义含义,但知识图谱的三元组结构有时难以捕捉这种复杂性。例如某些关系可能是多重或递归的,而知识图谱的简单三元组结构无法充分表示这种复杂性。虽然在理论上可以通过三元组的实体对和关系来阐述该三元组所表示的知识对应的自然语言语义信息。然而在实际应用中,由于巨大的信息量和相当多的同名实体,简单的三元组结构“实体-关系-实体”无法真正精确地表示一个唯一的知识信息。这种歧义现象在实际应用中造成了巨大的搜索以及推理难题,往往为解决这种歧义带来的问题,需要增加很多额外开销。再者,由于知识是不断变化和演化的,但知识图谱往往是静态的表示,随着时间的推移,知识图谱可能无法及时反映现实世界的变化和演化,导致知识的过时性和不准确性。

    3、现有的知识图谱搜索推荐算法包括:基于路径的推荐方法、基于嵌入的推荐方法、基于规则的推荐方法以及基于图神经网络的推荐算法。上述知识图谱搜索推荐算法都是在图结构的基础上来构建相关的搜索方法,但这样会存在一些缺点,例如:随着图规模的增加,基于路径的推荐方法会使计算复杂度大幅上升,同时还会产生大量不相关路径;基于嵌入的推荐方法在语义信息上存在天然的劣势;基于规则的推荐方法需要依赖于高质量的规则定义,且泛化能力差;而基于图神经网络的推荐方法则需要利用大量的标注数据来进行复杂的模型训练。


    技术实现思路

    1、针对上述现有技术的不足,本发明提出了一种基于知识森林和用户偏好的个性化搜索推荐方法,旨在通过提供一种便于推理和搜索的知识表示方式来避免实体歧义问题,有利于知识的推理和搜索,从而为知识表示领域提供更好地应用效果。

    2、本发明提出的一种基于知识森林和用户偏好的个性化搜索推荐方法,包括:

    3、步骤1:收集若干个用户的用户历史信息并进行预处理,根据用户需求为每一个用户构建一个属性集;

    4、步骤2:根据用户的属性集为每一个用户构建一棵知识模式树;

    5、步骤3:采用实体关系抽取算法分别对经预处理后的每个用户的用户历史信息进行实体关系抽取,并利用抽取到的实体和知识模式树构建知识树,进而利用所有用户的知识树构建知识森林;

    6、步骤4:采用图嵌入技术分别对知识森林中每个知识树的所有边进行赋权,得到最终的知识森林并保存至图数据库;

    7、步骤5:根据目标用户的用户需求构建目标用户知识树,通过调用图数据库中的知识森林来计算目标用户知识树与知识森林中各知识树的相似度,并利用计算出的相似度生成目标用户的个性化推荐列表;

    8、步骤1中所述用户历史信息,包括:用户特征信息、环境背景信息、历史交互信息和用户偏好信息;

    9、所述预处理包括:数据清洗、去重和格式标准化;

    10、步骤1中所述属性集的构建方法为:对于任意用户,根据用户需求分别确定若干个用于表示用户特征的属性、若干个用于表示环境状态的属性、若干个用于表示历史交互的属性和若干个用于表示用户偏好的属性,并将所有属性的集合作为该用户的属性集;

    11、步骤2中所述知识模式树的构建方法为:对于任意用户,将知识模式树的根节点表示为该用户的用户实体,根据用户历史信息将该用户的知识模式树划分为四个子树,分别为:用户特征子树、环境状态子树、交互记录子树和用户偏好子树;

    12、将所述用户特征子树的根节点表示为用户特征,将属性集中用于表示用户特征的各属性分别作为用户特征子树中连接根节点和子节点的边,并将各属性的属性值作为用户特征子树的子节点;

    13、将所述环境状态子树的根节点表示为环境状态,将属性集中用于表示环境状态的各属性分别作为环境状态子树中连接根节点和子节点的边,并将各属性的属性值作为环境状态子树的子节点;

    14、将所述交互记录子树的根节点表示为历史交互,将属性集中用于表示历史交互的各属性分别作为交互记录子树中连接根节点和子节点的边,并将各属性的属性值作为交互记录子树的子节点;

    15、将所述用户偏好子树的根节点表示为用户偏好,将属性集中用于表示用户偏好的各属性分别作为用户偏好子树中连接根节点和子节点的边,并将各属性的属性值作为用户偏好子树的子节点;

    16、其中每个子树中各子节点之间的层次关系由各子节点对应的属性之间的逻辑关系决定;

    17、所述步骤3进一步包括:

    18、步骤3.1:对于任意用户,采用实体关系抽取算法对经预处理后的该用户的用户历史信息进行实体关系抽取,分别得到用户特征信息中的实体、环境背景信息中的实体、历史交互信息中的实体和用户偏好信息中的实体;

    19、步骤3.2:将用户特征信息中提取到的实体与属性集中用于表示用户特征的各属性进行匹配,并将匹配成功的实体作为该属性的属性值;将环境背景信息中提取到的实体与属性集中用于表示环境状态的各属性进行匹配,并将匹配成功的实体作为该属性的属性值;将历史交互信息中提取到的实体与属性集中用于表示历史交互的各属性进行匹配,并将匹配成功的实体作为该属性的属性值;将用户偏好信息中提取到的实体与属性集中用于表示用户偏好的各属性进行匹配,并将匹配成功的实体作为该属性的属性值;

    20、步骤3.3:利用步骤3.2中得到的属性值为该用户的知识模式树的子节点进行赋值,并将赋值后的知识模式树作为该用户的知识树;

    21、步骤3.4:重复步骤3.1-3.3,直至为每个用户均构建一个知识树,将所有知识树的集合作为知识森林;

    22、所述步骤4进一步包括:

    23、步骤4.1:对于知识森林中任意知识树,分别对该知识树中的所有节点进行随机初始化,生成各节点的嵌入向量;

    24、步骤4.2:对于该知识树中的任意节点v,将节点v作为起点并采用随机游走算法进行随机游走,得到若干个相邻节点对;所述相邻节点对由节点v和节点v的一个邻居节点u组成;

    25、步骤4.3:利用图嵌入技术的损失函数分别计算每个相邻节点对的损失函数值作为该相邻节点对中节点v和邻居节点u之间的相似度;

    26、步骤4.4:采用随机梯度下降算法计算损失函数关于邻居节点u的嵌入向量的梯度,并利用该梯度更新邻居节点u的嵌入向量,得到邻居节点u更新后的嵌入向量;

    27、步骤4.5:重复步骤4.3-4.4,直至满足预设的迭代次数或满足损失函数最小化时,停止迭代,得到节点v所有邻居节点更新后的嵌入向量;

    28、步骤4.6:重复步骤4.2-4.5,直至获得该知识树中所有节点更新后的嵌入向量;

    29、步骤4.7:利用该知识树中所有节点更新后的嵌入向量来分别计算该知识树中每一对相邻节点之间的余弦相似度,采用sigmoid函数将每对相邻节点之间的余弦相似度映射到[0,1]之间,并将映射后的余弦相似度作为连接该对相邻节点的边的权重,得到赋权后的知识树;

    30、步骤4.8:重复步骤4.1-4.7,直至对知识森林中所有知识树的边都完成赋权,将所有赋权后的知识树的集合作为最终的知识森林并保存至图数据库;

    31、步骤4.3中所述损失函数表示为:

    32、

    33、其中l表示节点v和邻居节点u之间的相似度;v为知识树中所有节点的集合;n(u)为节点v的所有邻居节点的集合;vu为邻居节点u的嵌入向量;vv为节点v的嵌入向量;σ表示sigmoid函数;

    34、所述步骤5进一步包括:

    35、步骤5.1:根据目标用户的用户需求获取目标用户的用户历史信息并构建目标用户知识树;

    36、步骤5.2:调用图数据库中的知识森林,对于该知识森林中的任意知识树,使用预训练语言模型分别对该知识树和目标用户知识树进行向量化处理,并分别提取该知识树和目标用户知识树中的所有路径并进行向量表示;

    37、步骤5.3:分别计算该知识树中各路径的向量表示与目标用户知识树中各路径的向量表示的余弦相似度作为该知识树中各路径与目标用户知识树中各路径的相似度得分;

    38、步骤5.4:将该知识树中所有路径与目标用户知识树中所有路径的相似度得分进行聚合,得到该知识树与目标用户知识树的整体相似度;

    39、步骤5.5:重复步骤5.2-5.4,得到调用的知识森林中所有知识树与目标用户知识树的整体相似度;

    40、步骤5.6:将目标用户知识树与每个知识树的整体相似度按照从高到低的顺序进行排序,并选择排序结果中前k个知识树作为目标用户的相似知识树;

    41、步骤5.7:依次获取k个目标用户的相似知识树中用户偏好子树中所有子节点对应的属性值并作为目标用户的个性化推荐结果,并生成目标用户的个性化推荐列表;

    42、步骤5.4中所述将该知识树中所有路径与目标用户知识树中所有路径的相似度得分进行聚合的方法为:

    43、

    44、其中t1表示知识森林中的任意知识树;t2为表示目标用户知识树;similarity(t1,t2)表示t1和t2的整体相似度;p1和p2分别是t1和t2中的路径集合;p为p1中的路径;q为p2中的路径;cosinesimilarity(·)是余弦相似度函数;weight(p)表示路径p的权重;weight(q)表示路径q的权重。

    45、采用上述技术方案所产生的有益效果在于:

    46、与传统的图结构相比,本发明方法通过设计一种有向带权树的树形结构来构建知识树,进而构建可用于个性化搜索推荐的知识森林,在设计有向带权树的树形结构时,本发明方法利用了基本树形结构和权重分配的原理来为每一个提取到的实体都构建一个知识树,对于任意提取到的同名实体,由于同名实体在不同知识树中具有不同的权重,从而在推理和搜索过程中消除了由实体重名引起的歧义问题,确保了信息的精确性和一致性,有效地解决了实体歧义问题,实现精准的信息组织。

    47、本发明方法设计的树形结构,即知识模式树可以提供直观清晰的层级关系和明确的节点连接,使得信息流动路径更加清晰,从而优化了推理和搜索过程,使推理和搜索过程更加有序。

    48、本发明方法采用的节点权重分配机制来突出知识树中的各节点信息的重要性,帮助搜索系统和用户快速识别关键信息,从而在决策过程中提高了推理和搜索的准确性和效率。


    技术特征:

    1.一种基于知识森林和用户偏好的个性化搜索推荐方法,其特征在于,该方法包括如下步骤:

    2.根据权利要求1所述一种基于知识森林和用户偏好的个性化搜索推荐方法,其特征在于,步骤1中所述用户历史信息,包括:用户特征信息、环境背景信息、历史交互信息和用户偏好信息;

    3.根据权利要求2所述一种基于知识森林和用户偏好的个性化搜索推荐方法,其特征在于,步骤1中所述属性集的构建方法为:对于任意用户,根据用户需求分别确定若干个用于表示用户特征的属性、若干个用于表示环境状态的属性、若干个用于表示历史交互的属性和若干个用于表示用户偏好的属性,并将所有属性的集合作为该用户的属性集。

    4.根据权利要求3所述一种基于知识森林和用户偏好的个性化搜索推荐方法,其特征在于,步骤2中所述知识模式树的构建方法为:对于任意用户,将知识模式树的根节点表示为该用户的用户实体,根据用户历史信息将该用户的知识模式树划分为四个子树,分别为:用户特征子树、环境状态子树、交互记录子树和用户偏好子树;

    5.根据权利要求4所述一种基于知识森林和用户偏好的个性化搜索推荐方法,其特征在于,所述步骤3进一步包括:

    6.根据权利要求5所述一种基于知识森林和用户偏好的个性化搜索推荐方法,其特征在于,所述步骤4进一步包括:

    7.根据权利要求6所述一种基于知识森林和用户偏好的个性化搜索推荐方法,其特征在于,步骤4.3中所述损失函数表示为:

    8.根据权利要求7所述一种基于知识森林和用户偏好的个性化搜索推荐方法,其特征在于,所述步骤5进一步包括:

    9.根据权利要求8所述一种基于知识森林和用户偏好的个性化搜索推荐方法,其特征在于,步骤5.4中所述将该知识树中所有路径与目标用户知识树中所有路径的相似度得分进行聚合的方法为:


    技术总结
    本发明提供一种基于知识森林和用户偏好的个性化搜索推荐方法,涉及推荐知识表示技术领域和搜索技术领域。该方法包括:收集若干个用户历史信息并根据用户需求为每个用户构建一棵知识模式树;采用实体关系抽取算法分别对用户历史信息进行实体关系抽取,并利用抽取到的实体和知识模式树构建知识树,进而利用所有用户的知识树构建知识森林;采用图嵌入技术分别对知识森林中每个知识树进行赋权,得到最终的知识森林并保存至图数据库;根据目标用户的用户需求构建目标用户知识树,通过调用图数据库的知识森林来计算目标用户知识树与知识森林中各知识树的相似度,生成目标用户的个性化推荐列表,提高了推理搜索的准确性和效率。

    技术研发人员:任飞亮,胡晶晶,黄勃然
    受保护的技术使用者:东北大学
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-22444.html

    最新回复(0)