一种信息推荐的方法及系统与流程

文档序号:12063650阅读:194来源:国知局
一种信息推荐的方法及系统与流程

本发明涉及机器学习、自然语言处理领域,具体是一种信息推荐的方法及系统。



背景技术:

智能问答,也被称为会话代理或对话系统,如今已经成为继移动应用之后最热门的话题之一。随着时代的发展,互联网取得了巨大的成功,同时也产生了巨量的数据。如何从海量的数据中精准理解用户需求并找到用户需要的答案,成为了检索领域、自然语言处理等领域一个热门的研究课题,而智能问答是实现这一功能的关键技术。近两年,智能问答逐渐成为一个热门研究领域,像Google、微软、Facebook、阿里等世界级互联网巨头纷纷加入到对其的研究里面来,究其原因,无非是智能问答被定位为未来各种应用的接口。智能问答一般可分为三类:一问一答、交互式问答、阅读理解,而聊天机器人就属于交互式问答的一种实现形式。如果把聊天机器人当作各种应用的接口,那么基于聊天机器人的产品推荐将会是一个非常广阔的应用场景。

许多公司希望开发出能进行无法与人类相区分的自然会话机器人,而自然语言处理和深度学习技术来使其成为了可能。随着聊天机器人越来越聪明,越来越能理解人类的语言,那么它就会能够帮助人类做许多事情,我们与其聊天的频率就会越来越多。在聊天对话的过程中会涉及到用户各种需求,通过对用户聊天的文本信息进行处理分析和利用自然语言处理技术,能够确定用户的聊天主题,进而定位到用户的需求,据此可以进行精确产品推荐。推荐算法分为基于用户的协同过滤和基于物品的协同过滤,在对用户的行为分析得到用户的偏好后,可以根据用户的偏好计算相似用户和物品,然后基于相似用户或物品进行推荐。

推荐在互联网广告领域取得了巨大的成功。但是近两年来,随着问答系统取得巨大的发展,在问答系统里面进行产品推荐仍是一个空白领域,会话系统可以通过对用户聊天内容的分析,确定其聊天主题和需求,从而可以对用户进行精准的产品推荐。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种信息推荐的方法及系统,通过对用户聊天文本的分析,对用户的需求进行提取和定位,进而对用户进行精准的产品推荐。

本发明的目的是通过以下技术方案来实现的:一种信息推荐的方法,它包括以下步骤:

S1:构建库;

S2:获取文本内容;

S3:处理所述文本内容,提取主题;

S4:匹配库;

S5:推送信息或问答。

进一步的,在步骤S1中,所述的库包括产品信息库和知识存储库。

进一步的,在步骤S2中,能够通过QQ、微信、APP、网页对话机器人或者微信公众号,获取文本内容。

进一步的,在步骤S3中,所述的处理包括以下子步骤:

S31:对文本进行分词处理,判断是否具有特定的词汇;

S32:对文本进行命名实体识别;

S33:对文本进行上下文分析,提取相关主题。

进一步的,在步骤S33中,基于BTM模型,提取相关主题,包括以下子步骤:

S331:去掉文本中停用词,然后选取文本中的任意两个词对作为biterm词b;

S332:为了推断文本d中的主题z,设定文本的主题比例等于从文本中生成的biterms的主题比例的期望,则文档d中主题z的概率为:

S333:基于贝叶斯参数估计法计算P(z|b):

其中,P(z)=θ,P(wi|z)=φi|z,w代表每个词,wi代表第i个词,wj代表第j个词,P(wi|z)为在主题z中wi的比例,P(wj|z)为在主题z中wj的比例;

S334:计算隐含参数计算主题词分布和全局主题分布θ:

其中,α和β为设定的超参数,nd(b)是文本d中biterm b的频率,nz为主题z的频率,nw|z为主题z中词w的个数,|B|是biterm的总数,K为设定的主题个数,M是文本d中的互异词个数;

S325:计算P(b|d),设定文档d中的所有P(b|d)为均匀分布,将biterm经验分布作为估计:

其中,nd(b)是biterm b在文档d中出现的频率。

进一步的,在步骤S4中,所述的匹配根据文本处理和主题提取以后的结果,选择匹配产品信息库或知识存储库,产品信息库用于推荐产品信息,知识存储库用于问答。

进一步的,在步骤S5中,所述的推荐信息需要计算得分和得分排名,计算得分和得分排名包括以下子步骤:

S51:获取特征量D;

S52:对特征量D进行归一化处理;

S53:计算得分:

其中,Ri代表第i个产品的得分,代表归一化后的第i个产品的销量,Pi*代表归一化后的第i个产品的价格,代表归一化后的第i个产品的用户评价星级;

S54:根据得分进行排名;

S56:获取排名最高的产品信息,并对其进行格式化处理,保留产品名称和URL。

进一步的,在步骤S5中,所述的问答能够通过构建特定知识库或者使用开源知识库,能够储存大量的信息内容。

进一步的,所述的特征量D包括销量、价格和用户评价星级。

一种信息推荐的方法所使用的系统,它包括:

文本内容获取模块,用于获取用户聊天文本;

文本处理模块,用于对用户聊天内容的分析,计算用户的真实需求;

产品库,用于储存产品信息;

知识库,用于在问答状态提供相关的知识;

产品匹配模块,能够根据用户的真实需求,匹配到相应的产品及信息;

排名模块,用于对匹配到的产品信息的特征进行计算得分,按照得分对产品进行排名;

推送模块,用于把匹配、排名后的无结构化信息进行结构化处理,得到结构化的信息,并推送给用户。

本发明的有益效果是:本发明通过对用户的聊天内容分析,确定用户的需求和聊天主题,再进行产品推荐,推荐的结果更符合用户的需求。在本发明中,设定聊天时间窗,把每个聊天时间窗里的聊天文本作为一个文档,选择主题词分布中频率最高的词作为该主题的关键词,随着对话的进行,聊天主题不断的改变,根据不断改变的聊天主题来判断用户对产品的需求愿望。本发明的方法对自然语言的处理简洁高效,分析精细,提升了程序执行效率,本发明的软系统降低了向用户精准信息的成本,具有推广应用的价值。

附图说明

图1为本发明的方法步骤流程图;

图2为本发明的聊天机器人示意图;

图3为本发明的聊天流程图;

图4为本发明的聊天机器人系统结构图;

图5为本发明用于微信平台的聊天机器人的系统结构图。

具体实施方式

下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

如图1所示,一种信息推荐的方法,它包括以下步骤:

S1:构建库;

S2:获取文本内容;

S3:处理所述文本内容,提取主题;

S4:匹配库;

S5:推送信息或问答。

进一步的,在步骤S1中,所述的库包括产品信息库和知识存储库。

进一步的,在步骤S2中,能够通过QQ、微信、APP、网页对话机器人或者微信公众号,获取文本内容。

进一步的,在步骤S3中,所述的处理包括以下子步骤:

S31:对文本进行分词处理,判断是否具有特定的词汇;

S32:对文本进行命名实体识别;

S33:对文本进行上下文分析,提取相关主题。

进一步的,在步骤S33中,基于BTM模型,提取相关主题,包括以下子步骤:

S331:去掉文本中停用词,然后选取文本中的任意两个词对作为biterm词b;

S332:为了推断文本d中的主题z,设定文本的主题比例等于从文本中生成的biterms的主题比例的期望,则文档d中主题z的概率为:

S333:基于贝叶斯参数估计法计算P(z|b):

其中,P(z)=θ,P(wi|z)=φi|z,w代表每个词,wi代表第i个词,wj代表第j个词,P(wi|z)为在主题z中wi的比例,P(wj|z)为在主题z中wj的比例;

S334:计算隐含参数计算主题词分布和全局主题分布θ:

其中,α和β为设定的超参数,nd(b)是文本d中biterm b的频率,nz为主题z的频率,nw|z为主题z中词w的个数,|B|是biterm的总数,K为设定的主题个数,M是文本d中的互异词个数;

S325:计算P(b|d),设定文档d中的所有P(b|d)为均匀分布,将biterm经验分布作为估计:

其中,nd(b)是biterm b在文档d中出现的频率。

进一步的,在步骤S4中,所述的匹配根据文本处理和主题提取以后的结果,选择匹配产品信息库或知识存储库,产品信息库用于推荐产品信息,知识存储库用于问答。

进一步的,在步骤S5中,所述的推荐信息需要计算得分和得分排名,计算得分和得分排名包括以下子步骤:

S51:获取特征量D;

S52:对特征量D进行归一化处理;

S53:计算得分:

其中,Ri代表第i个产品的得分,代表归一化后的第i个产品的销量,Pi*代表归一化后的第i个产品的价格,代表归一化后的第i个产品的用户评价星级;

S54:根据得分进行排名;

S56:获取排名最高的产品信息,并对其进行格式化处理,保留产品名称和URL。

进一步的,在步骤S5中,所述的问答能够通过构建特定知识库或者使用开源知识库,能够储存大量的信息内容。

进一步的,所述的特征量D包括销量、价格和用户评价星级。

如图2,3,4所示,一种信息推荐的方法所使用的系统,它包括:

文本内容获取模块,用于获取用户聊天文本;

文本处理模块,用于对用户聊天内容的分析,计算用户的真实需求;

产品库,用于储存产品信息;

知识库,用于在问答状态提供相关的知识;

产品匹配模块,能够根据用户的真实需求,匹配到相应的产品及信息;

排名模块,用于对匹配到的产品信息的特征进行计算得分,按照得分对产品进行排名;

推送模块,用于把匹配、排名后的无结构化信息进行结构化处理,得到结构化的信息,并推送给用户。

常用的主题提取模型有很多,如LDA、NFM、BTM等方法,LDA模型对长文本主题提取较好,但是短文本则不行,本发明采用BTM方法对短文本进行主题提取。BTM,全称为biterm topic model,是一种提取短文本主题的方法,它通过对词-词共现模式建模来学习主题,是一种非常适合于短文本主题提取的模型,具体思路是通过直接建模在整个语料库中所有biterms(即词共现模式)的生成,来学习短文本的主题。在本发明中,假如设定聊天时间窗size=20句,那么每个聊天时间窗里的聊天文本就是一个文档,可以提取时间窗内的聊天主题。

由于本发明统兼有问答功能及产品推荐功能,所以首先要建立产品库及知识库,产品库的信息主要来源于企业的产品数据以及品牌信息等,知识库可以是开源的知识库,也可以自己构建的专门知识库,使用公开知识库可以充实问答数据库,能够解答更复杂的问题。

可以通过即使通讯工具或平台得到用户对话内容,主要可以分为以下三类:

(1)移动端,例如手机QQ、微信、软件APP等。

(2)Web端,如嵌入到各种网页服务机器人,其对话内容可以作为采集的聊天文本。

(3)其它平台,如微信公众号等。

对聊天内容进行一系列的处理,对聊天内容的处理包括以下几步:

(1)对聊天内容进行分词处理;

(2)对聊天内容进行命名实体识别,得到对话中相关的实体,例如对话内容中出现的产品名;

(3)对聊天内容上下文分析,提取出与用户聊天的主题。

从产品库里可以匹配得到用户需要的或相关的产品,基于匹配得到的用户需求产品,对这些产品进行打分,根据得分进行产品的排名,选出产品得分排名最高的产品。排名的方法分为如下两步:

(1)提取产品的信息特征,在本发明中提取三个产品特征,即产品销量、价格、用户评价星级;

(2)根据产品特征计算得分,得到产品排名,计算产品排名,把得分排名最高的产品进行处理,主要是对其格式进行处理,把无结构化的信息变成有结构化的信息后,直接推送给用户。

作为本发明的实施例之一,基于本发明的一种实时聊天系统的个性化产品推荐的方法与系统,该系统可分别提供问答功能和产品推荐功能。如附图2,5所示,该应用场景是微信,,包括微信端、聊天平台、产品库、知识库等四部分。

步骤1:微信用户通过公众号关注本发明实施例之一提供的聊天机器人,通过与微信用户的聊天,聊天机器人实时搜集与用户的聊天的语料;

步骤2:聊天机器人包括了以下几个模块,各个模块及其功能如下:

(1)文本处理模块,对步骤1中搜集到的文本进行处理。对文本语料进行分词处理和命名实体识别实理,通过处理可以得到显式的用户需要,例如:

用户:“这几天真冷,是时候买个羽绒服了”。

在这里聊天机器人对该句话进行分词和命名实体识别处理,可以得到动作词“买”和实体“羽绒服”,这样就得到用户需要的产品名“羽绒服”,然后调用产品库对用户进行产品匹配。

(2)主题提取模块,在聊天机器人和用户进行聊天时,有时用户的产品需求并没有表现的那么明显,或者需要通过上下文才能知道用户的实际产品需求,这时聊天机器人就需要对聊天文本的主题进行提取,然后推测出与用户相关的需求,例如:

用户:嗨,未来成都天气怎么样?

Chatbot:这个嘛,未来几天有点冷哦。中雨,最低气温0°度,最高气温4°度,风力四到五级。

用户:这么冷,看来要买件衣服了过冬了;

Chatbot:是很冷的,穿的太少会感冒哦;

用户:想买个性价高的外套;

Chatbot:…

用户:…

通过对用户聊天内容进行主题提取,可以知道这段对话的主题是关于“天气”和“衣服”的,并且用户是有购买意愿的。

(3)产品推荐模块,在该模块主要功能是根据前两步确定的产品或主题,在产品库里找到相应的不同厂家或品牌的同类产品信息,计算出不同厂家或品牌的产品得分,选择产品得分排名,确定得分较高的产品。

步骤3:产品推送模块,在推送前,该模块会对将要推送的产品信息进行格式化处理,使其平滑的嵌入到我们的聊天内容中,不至于那么突兀。在本发明中,格式化处理后的产品信息只剩下产品名和URL,用户可以通过此链接访问到推送产品的具体信息。

本发明所述的构建产品库,该产品库的构建由两部分构成,分别是自建产品库和合作产品库。自建产品库主要由自己添加一些产品信息构成,合作产品库由一些有意向合作的厂家和品牌构成,其中合作厂家库占据主要地位,这也是本系统及方法能够产生较大经济效益的地方。而构建知识库,由于在本发明的实施例之一聊天机器人实时问答系统中,问答仍占据位置,问答的实现是参照了开源项目Alice的实现,知识库的构建一部分是自己构建,二是使用开源的知识库,极大地扩充在问答过程中聊天机器人能够调用的储存知识信息。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1