技术领域
[0001] 本
发明涉及
数据处理技术领域,具体地,涉及一种基于内容主观倾向的文章推荐方法及系统。
背景技术
[0002] 推荐
算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,从而推荐给用户。
[0003] 基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上做出推荐的,而不需要依据用户对项目的评价意见,更多地需要用
机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。基于协同过滤的推荐算法(Collaborative Filtering Recommendation)技术是推荐系统中应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,从而根据这一喜好程度来对目标用户进行推荐。基于关联规则的推荐(Association Rule-based Recommendation)是以关联规则为
基础,把己购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。基于效用的推荐(Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。
[0004] 由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。
[0005]
专利CN108460039A公开了用于在目标服务中提供推荐内容的方法和装置。可以在目标服务中获得用户输入的消息。可以基于用户输入的消息来从目标服务的多个历史内容中提供推荐内容。
[0006] 传统的推荐算法虽然满足了用户喜欢哪类文章就推荐用户哪类文章的需求。但是在一些应用场景上,会影响用户的判断。例如:当用户喜欢看A股上涨趋势大好的文章时,根据早先的内容推荐算法设计就会持续推送类似的A股股票将要上涨的文章,这类文章在内容中含有较强的主观倾向,这样在
心理学上会强化用户的内心状态,影响用户的真实判断
力。同时,长时间推荐该类文章也会出现与事实相互违背的情况,从而导致用户财产损失。
发明内容
[0007] 针对
现有技术中的
缺陷,本发明的目的是提供一种基于内容主观倾向的文章推荐方法及系统。
[0008] 根据本发明提供的一种基于内容主观倾向的文章推荐方法,包括:
[0009] 文章内容打标步骤:对文章内容进行分词,去除无用词组,设置剩余的词组权重,将剩余的权重最高的多个词组作为所述文章的标签词组,得到文章标签向量;
[0010] 本地标签库构建步骤:在本地构建本地标签库,在文章的标签词组出现在所述本地标签库时,提高对应标签词组的权重至最大,且高于不在所述本地标签库的标签词组;
[0011] 本地黑名单构建步骤:在本地构建一个黑名单,存储带有主观倾向的黑名单词组,若文章的标签词组出现在黑名单中,则将对应的词组从所述文章的标签词组中剔除,同时,根据文章的标签词组与黑名单词组的命中数量确立所述文章的主观倾向的不同等级;
[0012] 用户打标步骤:将用户所有有效阅读的文章的标签词组进行整合,根据时间设定标签词组的权重,阅读时间越接近的文章的标签词组的权重越高,阅读时间越长的文章的标签词组的权重越高,得到对应用户的用户标签向量;
[0013] 文章推荐步骤:根据用户标签向量,推荐标签词组与用户标签向量命中率符合要求的文章以及主观倾向等级符合客观要求的文章给用户。
[0014] 优选地,所述文章内容打标步骤包括:
[0015] 所述文章标签向量W包括:W=[w1,w2,w3,......],wi为第i个标签词组,标签词组的
位置越靠前则权重越高。
[0016] 优选地,所述无用词组包括助词、语气词。
[0017] 优选地,所述本地标签库构建步骤中:
[0018] 所述本地标签库存储用户关心的行业字典;
[0019] 所述本地标签库将文章的标签词组分为一级标签、二级标签和三级标签,所述一级标签为大行业标签,所述二级标签为细分行业标签,所述三级标签为内容标签;
[0020] 提高对应标签词组的权重时,提高至对应等级中的最大权重。
[0021] 优选地,所述本地黑名单构建步骤中:
[0022] 文章的主观倾向等级根据标签词组与黑名单词组的命中数量的多少,分为:非常主观、偏主观、客观、非常客观四个等级。
[0023] 优选地,所述用户打标步骤中,有效阅读的文章为阅读时间超过预设时间的文章。
[0024] 优选地,所述用户打标步骤包括:
[0025] 用户标签向量U包括:U=[u1,u2,u3,......],ui为第i个用户标签,越靠前的用户标签权重越高。
[0026] 优选地,所述文章推荐步骤包括:
[0027] 文章标签向量中的标签词组与用户标签向量中的标签词组的命中率hit为文章的标签词组与用户标签的相同数量,Wsize为文章标签向量W的大小,Usize为用户标签向量U的大小。
[0028] 根据本发明提供的一种基于内容主观倾向的文章推荐系统,包括:
[0029] 文章内容打标模
块:对文章内容进行分词,去除无用词组,设置剩余的词组权重,将剩余的权重最高的多个词组作为所述文章的标签词组,得到文章标签向量;
[0030] 本地标签库构建模块:在本地构建本地标签库,在文章的标签词组出现在所述本地标签库时,提高对应标签词组的权重至最大,且高于不在所述本地标签库的标签词组;
[0031] 本地黑名单构建模块:在本地构建一个黑名单,存储带有主观倾向的黑名单词组,若文章的标签词组出现在黑名单中,则将对应的词组从所述文章的标签词组中剔除,同时,根据文章的标签词组与黑名单词组的命中数量确立所述文章的主观倾向的不同等级;
[0032] 用户打标模块:将用户所有有效阅读的文章的标签词组进行整合,根据时间设定标签词组的权重,阅读时间越接近的文章的标签词组的权重越高,阅读时间越长的文章的标签词组的权重越高,得到对应用户的用户标签向量;
[0033] 文章推荐模块:根据用户标签向量,推荐标签词组与用户标签向量命中率符合要求的文章以及主观倾向等级符合客观要求的文章给用户。
[0034] 优选地,用户通过登入App获取推荐的文章。
[0035] 与现有技术相比,本发明具有如下的有益效果:
[0036] 本发明可以在给用户推荐其自身喜好的文章的同时,避免相同主观倾向的文章多过而影响用户的主观判断能力,保证用户接收到客观公正的推荐文章。
附图说明
[0037] 通过阅读参照以下附图对非限制性
实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0039] 图2为用户打标步骤流程图;
[0040] 图3为文章推荐步骤流程图。
具体实施方式
[0041] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0042] 本发明提供的基于内容主观倾向的文章推荐方法,包括:
[0043] 1、文章内容标签打标:如图1所示,内容审核打标服务开启,从
数据库中取出文章的原始内容,对文章内容进行中文分词,去掉助词,去掉主观性等词性的词组,根据文章分词结果,合理设计词组权重,将权重高的前N个词组划分为这篇文章的标签,将划分好的这些标签结果存储在数据库中。本系统采用的第三方分词器是在HanLP基础上改进使用的。
[0044] W=[w1,w2,w3,......],其中W为文章标签向量,wn为第n个标签词组,越靠近前面的标签词组权重越高。
[0045] 对于设计词组权重,本发明给出如下几种参考方式:
[0046] 1.1布尔权重
[0047]
[0048] Wk,i表示特征词在文档中的权值,在特征词出现在文档中时=1,没有出现则=0。
[0049] 1.2词频权重
[0050] 词频权重(Term Frequency)是以特征词在文档中出现的次数作为权重的计算值,在一定程度上能区分出不同的特征词对文档的重要程度。其计算公式如下:
[0051] Wk,i=TFk,i
[0052] 1.3IDF权重
[0053] IDF权重(Inverse Document Frequency)又称反文档
频率,也就是文档频率的倒数。文档频率(DF)是指出现一个特征词的文档数。IDF权重计算公式如下:
[0054]
[0055] 其中,N表示文档总数,N(tk)表示含特征词tk的文档数。IDF的值越大,说明包含该特征词的文档越少,那么这个特征词分布得就相对集中,则这个特征词有可能包含更多的类别信息;相反,如果IDF的值比较小,则说明这个特征词在文档集中分布得相对均匀,对文档的分类没有多大贡献,该词不适合作为分类的特征。
[0056] 其他还有如TF-IDF权重等方法,本发明对此不作限制。
[0057] 2、本地标签库划分标签:标签分类,每篇文章的标签分为三级,/一级标签/二级标签/三级标签。一级标签为大行业标签,二级标签为细分行业标签,三级标签为具体内容标签。例如,一级标签为金融,二级标签为
银行、保险、券商等,三级标签为工商银行、指数型基金、股票型基金等等。
[0058] 由于文章内容分词词组划分标签,有的时候和文章内容偏差较大,因此在本地保存一个标签字典库,标签字典库中保留着日常投资理财常见的专业术语、股票名称、股票编码、行业术语等词组。当文章分词词组中有命中本地标签库的字段,这个字段的权重会提高到最大。其他不存在于标签库中的词组权重低于标签库词组。
[0059] 3、本地标签词组黑名单:本地会保留一个标签词组黑名单,将一些词组中常用的具有明显主观倾向的词组,存储在本地词组黑名单中,当文章内容分词结果中有词组命中这些黑名单词组时,根据命中词频数量,确立文章的主观倾向,确立文章为非常主观、偏主观、客观、非常客观,四种状态。传统的推荐算法没有本地标签组黑名单。
[0060] 4、用户肖像打标步骤:如图2所示,用户在app端查看文章,从app端的反馈,用户每篇文章阅读时间大于20秒的时间为有效阅读,根据用户有效阅读情况,将所有有效阅读文章内容标签整合排序,根据时间为文章内容设置标签,越近的时间标签权重越高,阅读时间越长的文章标签权重越高,为用户划分标签,并将标签结果存储在数据库中。举例来说,用户今天阅读了一篇标签词组为股票、上证指数的文章,昨天阅读了一篇标签词组为军事、武器的文章,那么股票、上证指数的权重就会高于军事、武器的权重。
[0061] U=[u1,u2,u3,......],其中U为用户肖像标签向量,ui为第i个标签,越靠近前面的标签权重越高。
[0062] 5、推荐文章步骤:如图3所示,用户登录app时,根据用户标签词组,从数据库中查找相似标签的文章,根据标签命中率高的文章排序返回推荐给用户。根据用户查看文章效果,推荐给用户新的文章。
[0063] hit代表W向量和U向量中相同的标签个数,Wsize为W向量的大小,Usize为向量U的大小。
[0064] 本发明根据文章内容划分标签。将前N个标签结果存储入数据库中。根据本地标签库进行过滤,如果文章标签队列存在和本地标签库相同的词组,该词组不论词频多少,都设定该词组为文章标签。根据本地标签强烈情感倾向词组黑名单进行过滤,如果该文章标签队列中有着这些词组,将该标签剔除该文章标签队列。根据用户在app端历史的有效阅读,将历史有效阅读的文章标签的分类排序的前M个认定为给用户的肖像爱好标签。当用户登录app端时,根据该用户肖像爱好标签在数据库中查找相似度高的文章,将这些文章根据命中率排序分页封装好后推荐给该用户的app端。
[0065] 文章中文分词时,会过滤文章中无用的助词,语气词等词语。也会过滤掉主观情感比较重的词组。这样给文章划分标签时,文章标签能客观公正些。
[0066] 本地标签库词典,本地建立一个投资理财的专业词典,当文章中出现专业术语时,命中词典给文章打标。用户写投资理财类文章字数量很大,内容也五花八
门,仅仅通过分词的方式为文章划分标签难免偏差较大。通过人工的方式划分标签耗费人力不小,效果也不显著。建立本地投资理财词典标签库,可以加快文章打标的速度和准确率。
[0067] 本地主观词组黑名单,本地主观词组黑名单可以有效摒弃一些主观性很强的词组短语。保证了文章标签的客观性。
[0068] 1、常见的基于内容推荐算法,根据用户喜好,给用户推荐其喜爱的文章,来保证用户的阅读率,购买率等。但是在某些场景下,并不希望用户强化自己的主观性,越喜爱看什么就推荐用户什么内容。这些内容会强化用户内心的想法,影响用户的主观判断力。本发明推荐算法秉承客观公正的文章进行推荐,不能强化用用户的判断力,保证用户能接受到客观公正的推荐文章。
[0069] 2、本地标签库过滤,存储了一些财经类的专业术语标签,和习惯财经口语类词组等,当文章中出现这些专业术语时,可以优先定义为该文章标签。这种本地标签库过滤方法一方面可以为文章快速打标,另一方面可以防止文章分词打标和文章实际含义偏差过大。
[0070] 3、本地词组黑名单过滤,存储了一些主观倾向比较严重的词组。中国汉语博大精深,不同的词组应用到不同的场景的效果不同,而且主观性也是很难量化的一个参数。本发明通过人工打标的方式,在理财投资方向,形成了本地主观性很强词组的黑名单。作者写投资理财文章时,难免会把作者的主观思想写入到投资理财的建议中去,但是这些观点都是很主观的观点,并不是事物客观的观点,因此在进行文章打标时,要尽量摒弃主观的词语标签,尽量建立客观公正的标签。
[0071] 在上述一种基于内容主观倾向的文章推荐方法的基础上,本发明还提供一种基于内容主观倾向的文章推荐系统,包括:
[0072] 文章内容打标模块:对文章内容进行分词,去除无用词组,设置剩余的词组权重,将剩余的权重最高的多个词组作为所述文章的标签词组,得到文章标签向量;
[0073] 本地标签库构建模块:在本地构建本地标签库,在文章的标签词组出现在所述本地标签库时,提高对应标签词组的权重至最大,且高于不在所述本地标签库的标签词组;
[0074] 本地黑名单构建模块:在本地构建一个黑名单,存储带有主观倾向的黑名单词组,若文章的标签词组出现在黑名单中,则将对应的词组从所述文章的标签词组中剔除,同时,根据文章的标签词组与黑名单词组的命中数量确立所述文章的主观倾向的不同等级;
[0075] 用户打标模块:将用户所有有效阅读的文章的标签词组进行整合,根据时间设定标签词组的权重,阅读时间越接近的文章的标签词组的权重越高,阅读时间越长的文章的标签词组的权重越高,得到对应用户的用户标签向量;
[0076] 文章推荐模块:根据用户标签向量,推荐标签词组与用户标签向量命中率符合要求的文章以及主观倾向等级符合客观要求的文章给用户。
[0077] 本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以
逻辑门、
开关、专用集成
电路、可编程逻辑
控制器以及嵌入式
微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种
硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的
软件模块又可以是硬件部件内的结构。
[0078] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在
权利要求的范围内做出各种变化或
修改,这并不影响本发明的实质内容。在不冲突的情况下,本
申请的实施例和实施例中的特征可以任意相互组合。