一种基于高斯混合模型的用户知识需求模型构建方法与流程

文档序号:11199187阅读:591来源:国知局
一种基于高斯混合模型的用户知识需求模型构建方法与流程
本发明属于知识服务领域,尤其涉及一种基于高斯混合模型的用户知识需求模型构建方法。
背景技术
:随着近几年计算机运算能力的大幅提升和网络急速扩张,无论是在开放的互联网还是以企业为范围的局域网内,知识资源已十分丰富。随着知识的不断增加,设计人员花费在知识管理系统中的知识查找时间越来越长,甚至很难查到符合要求的知识,这不利于设计知识的共享和重用,也阻碍了设计人员设计效率和设计水平的提高。知识主动推送的方式符合大多数设计企业的现状,可以有效针对人员需求,实现知识的传递和推送服务,有效解决知识使用中的知识泛滥、知识迷航等问题,在企业内部和外部达到知识的共享和再创造。另一方面,主动推送的方式通过加快知识获取速度、提高知识获取准确率,加快企业内知识的有效传播,为效率和质量的提高乃至企业市场竞争力的提升打下良好基础。目前,知识推送系统在电子商务领域已经得到了广泛的应用,但其在产品设计领域的发展仍未成熟。描述用户的知识需求模型是发展面向知识推送系统的关键技术。然而,现有的模型构建技术主要利用关键词及其权重构建用户的知识需求模型,不能体现出知识内容的语义信息,本文提出一种基于功能词汇语义的高斯混合模型用户知识需求模型构建方法,以提高对用户知识需求兴趣拟合的准确度。技术实现要素:为解决上述问题,本发明提供一种基于高斯混合模型的用户知识需求模型构建方法,本发明基于功能词汇的语义信息,能够快速准确的获取用户知识需求分布,并为面向的知识推送系统的发展奠定基础。一种基于高斯混合模型的用户知识需求模型构建方法,包括以下步骤:步骤1:在已有知识库中提取功能词汇,并生成功能词汇集;步骤2:将功能词汇集中的各个功能词汇转化为向量,具体方法为:基于知识库训练word2vec的skip-gram模型,并根据该模型生成功能词汇的向量,其中一个功能词汇对应一个向量,且向量间接体现功能词汇的语义信息,功能词汇对应的向量的相似度随着功能词汇语义信息的相似度增加而增大;步骤3:针对用户浏览过的知识条目,统计所有知识条目中的功能词汇的词频,然后根据词频计算各个功能词汇对应的tf-idf权重;根据功能词汇的tf-idf权重对功能词汇进行排序,选取m个tf-idf权重最大的功能词汇,其中功能词汇为向量的表示形式,m为设定的数目;步骤4:基于步骤3选取出的m个功能词汇,利用em算法求解高斯混合模型参数,得到描述功能词汇分布的高斯混合模型;步骤5:向步骤4获得的高斯混合模型输入知识库中除步骤3中m个以外的功能词汇的向量,得到用户选择功能词汇的概率,然后根据该概率计算用户对知识库中所有知识条目的需求概率,最终得到用户对于知识条目的知识需求模型;步骤6:将步骤5中需求概率最高的设定数目的h个知识条目推送给用户并生成知识条目集,其中h为设定的数目;基于用户浏览的知识条目,实时更新用户浏览过的知识条目集并更新步骤3中m个tf-idf权重最大的功能词汇,然后基于更新过的m个tf-idf权重最大的功能词汇,通过步骤4和步骤5重新计算用户对于知识条目的知识需求模型。一种基于高斯混合模型的用户知识需求模型构建方法,步骤1所述功能词汇集的生成方法具体包括以下步骤:步骤11:采用中文分词系统,结合领域词典对知识库进行分词;步骤12:根据停用词表,对分词过后的知识库中的无用的停用词进行过滤;步骤13:词性标注,保留过滤掉无用的停用词后的知识库中的功能词汇,舍弃非功能词汇,得到语料集;步骤14:词频统计,统计语料集中所有功能词汇出现的频率;步骤15:去除高频率低区分度的功能词汇;步骤16:整理功能词汇,形成功能词汇集。一种基于高斯混合模型的用户知识需求模型构建方法,步骤1所述功能词汇集的生成方法为:直接选取专家已经整理完成的功能词汇。一种基于高斯混合模型的用户知识需求模型构建方法,步骤4所述的利用em算法求解高斯混合模型参数具体步骤为:步骤41:初始化高斯混合模型参数,其中高斯混合模型具体为:其中,xt表示功能词汇对应的向量,t=1,2,...,m,g(xt)是用户选择功能词汇对应的向量xt的概率,αk是第k个高斯分布的权重,μk,σk分别是第k个高斯分布的均值和方差,n(xt|μk,σk)为向量xt符合均值μk和方差σk的正态分布,k至少为3,高斯分布的3个参数初始值分别设定为步骤42:采用em算法优化高斯混合模型的参数,具体的:e步:将高斯分布的3个初始参数以及代入公式(2),分别作为αk、μk以及σk的初始值,计算向量xt由第k个高斯分布生成的概率其中,αj是第j个高斯分布的权重,μj,σj分别是第j个高斯分布的均值和方差;m步:基于e步计算出的概率运用最大似然法估计高斯混合模型的参数αk、μk以及σk:步骤43:将m步计算的结果αk、μk以及σk代入公式(1),计算向量的概率g(xt),并判断概率g(xt)与前一迭代结果的差值是否大于设定值ε,其中:如果用户选择任意向量的概率g(xt)与前一迭代结果的差值不大于设定值ε,则停止迭代,且αk、μk以及σk为最终的高斯混合模型参数;如果用户选择任意向量的概率g(xt)与前一迭代结果的差值大于设定值ε,则将m步的计算结果αk、μk以及σk取代初始参数以及再次代入公式(2),重新计算向量xt由第k个高斯分布生成的概率再根据新计算的概率代入m步的公式(3)、公式(4)以及公式(5),将得到的新的高斯分布的参数以及代入公式(1),计算向量的概率g(xt)*,并判断概率g(xt)与前一迭代结果的差值是否大于设定值ε;以此类推,直到用户选择任意向量的概率与前一迭代结果的差值不大于设定值ε,则停止迭代,得到最终的高斯混合模型参数。一种基于高斯混合模型的用户知识需求模型构建方法,步骤5所述的计算用户选择知识条目的概率具体步骤如下:知识条目di包含的功能词汇对应的向量为xm,其中i=1,2,...,q,m=1,2,...,p,每个功能词汇在知识条目di中出现的词频为tfi1,tfi2,...tfim...,tfip,对词频进行归一化处理之后,得到每个功能词汇在知识条目di中出现的的频率为wi1,wi2,...wim...,wip,其中归一化计算公式为:则用户选择知识条目di的概率g(di)为:其中公式(7)为用户对于知识条目的知识需求模型。有益效果:本发明首次利用高斯混合模型来构建用户知识需求的模型,本发明首先基于知识库训练word2vec的skip-gram模型,考虑功能词汇的语义信息,生成功能词汇的高维向量,然后利用选取的知识语料集训练高斯混合模型,运用多个高斯分布描述用户对于功能词汇的知识需求概率分布,运用em方法优化高斯混合模型的参数;最后建立词汇与条目之间的映射关系,获取用户对于知识条目的需求模型,以此为基础计算知识库中用户最有可能感兴趣的知识条目并将其推送给用户;现有技术主要以知识条目评分等外部属性或者知识条目关键词及其权重为基础构建用户需求模型,而本发明充分考虑功能词汇的语义信息,构建词汇的高维向量表示式,并以此为基础利用高斯混合模型拟合用户对功能词汇和知识条目的需求,本发明构建的高斯混合模型能更贴切的拟合用户知识需求模型,并提升知识推送准确率。附图说明图1为本发明基于高斯混合模型的用户知识需求模型预测方法示意图;图2为本发明具体实施方式中知识需求模型参数求解流程;图3为本发明具体实施方式中功能词汇与知识条目映射关系示意图。具体实施方式下面结合附图并举实施例,对本发明进行详细叙述。本发明提出了一种基于高斯混合模型的用户知识需求模型的构建方法,示意图如图1所示。本发明构建的需求模型主要考虑用户对功能词汇和知识条目的需求。本发明可以实现:1)已知用户浏览的知识条目推理出用户对于功能词汇的知识需求。由用户浏览过的知识条目提取出代表用户知识需求的功能词汇,并训练用户对于功能词汇的用户知识需求模型。功能词汇的表示为向量形式,反应了词汇的语义信息。2)已知用户对于功能词汇的知识需求模型推理基于知识条目的知识需求模型,其具体关系如图3所示。利用高斯混合模型表示用户对于功能词汇的知识需求,具体包括以下步骤:步骤1:对已有的知识库进行功能词汇提取,生成功能词汇集。所述功能词汇集的生成方法包括两种。第一种所述功能词汇集的生成方法:利用自然语言处理技术处理知识库提取功能词汇,具体包括以下步骤:步骤1.1:采用中文分词系统,结合领域词典对知识库进行分词;步骤1.2:根据停用词表,对分词过后的知识库中的无用的停用词进行过滤;步骤1.3:词性标注,保留过滤掉无用的停用词后的知识库中的动词词汇,即功能词汇,舍弃非动词词汇,即非功能词汇;步骤1.4:词频统计,统计语料集中所有功能词汇出现的频率;步骤1.5:去除高频率低区分度的功能词汇;步骤1.6:整理功能词汇,形成功能词汇集。第二种功能词汇集的生成方法:直接选取专家整理出的功能词汇/特征词汇作为功能词汇集。步骤2:将功能词汇转化为维数至少为100的高维向量形式;具体步骤为:基于知识库训练word2vec的skip-gram模型,并根据该模型生成功能词汇的高维向量,其中一个功能词汇对应一个高维向量,高维向量间接体现功能词汇的语义信息,且功能词汇对应的高维向量的相似度随着功能词汇语义信息的相似度增加而增大;步骤3:针对用户浏览过的知识条目,统计所有知识条目中的功能词汇的词频,然后根据词频计算各个功能词汇对应的tf-idf权重;根据功能词汇的tf-idf权重对功能词汇进行排序,选取m个tf-idf权重最大的功能词汇,其中功能词汇为高维向量的表示形式,其中m至少为1;具体步骤包括:步骤31:统计所有知识条目中出现的功能词汇词频,如表1所示:表1x1x2…xt…xmd1tf11tf12…tf1t…tf1md2tf21tf22…tf2t…tf2m…………………ditfi1tfi2…tfit…tfim…………………dqtfq1tfq2…tfqt…tfqm其中,tfit为词频,即知识条目di中词语xt出现的次数;步骤32:基于统计的词频,计算所有词语对应的tf-idf权重,计算公式为:其中:q:所有知识条目的总数;df(xt):知识条目频率,即包含词汇xt的知识条目总数;tfidf(xt):词语xt的tf-idf权重;步骤33:根据tf-idf权重大小对所有的功能词汇进行排序,选取前m个tf-idf权重较大的功能词汇。步骤4:将统计出的m个功能词汇作为用户最感兴趣的词汇,即用户选取此m个功能词汇的概率最大。基于m个功能词汇的高维向量表示式,基于统计出的m个功能词汇的高维向量集,利用em算法求解高斯混合模型参数,构建用户对于功能词汇的知识需求模型,得到描述功能词汇分布的高斯混合模型;流程如图2所示,具体步骤如下:步骤41:高斯混合模型参数初始化。使用高斯混合模型描述功能词汇的分布,其中高斯混合模型表示为:其中,其中,xt表示功能词汇对应的高维向量,t=1,2,...,m,g(xt)是用户选择功能词汇对应的高维向量xt的概率,αk是第k个高斯分布的权重,μk,σk分别是第k个高斯分布的均值和方差,n(xt|μk,σk)为高维向量xt符合均值μk和方差σk的正态分布,k至少为3,初始化高斯分布的参数共3k个变量;步骤42:根据高斯分布的初始化参数采用em算法优化求出高斯混合模型的参数,具体的:e步:将高斯分布的3个初始参数以及代入公式(2),分别作为αk、μk以及σk的初始值,由公式(2)计算高维向量xt由第k个高斯分布生成的概率其中,αj是第j个高斯分布的权重,μj,σj分别是第j个高斯分布的均值和方差;m步:基于计算出的运用最大似然法估计高斯混合模型的参数:步骤43:将m步计算的结果αk、μk以及σk代入公式(1),计算高维向量的概率g(xt),并判断概率g(xt)与前一迭代结果的差值是否大于设定值ε,其中:如果用户选择任意高维向量的概率g(xt)与前一迭代结果的差值不大于设定值ε,则停止迭代,且αk、μk以及σk为最终的高斯混合模型参数;如果用户选择任意高维向量的概率g(xt)与前一迭代结果的差值大于设定值ε,则将m步的计算结果αk、μk以及σk取代初始参数以及再次代入公式(2),重新计算高维向量xt由第k个高斯分布生成的概率再根据新计算的概率代入m步的公式(3)、公式(4)以及公式(5),将得到新的高斯分布的参数以及代入公式(1),计算高维向量的概率g(xt)*,并判断概率g(xt)与前一迭代结果的差值是否大于设定值ε;以此类推,直到用户选择任意向量的概率与前一迭代结果的差值不大于设定值ε,则停止迭代,得到最终的高斯混合模型参数。将参数带入公式(1),用户对于功能词汇的知识需求模型构建完成,输入知识库中其他功能词汇的高维向量表示式,输出为用户选择相应功能词汇的概率。步骤5:向高斯混合模型输入知识库中其他功能词汇的高维向量表示式,得到用户选择的该功能词汇的概率;基于功能词汇知识需求模型和用户选择的相应功能词汇的概率,计算用户对知识库中所有知识条目的需求概率,构建基于知识条目的用户知识需求模型,图3为二者映射关系示意图。具体计算方法为:条目di包含功能词汇为xm(此处为高维向量形式),其中i=1,2,...,q,m=1,2,...,p,每个功能词汇在条目di中出现的词频为tfi1,tfi2,...tfim...,tfip(如表1),归一化处理之后得到每个功能词汇的频率为wi1,wi2,...wim...,wip,其中归一化计算公式为:得到每个知识条目包含功能词汇的频率,如表2所示.表2x1x2…xm…xpd1w11w12…w1m…w1pd2w21w22…w2m…w2p…………………diwi1wi2…wim…wip…………………dqwq1wq2…wqm…wqp每个功能词汇的频率衡量了词对条目的重要程度,即权重。因此用户选择条目di的概率为:即为用户对于知识条目的知识需求模型。其中g(xm)为用户选择功能词汇xm的概率,wim为知识条目di中功能词汇xm出现的频率;步骤6:计算用户对知识库中所有条目的需求概率,将需求概率高的h个条目推送给用户,其中h至少为1;随着用户行为的累积,基于用户浏览的条目,实时更新用户浏览过的知识条目集并更新步骤3中m个tf-idf权重最大的功能词汇,并基于更新过的m词汇重新计算用户对于功能词汇以及知识条目的知识需求模型。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1