CN103678620B - 一种基于用户历史行为特征的知识文档推荐方法 - Google Patents
一种基于用户历史行为特征的知识文档推荐方法 Download PDFInfo
- Publication number
- CN103678620B CN103678620B CN201310697904.XA CN201310697904A CN103678620B CN 103678620 B CN103678620 B CN 103678620B CN 201310697904 A CN201310697904 A CN 201310697904A CN 103678620 B CN103678620 B CN 103678620B
- Authority
- CN
- China
- Prior art keywords
- word
- article
- user
- knowledge
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000011218 segmentation Effects 0.000 claims abstract description 12
- 238000009412 basement excavation Methods 0.000 claims abstract description 4
- 230000003542 behavioural effect Effects 0.000 claims description 19
- 238000007418 data mining Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000002349 favourable effect Effects 0.000 claims description 10
- 239000000203 mixture Substances 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 230000008707 rearrangement Effects 0.000 claims description 3
- 230000009897 systematic effect Effects 0.000 claims description 3
- 238000010224 classification analysis Methods 0.000 claims description 2
- 235000013399 edible fruits Nutrition 0.000 claims description 2
- 238000000605 extraction Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 abstract 4
- 241000894007 species Species 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000001556 precipitation Methods 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
- G06F16/337—Profile generation, learning or modification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于用户历史行为特征的知识文档推荐方法,通过计算文章中每个词语的词频,以词语和词频作为项和支持度,用FP‑Tree方法挖掘出与用户上传之文章最具相关性的文章,包括:对知识库中的和用户阅读过的文章分词提取知识库词库;扫描优化用户词库中的词表,用TF词频代替FP‑tree算法中的支持度构建FP树,挖掘出具有用户阅读特征的频繁项集;最后确定最相关的文章,对最相关文章的重要度排序,向用户推荐。本发明用文章中的词语作为挖掘特征,为每个用户的历史阅读行为建模,不依赖其它用户的阅读行为,解决了企业知识库中大量有价值的文章无人阅读而用户又找不到包含相关知识文章的问题。
Description
技术领域
本发明涉及企业知识库与智能推荐技术领域,具体说是一种基于用户历史行为特征的知识文档推荐方法。
背景技术
在一些大型的IT公司中已经成立了企业知识库,以存储企业基本信息:公共关系信息、年度报告、出版物和企业总体介绍等;企业组织结构信息:地址、代理商、分公司、服务中心等的信息产品和服务的信息:技术专长、服务特点等;基本流程信息;关于专利、商标、版权,使用其他企业技术、方法学可证的信息;顾客信息等。而很多员工发现他们很难在公司中找到他们需要的知识,通常员工们不知道这些信息保存在哪里,也不知道哪些信息或者文章可以为他们所用。在上述众多信息中,知识、文件多、难以管理、知识利用率低已经成为企业知识库的首要问题之一。此时,根据企业知识库的用户需要系统能根据他们的使用习惯、在登录后主动推荐用户可能需要的知识的需求日益强烈。
现阶段一些公司如Amazon,eBay,淘宝,豆瓣,当当网等一些商务网站已经能够根据用户的购买记录、浏览、检索、收藏行为等分析用户的购买兴趣并向其主动推荐商品。也有一些文献利用用户的阅读记录为用户的阅读行为建模,仿照购物篮模型分析有相似阅读行为的用户最喜欢阅读的文章类型,也即,分析的是“阅读这篇文章的用户还有可能阅读另外哪些文章”。这种方式的劣势在于,依赖用户群体,也称为“冷启动”,即,当一个系统刚刚启动还只有很少的用户时系统无法建立有效的模型。且如果一篇文章已经很久没有用户阅读,那么即使这篇文章的知识价值再高也难以用这种模型推荐给用户。
本方案亟需解决企业中沉淀的大量知识无人阅读,而新员工找不到这些相关知识的问题。
发明内容
本发明所要解决的技术问题是提供一种基于用户历史行为特征的知识文档推荐方法,是基于用户历史行为特征的知识文档推荐方法,主动向用户推荐企业知识库中存储的与用户历史行为特征相关的知识文档。
基于用户历史行为特征的知识文档推荐方法,
首先,由管理员将文章集建立知识库,确定知识库中文章的分类;
之后,登陆用户上传新的文章到知识库后,为上传的文章标注类别;
第三步,系统收集用户上传的以及阅读过的文章并进行归类分析;
最终,根据分析结果向该用户推荐同类别的其他文章阅读,并排列推荐文章的显示顺序,其特征是:
向用户推荐文章的方法为基于词频的关联知识挖掘方法,具体为:分析用户历史行为特征,建立用户历史行为特征库,通过计算用户上传的以及阅读过的文章中每个词语的词频,以词语和词频作为项和支持度,用FP-Tree算法挖掘出与用户上传之文章最具相关性的文章,包括下述三种,下述的N为1~15:
第一种方式,该用户上传或阅读的文章种类的知识文档中点击数最高的N篇文章;
第二种方式,该用户上传或阅读的文章种类的知识文档中好评数最多的N篇文章;
第三种方式,通过数据挖掘得到与用户上传、阅读过的文章中知识关联性最大的N篇文章;
第三种方式具体为,
对知识库中的文章做分词处理形成知识库词库,
提取用户上传过、阅读过的文章做分词处理形成用户词库,
约减用户词库形成优化用户词库,
通过FP-Tree算法对用户词库进行数据挖掘得到频繁项集,
根据频繁项集中的词在优化词库的各对应类别中的词频确定知识最相关的N篇文章。
所述用户历史行为特征库,是知识库用户在上传和阅读过程中,包括用户上传过的文章、上传文章的类别、阅读过的文章、阅读过文章的类别。
所述知识库词库以下述方式得到:
首先对知识库中的每一篇文章做分词处理,分词后,首先统计词频TF(termfrequency,TF表示某个词或短语在一篇文章中出现的频率),对于在第j篇文章中的第i个词语ti,它的重要性表示为:
上式中ni,j是词ti在文章dj中出现的次数,分母是在文章dj中所有字词的出现次数之和,下标i、j、k均表示序号;
然后统计词语的逆向文档频率IDF(inverse document frequency,IDF是一个词语普遍重要性的度量),由下式得到:
其中:idfi表示第i个词语的IDF值,|D|是知识库中文章的总数,|{d:ti∈d}|是知识库中包含词语ti的文章数目,
再以下式计算TF-IDF(term frequency–inverse document frequency)词频:
tfidfi,j=tfi,j*idfi,
tfidfi,j表示第j篇文章中第i个词的TF-IDF词频,统计出的每个知识类别词语的TF-IDF词频值,以包含有(词,TF-IDF词频)对的形式作为知识库词库存储。
所述用户词库以下述方式得到:
首先提取用户上传和阅读过的文章组成文章集,然后用下述方法对文章集中的每篇文章提取TF词频:
首先对文章集中的每一篇文章做分词处理,分词后,首先统计词频TF,对于在第j篇文章中的第i个词语ti,它的重要性表示为:
上式中ni,j是词ti在文章dj中出现的次数,分母是在文章dj中所有字词的出现次数之和,下标i、j、k均表示序号;
然后统计词语的逆向文档频率IDF,由下式得到:
其中:idfi表示第i个词语的IDF值,|D|是知识库中文章的总数,|{d:ti∈d}|是知识库中包含词语ti的文章数目,
再以下式计算TF词频TF-IDF:
tfidfi,j=tfi,j*idfi,
tfidfi,j表示第j篇文章中第i个词的TF-IDF词频,统计出的每个知识类别词语的TF词频值,得到(词,TF词频)对,以包含有(文章,(词,TF词频))对的形式存储为用户词库。
对所述用户词库进行约减,每个类别只保留TF词频值与TF-IDF词频值之和在30%以上的(词,TF词频)对,作为优化用户词库存储,所述优化用户词库与所述用户词库的格式一致。此处,词频值的约减限额也可以是其它百分比数值。
所述通过FP-Tree算法对用户词库进行数据挖掘得到频繁项集具体为,使用数据挖掘中的FP-Tree算法对用户的阅读习惯做文本信息挖掘,找出最有可能在阅读时一起出现的词语存储为频繁项集,方法为:
输入用户词库中某一知识类别中所有该用户阅读过的文章,输出频繁项集,以(词,TF词频)对作为FP-Tree的(项,值)对,(词,TF词频)对中的“词”作为FP-Tree的搜索项,第一次搜索的时候用“TF词频”代替原算法中的项的频率,设一个词语的TF词频为支持度阈值,如果频繁项集中的项不满足支持度阈值,则丢弃该项,满足支持度阈值则生成FP-Tree。
使用数据挖掘中的FP-Tree算法对用户的阅读习惯做文本信息挖掘的具体实现方法如下:
输入词表,词表结构包括文章ID、该文章中的词语、对应词语的词频,第一步:扫描所述词表,累计所有文章中各词的TF词频之和;设最小支持度,舍弃支持度小于所述的最小支持度的累计词的这一项,得到频繁项集;
第二步:对于每一条记录,按照所述频繁项集中TF词频之和的大小重新排序;
第三步:把第二步得到的各条记录插入到FP-Tree中,构造FP-Tree,构造FP-Tree的过程为:
(1)定义FP-Tree的根节点为空,以null标记,
(2)在null标记后面插入第一条记录:文章1的词语表,
(3)在第一条记录后面插入第二条记录:文章2的词语表,
(4)在第二条记录后面插入第三条记录:文章3的词语表,直至遍历完成整个数据库,FP-Tree构造完成。
第四步:从FP-Tree中找出频繁项,以如下方式遍历FP-Tree的表头中的每一项:
(1)从FP-Tree中找到所有的“指定词”节点,向上遍历它的祖先节点。
(2)对于每一条路径上的节点,其词频值都设置为“指定词”的词频值。
(3)每一项末尾都是“指定词”,可以把“指定词”去掉,得到条件模式基(Conditional Pattern Base,缩写为CPB),此时的后缀模式是:“指定词”。
(4)把第(3)项结果当作原始的事务数据库,递归迭代执行,模式增长通过后缀模式与条件FP-Tree产生的频繁模式链接实现,即可得到频繁项集。
所述确定知识最相关的N篇文章采用如下方法:
查询频繁项集中的词语在知识库词库对应类别的每篇文章中出现的次数,将具体每篇文章中出现过的频繁项集中的词语的TF-IDF词频之和为最大的N篇文章,其中不包含该用户上传和已阅读过的文章,推荐为具有最相关知识的文章。
所述排列推荐文章的显示顺序采用如下方法:
统计向用户推荐文章的方法中三种方式所选中的文章是否重复出现,如果重复出现则统计每篇文章重复出现的次数,按每篇文章的重复出现次数倒序排列,即,重复出现次数最多的排在最前面,重复出现次数最少的排在最后面;如果出现重复次数相同的文章,则按上传时间倒序排列,即,上传时间最晚的排在最前面,上传时间最早的排在最后面。
在本方案中,使用FP-tree算法的支持度在本应用中是统计每个项出现的次数,如果用支持度,就是统计1个词在多少篇文章中出现过。本方案用词频代替了支持度,先统计1个词在一篇文章中出现的次数,然后再统计这个词在所有的文章中出现了多少次。以此方式计算出所统计的词的重要性。通常一个有意义的词在文章中出现的频率越高,这个词被认为越重要。
在本方案中,我们关心在文章中最频繁出现的词语,通常具有相关性的一组文章会具有一组高度相似的高频词组。这些高频词组对应FP-tree算法挖掘出的频繁集。FP-tree算法在处理大数据时只扫描2次数据库,且不产生候选频繁项集,运行效率相比其它算法大幅提高。
FP-tree的基本思想是:首先扫描整分词后的文章表(在实施例中是扫描TokenList),生成频繁项集,并把它们按降序排列,排除支持度计数值小于最小支持度的项,产生结果集;然后按照频繁项集描绘出一棵FP-tree,同时依然保留其中的关联信息;最后再扫描事务数据库一次,由下往上循序进行挖掘,删除FP-tree中的子节点,即可产生所需要的频繁模式。因而执行效率高。
FP-tree在执行过程中对频繁项的重要度做了排序,为后面筛选最佳词语带来优势,进一步提高了执行效率,而传统的关联规则算法产生的是无序的频繁项集。
本方案解决了背景技术中所说的企业中沉淀的大量知识无人阅读,而新员工找不到这些相关知识的问题。系统建模之初,没有用户浏览及阅读记录,本方案分析系统中已经存在的知识文档,为这些文档内容的共性建模,按类别建立文档特征库,对文档特征的分析及推荐不依赖其它用户的阅读行为,避免了“冷启动”现象。对长时间无人阅读的文章,只要其词频特征显示这篇文章对某阅读用户非常重要,也可以出现在用户阅读的推荐列表中。
与现有的技术相比,本发明通过多种方法向用户推荐可能相关的知识,使用了能发掘出知识库中已有的文章中知识内容潜在的关联的数据挖掘方法,也兼顾了传统方法统计得出的总点击数较高、好评度较高的文章价值也较高的结论,同时向用户推荐潜在知识关联性较高的文章,和传统认为好评数较高的文章和总点击数较高的文章,使知识推荐更全面、更快速、更准确。本发明对基于FP-Tree的文本挖掘做了改进,用词频代替FP-Tree中的支持度,提高了算法的性能。
附图说明
图1为本发明实施例提供的知识推荐流程示意图;
图2为本发明实施例提供的智能推荐方法流程图;
图3为本发明实施例提供的构造FP树步骤一;
图4为本发明实施例提供的构造FP树步骤二;
图5为本发明实施例提供的构造FP树步骤三。
具体实施方式
下面结合实施例对本发明进一步说明:如图1~5中所示,本发明提出了一种知识文档推荐的技术方案。下述本发明实施例提出的技术方案中,首先由管理员确定知识库中文章的分类,然后登陆用户上传文章到知识库、为上传的文章标注类别,再由系统收集登陆用户上传的以及阅读过的文章种类,向用户推荐同类别的其他文章阅读。推荐的方法有三种,三种推荐方法如果选中了相同的文章则按下面的方法向用户展示:如果推荐方法一选出了文章一、文章二、文章三,推荐方法二选出了文章二、文章四、文章五,推荐方法三选出了文章一、文章二、文章五,则系统向用户推荐文章一、文章二、文章三、文章四、文章五,五篇文章中三种推荐方法选中的重复次数最大的一篇文章排在推荐阅读的第一位,重复次数第二的排在推荐阅读的第二位,依次往后,重复次数相同的文章按上传日期倒序排列。下面的说明以每种方法均选中前10篇最具相关性的文章为例:
其中,推荐方法一的具体内容是,某一文章种类的知识文档中点击最高的10篇文章。
推荐方法二的具体内容是,某一文章种类的知识文档中好评最多的10篇文章。
推荐方法三的具体内容是,通过数据挖掘中的关联规则算法挖掘出与用户上传、阅读过的文章中知识关联性最大的10篇文章。
应该认识到,本发明实施例提出的技术方案中确定推荐文章的显示排列顺序并不局限于上述方式,也可以是其他方式。
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,下面所描述的实施例是本申请的一部分实施例,而不是全部实施例。
如图1所示,为本发明实施例提出的知识推荐流程示意图。
知识库,系统的知识库包含了企业内用户上传的所有文章和相关操作记录,知识库用户组成的用户群上传文章到知识库,并为他们上传的文章标注类别,文章的种类是管理员在系统启用前设定好的,但管理员也可以在系统启用后增加和修改文章的种类。知识库有以下条目:
DocID | 文章ID |
Title | 文章标题 |
Text | 文章内容 |
Author | 上传者 |
Date | 上传日期 |
Class | 文章类别 |
用户行为特征库,是知识库用户在上传和阅读过程中,系统记录下来的行为特征,包括用户上传过的文章、上传文章的类别、阅读过的文章、阅读过文章的类别。用户行为特征库有以下条目:
User | 用户名 |
OptionType | 操作类型 |
OptionTime | 操作时间 |
LoadedDoc | 上传文章ID |
DocID | 文章ID |
ReadDoc | 阅读过的文章ID |
ReadDocClass | 阅读过的文章所属的知识类别 |
ReadClassNum | 阅读过的每个类别的文章数 |
DocScore | 文章的评分 |
步骤101,统计历史行为,统计用户历史行为特征,记为用户行为特征库。为下一步推荐与用户最相关的知识文章做准备。
具体的,采用三种方法选取与用户最相关的知识文章,分别是步骤102点击最高的10篇文章、步骤103好评最多的10篇文章、步骤104智能推荐最相关的10篇文章。用户1的历史行为包括:
步骤102,对应方法一,具体为,点击数最高的10篇文章,取点击数最高的10篇文章然后转到步骤105。
具体的,统计用户1上传的所有文章类别,统计所有类别中所有用户对每篇文章的点击数,取点击数最高的10篇文章。
步骤103,对应方法二,具体为,好评数最多的10篇文章,取好评数最高的10篇文章然后转到步骤105。
具体的,统计用户1上传的所有文章类别,统计所有类别中所有用户对每篇文章的好评数,取好评数最高的10篇文章。
步骤104,对应方法三,以本方案规则智能推荐最相关的10篇文章,取最相关的10篇文章然后转到步骤105。
具体的,如图2所示,为本发明实施例提供的本方案规则智能推荐方法(方法三)流程图,包括以下步骤:
步骤201,提取词库,首先对知识库中的每一篇文章做中文分词处理,知识库中的每一篇文章都可以看做是一个汉字序列,将此汉字序列分割成一个一个单独的词,本发明选用的是Ik-Analyzer分词器。应该注意的是,这里采用Ik-Analyzer分词器只是一种实施例,也可以采用任何一种其它的中文分词器。分词后,首先统计词频(term frequency,TF),TF表示某个词或短语在一篇文章中出现的频率。对于在某一特定文章中的词语ti,它的重要性表示为:
上式中ni,j是词ti在文章dj中出现的次数。分母是在文章dj中所有字词的出现次数之和,其中的下标i、j、k分别表示词、文章、词的序号。
然后统计逆向文档频率IDF(inverse document frequency),IDF是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文章数目除以包含该词语之文章的数目,再将得到的商取对数得到,词ti的IDF值为:
其中:|D|是知识库中文章的总数;|{d:ti∈d}|是知识库中包含词语ti的文章数目;IDF所表达的是:如果包含词条的文档越少,IDF越大,则说明词条具有很好的类别区分能力。
再计算TF-IDF词频(term frequency–inverse document frequency,TF-IDF):
tfidfi,j=tfi,j*idfi;
TF-IDF词频的作用在于体现某词语的重要性,越重要、对类别的区分度越高的词语具有更高的TF-IDF值。统计出的每个知识类别词语的TF-IDF值,以(词,TF-IDF词频)对的形式作为知识库词库存储。知识库词库的内容:
Class | 文章类别 |
Token | 词 |
TF-IDF | 词频 |
步骤202,提取用户词库,首先提取用户上传和阅读过的文章组成文章集,然后用步骤201中所述方法对文章集中的每篇文章提取TF词频,以(文章,(词,TF词频))对的形式存储为用户词库,用户词库的保存格式为:
表中字母n表示该类别的最大序号。
具体的,用户词库存储了每位用户阅读过的文章词表,上表中的一行表示一位用户阅读过的一篇文章。在一个知识库中一位用户掌握的领域通常只涉及所有文章类别中的2~3种,所以对用户的阅读习惯进行数据挖掘是可行的。
步骤203,约减词库,对用户词库进行约减,首先扫描用户词库,对用户词库中的每一个词到知识库词库中查询,查询可得到与这个词对应的TF-IDF词频,然后将TF-IDF词频与这个词的TF词频直接相加,记为综合词频并降序排序,再提取前30%的词到用户词库中查询出该词的(词,TF词频)对,作为优化用户词库存储,优化用户词库的大小比用户词库小,格式一致。约减词库的优势有二:其一,起到特征筛选的作用,TF词频体现了特定词在某领域文章中出现的频率及重要度,TF-IDF词频可体现特定词在类别间的区分度,二者相加TF-IDF词频和TF词频都大的词能排在前面,可以提高推荐的准确度。其二,在于减少冗余,提高运算速度。
步骤204,FP-tree算法,本发明用数据挖掘中的FP-tree算法对用户的阅读习惯做文本信息挖掘,找出最有可能在阅读时一起出现的词语作为频繁项集,存储为频繁项集。
具体的,本步骤用FP-tree算法找出每个文章类别最有可能一起阅读的文章中的词汇。算法中所用FP-tree算法的输入为:优化用户词库中某一知识类别中所有用户阅读过的文章;输出频繁项集,具体用表格描述,输入是:
表格的每一行是文章,取上表中的(词,TF词频)对,作为FP-tree的(项,值)对,其中“词”作为FP-tree的搜索项,第一次搜索的时候用“TF词频”代替原算法中的项的频率。算法中设一支持度阈值,如果项集I中的项不满足最小支持度阈值,则丢弃该项,满足最小支持度阈值生成FP树。本发明中,项集是优化用户词库中的词语,支持度是词语的TF词频。频繁项集是算法运算完成后得到的一系列最有价值的关键词词表。
FP-tree算法执行用户阅读习惯挖掘的实现过程如下:
输入词表TokenList:
文章ID | 词语 | TF词频 |
文章1 | 词a,词b,…… | TF1,TF2,…… |
文章2 | 词a,词d,…… | TF1,TF2,…… |
文章3 | 词b,词c,…… | TF1,TF2,…… |
…… | …… | …… |
其中,词a、词b、……代表文章中出现的词语,与之对应的TF1、TF2、……,是相应项的TF词频。
第一步:扫描词表TokenList,累计所有文章中词a、词b、词d……的TF词频之和;设最小支持度为MinSup,如果累计词b的支持度小于MinSup则舍弃词b这一项。例如上表,可统计得:(词a,ΣTFa),(词d,ΣTFd),(词c,ΣTFc),……,以上结果就是频繁项集1,记为F1。其中,ΣTFa、ΣTFd、ΣTFc分别是词a和词b的TF值之和,且在F1中ΣTFa≥ΣTFd≥ΣTFc。
第二步:对于每一条记录,按照F1中的顺序重新排序。(第二次也是最后一次扫描数据库)
文章ID | 词语 | TF词频和 |
文章1 | 词a,…… | ΣTFa1,…… |
文章2 | 词a,词d,…… | ΣTFa2,ΣTFd2,…… |
文章3 | 词c,…… | ΣTFc3,…… |
…… | …… | …… |
左边第一列是文章的编号,第二列是文章中的词语且已经按ΣTFa≥ΣTFd≥ΣTFc的顺序为词语排序,第三列是对应词语在所在文章中的TF词频之和。
第三步:把第二步得到的各条记录插入到FP-Tree中,构造FP树。
(1)定义FP树的根节点为null。
(2)插入第一条,文章1的词语表,如图3所示。
(3)插入第二条,文章2的词语表,如图4所示。
(4)插入第三条,文章3的词语表,如图5所示,直至遍历完成整个数据库,FP树构造完成。
第四步:从FP-Tree中找出频繁项。
遍历表头中的每一项,以“词a”为例,执行以下(1)~(4)的步骤。
(1)从FP-Tree中找到所有的“词a”节点,向上遍历它的祖先节点。
(2)对于每一条路径上的节点,其词频值都设置为“词a”的词频值。
(3)每一项末尾都是“词a”,可以把“词a”去掉,得到条件模式基(ConditionalPattern Base,CPB),此时的后缀模式是:(词a)。
(4)把第(3)项结果当作原始的事务数据库,递归迭代执行,模式增长通过后缀模式与条件FP树产生的频繁模式链接实现,即可得到最终的频繁项集。
步骤205,确定最相关文章,查询频繁项集中的词语在知识库词库对应类别中的每篇文章具体每篇文章中出现的次数,将具体每篇文章中出现过的频繁项集中的词语TF-IDF词频之和最大的10篇文章推荐为最具有最相关知识的文章,转到步骤105。每个用户有各自的频繁项集。对用户推荐的是每个知识类别中的前10篇文章,但不包含用户上传和已阅读过的文章。频繁项集的内容如下:
类别1 |
词1、词2、词3…… |
类别2 |
词1、词2、词3…… |
…… |
类别n |
词1、词2、词3…… |
具体的,首先扫描知识库中的文章,对其中的文章逐篇分词得到文章分词表,然后从文章分词表中筛选出在频繁项集中出现过的词语。查询这些词语的TF值及TF-IDF值,计算TF-IDF词频的累计值ΣT,其中ΣT的计算方法为:ΣT=TF*TF-IDF。再选取ΣT最大的10篇文章作为最相关的文章输出。
特别地,如果某篇文章仅包含这些频繁项集词语中的一项或几项,则仅统计这几项的ΣT。
步骤105,推荐文章排序,为步骤102、步骤103、步骤104选中的推荐文章排序。
具体的,首先统计步骤102、步骤103、步骤104选中的文章中是否重复出现,如果重复出现则统计每篇文章重复出现的次数,按每篇文章的重复出现次数倒序排列,也即,重复出现次数最多的排在最前面,重复出现次数最少的排在最后面。如果出现重复次数相同的文章,则按上传时间倒序排列,也即,上传时间最晚的排在最前面,上传时间最早的排在最后面。
Claims (8)
1.一种基于用户历史行为特征的知识文档推荐方法,
首先,由管理员将文章集建立知识库,确定知识库中文章的分类;
之后,登陆用户上传新的文章到知识库后,为上传的文章标注类别;
第三步,系统收集用户上传的以及阅读过的文章并进行归类分析;
最终,根据分析结果向该用户推荐同类别的其他文章阅读,并排列推荐文章的显示顺序,其特征是:
向用户推荐文章的方法为基于词频的关联知识挖掘方法,具体为:分析用户历史行为特征,建立用户历史行为特征库,通过计算用户上传的以及阅读过的文章中每个词语的词频,以词语和词频作为项和支持度,用FP-Tree算法挖掘出与用户上传之文章最具相关性的文章,包括下述三种,下述的N为1~15:
第一种方式,该用户上传或阅读的文章种类的知识文档中点击数最高的N篇文章;
第二种方式,该用户上传或阅读的文章种类的知识文档中好评数最多的N篇文章;
第三种方式,通过数据挖掘得到与用户上传、阅读过的文章中知识关联性最大的N篇文章;
第三种方式具体为,
对知识库中的文章做分词处理形成知识库词库,
提取用户上传过、阅读过的文章做分词处理形成用户词库,
约减用户词库形成优化用户词库,
通过FP-Tree算法对用户词库进行数据挖掘得到频繁项集,
根据频繁项集中的词在优化词库的各对应类别中的词频确定知识最相关的N篇文章;
所述用户词库以下述方式得到:
首先提取用户上传和阅读过的文章组成文章集,然后用下述方法对文章集中的每篇文章提取TF词频:
首先对文章集中的每一篇文章做分词处理,分词后,首先统计词频TF,对于在第j篇文章中的第i个词语ti,它的重要性表示为:
上式中ni,j是词ti在文章dj中出现的次数,分母是在文章dj中所有字词的出现次数之和,下标i、j、k均表示序号;
然后统计词语的逆向文档频率IDF,由下式得到:
其中:idfi表示第i个词语的IDF值,|D|是知识库中文章的总数,|{d:ti∈d}|是知识库中包含词语ti的文章数目,
再以下式计算TF词频TF-IDF:
tfidfi,j=tfi,j*idfi,
tfidfi,j表示第j篇文章中第i个词的TF-IDF词频,统计出的每个知识类别词语的TF词频值,得到(词,TF词频)对,以包含有(文章,(词,TF词频))对的形式存储为用户词库。
2.根据权利要求1所述的基于用户历史行为特征的知识文档推荐方法,其特征是:所述用户历史行为特征库,是知识库用户在上传和阅读过程中,包括用户上传过的文章、上传文章的类别、阅读过的文章、阅读过文章的类别。
3.根据权利要求1所述的基于用户历史行为特征的知识文档推荐方法,其特征是:所述知识库词库以下述方式得到:
首先对知识库中的每一篇文章做分词处理,分词后,首先统计词频TF,对于在第j篇文章中的第i个词语ti,它的重要性表示为:
上式中ni,j是词ti在文章dj中出现的次数,分母是在文章dj中所有字词的出现次数之和,下标i、j、k均表示序号;
然后统计词语的逆向文档频率IDF,由下式得到:
其中:idfi表示第i个词语的IDF值,|D|是知识库中文章的总数,|{d:ti∈d}|是知识库中包含词语ti的文章数目,
再以下式计算TF-IDF词频:
tfidfi,j=tfi,j*idfi,
tfidfi,j表示第j篇文章中第i个词的TF-IDF词频,统计出的每个知识类别词语的TF-IDF词频值,以包含有(词,TF-IDF词频)对的形式作为知识库词库存储。
4.根据权利要求1所述的基于用户历史行为特征的知识文档推荐方法,其特征是:对所述用户词库进行约减,每个类别只保留TF词频与TF-IDF词频值之和在30%以上的(词,TF词频)对,作为优化用户词库存储,所述优化用户词库与所述用户词库的格式一致。
5.根据权利要求1或4所述的基于用户历史行为特征的知识文档推荐方法,其特征是:所述通过FP-Tree算法对用户词库进行数据挖掘得到频繁项集具体为,使用数据挖掘中的FP-Tree算法对用户的阅读习惯做文本信息挖掘,找出最有可能在阅读时一起出现的词语存储为频繁项集,方法为:
输入用户词库中某一知识类别中所有该用户阅读过的文章,输出频繁项集,以(词,TF词频)对作为FP-Tree的(项,值)对,(词,TF词频)对中的“词”作为FP-Tree的搜索项,第一次搜索的时候用“TF词频”代替原算法中的项的频率,设一个词语的TF词频为支持度阈值,如果频繁项集中的项不满足支持度阈值,则丢弃该项,满足支持度阈值则生成FP-Tree。
6.根据权利要求5所述的基于用户历史行为特征的知识文档推荐方法,其特征是:使用数据挖掘中的FP-Tree算法对用户的阅读习惯做文本信息挖掘的具体实现方法如下:
输入词表,词表结构包括文章ID、该文章中的词语、对应词语的词频,第一步:扫描所述词表,累计所有文章中各词的TF词频之和;设最小支持度,舍弃支持度小于所述的最小支持度的累计词的这一项,得到频繁项集;
第二步:对于每一条记录,按照所述频繁项集中TF词频之和的大小重新排序;
第三步:把第二步得到的各条记录插入到FP-Tree中,构造FP-Tree,构造FP-Tree的过程为:
(1)定义FP-Tree的根节点为空,以null标记,
(2)在null标记后面插入第一条记录:文章1的词语表,
(3)在第一条记录后面插入第二条记录:文章2的词语表,
(4)在第二条记录后面插入第三条记录:文章3的词语表,直至遍历完成整个数据库,FP-Tree构造完成;
第四步:从FP-Tree中找出频繁项,以如下方式遍历FP-Tree的表头中的每一项:
(1)从FP-Tree中找到所有的“指定词”节点,向上遍历它的祖先节点;
(2)对于每一条路径上的节点,其词频值都设置为“指定词”的词频值;
(3)每一项末尾都是“指定词”,可以把“指定词”去掉,得到条件模式基,此时的后缀模式是:“指定词”;
(4)把第(3)项结果当作原始的事务数据库,递归迭代执行,模式增长通过后缀模式与条件FP-Tree产生的频繁模式链接实现,即可得到频繁项集。
7.根据权利要求5所述的基于用户历史行为特征的知识文档推荐方法,其特征是:所述确定知识最相关的N篇文章采用如下方法:
查询频繁项集中的词语在知识库词库对应类别的每篇文章中出现的次数,将具体每篇文章中出现过的频繁项集中的词语的TF-IDF词频之和为最大的N篇文章,其中不包含该用户上传和已阅读过的文章,推荐为具有最相关知识的文章。
8.根据权利要求1所述的基于用户历史行为特征的知识文档推荐方法,其特征是:所述排列推荐文章的显示顺序采用如下方法:
统计向用户推荐文章的方法中三种方式所选中的文章是否重复出现,如果重复出现则统计每篇文章重复出现的次数,按每篇文章的重复出现次数倒序排列,即,重复出现次数最多的排在最前面,重复出现次数最少的排在最后面;如果出现重复次数相同的文章,则按上传时间倒序排列,即,上传时间最晚的排在最前面,上传时间最早的排在最后面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310697904.XA CN103678620B (zh) | 2013-12-18 | 2013-12-18 | 一种基于用户历史行为特征的知识文档推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310697904.XA CN103678620B (zh) | 2013-12-18 | 2013-12-18 | 一种基于用户历史行为特征的知识文档推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103678620A CN103678620A (zh) | 2014-03-26 |
CN103678620B true CN103678620B (zh) | 2017-02-15 |
Family
ID=50316165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310697904.XA Active CN103678620B (zh) | 2013-12-18 | 2013-12-18 | 一种基于用户历史行为特征的知识文档推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678620B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508885A (zh) * | 2011-10-18 | 2012-06-20 | 浙江大学 | 一种用于医学图象阅读行为的数据分析方法和系统 |
CN105022787A (zh) * | 2015-06-12 | 2015-11-04 | 广东小天才科技有限公司 | 一种推送作文的方法及装置 |
CN105224664B (zh) * | 2015-10-08 | 2019-02-05 | 孙继兰 | 一种数字出版物词汇抽取、显示方法和系统 |
CN105574203A (zh) * | 2016-01-07 | 2016-05-11 | 沈文策 | 一种信息存储方法及装置 |
CN107291672B (zh) * | 2016-03-31 | 2020-11-20 | 阿里巴巴集团控股有限公司 | 数据表的处理方法和装置 |
CN107608980A (zh) * | 2016-07-11 | 2018-01-19 | 中国电信股份有限公司 | 基于dpi大数据分析的信息推送方法和系统 |
CN106294318A (zh) * | 2016-08-03 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种处理教育资源的方法及装置 |
CN106503050B (zh) * | 2016-09-23 | 2021-04-16 | 耀灵人工智能(浙江)有限公司 | 一种基于大数据进行阅读文章推荐的方法与系统 |
CN107146127A (zh) * | 2017-03-22 | 2017-09-08 | 重庆允升科技有限公司 | 一种工业品精准推荐方法及系统 |
US10534825B2 (en) | 2017-05-22 | 2020-01-14 | Microsoft Technology Licensing, Llc | Named entity-based document recommendations |
CN107392645A (zh) * | 2017-06-20 | 2017-11-24 | 小草数语(北京)科技有限公司 | 用户挖掘方法、装置及其设备 |
CN108287909B (zh) * | 2018-01-31 | 2020-08-04 | 北京仁和汇智信息技术有限公司 | 一种论文推送方法及装置 |
CN108830636B (zh) * | 2018-05-07 | 2021-03-26 | 北京奇艺世纪科技有限公司 | 一种活跃用户的询量方法和装置 |
CN110598086B (zh) | 2018-05-25 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 文章推荐方法、装置、计算机设备及存储介质 |
CN108984596A (zh) * | 2018-06-01 | 2018-12-11 | 阿里巴巴集团控股有限公司 | 一种关键词挖掘以及风险反馈的方法、装置及设备 |
CN109241256B (zh) * | 2018-08-20 | 2022-09-27 | 百度在线网络技术(北京)有限公司 | 对话处理方法、装置、计算机设备和可读存储介质 |
TWI676110B (zh) * | 2018-08-21 | 2019-11-01 | 良知股份有限公司 | 以讀者為中心進行文章分析的語意特徵分析系統 |
CN109558528A (zh) * | 2018-10-16 | 2019-04-02 | 深圳壹账通智能科技有限公司 | 文章推送方法、装置、计算机可读存储介质和服务器 |
CN110727784B (zh) * | 2019-09-05 | 2023-11-10 | 上海异势信息科技有限公司 | 基于内容的文章推荐方法及系统 |
CN111859135B (zh) * | 2020-07-22 | 2022-08-02 | 复旦大学出版社有限公司 | 适应于新学术平台的匿名用户行为挖掘与资源推荐方法 |
CN112579908A (zh) * | 2020-12-28 | 2021-03-30 | 济南大象信息技术有限公司 | 一种网站文章自定义推荐方法 |
CN113342773A (zh) * | 2021-06-08 | 2021-09-03 | 曹卿 | 工业产品研发流程中知识信息的处理方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493832A (zh) * | 2009-03-06 | 2009-07-29 | 辽宁般若网络科技有限公司 | 网站内容联合推荐系统与方法 |
-
2013
- 2013-12-18 CN CN201310697904.XA patent/CN103678620B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493832A (zh) * | 2009-03-06 | 2009-07-29 | 辽宁般若网络科技有限公司 | 网站内容联合推荐系统与方法 |
Non-Patent Citations (3)
Title |
---|
基于WEB挖掘的电子商务个性化推荐机理与方法研究;易明;《中国博士学位论文全文数据库信息科技辑》;20080415(第6期);第15页第2段,60页第2、3段,第64页第2-4段, 73页最后1段 * |
基于加权频繁项集的文本分类规则挖掘;邱江涛、唐常杰等;《四川大学学报》;20081120(第6期);第110页右栏第4段,111页右栏第2、4段 * |
基于数据挖掘的文献自动推荐研究;黄珍;《中国优秀硕士学位论文全文数据库信息科技辑》;20091115(第9期);第16页第5段,第17页第3段,第25页第2段、图4-1,第29页第2段,第33页第1段,第39页第2段 * |
Also Published As
Publication number | Publication date |
---|---|
CN103678620A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678620B (zh) | 一种基于用户历史行为特征的知识文档推荐方法 | |
US10970315B2 (en) | Method and system for disambiguating informational objects | |
CN101566997B (zh) | 确定与给定的词集相关的词 | |
CN101430695B (zh) | 用于计算单词之间的差相关度的系统和方法 | |
CN103729359B (zh) | 一种推荐搜索词的方法及系统 | |
US8868621B2 (en) | Data extraction from HTML documents into tables for user comparison | |
CN101404015B (zh) | 自动生成词条层次 | |
Mallig | A relational database for bibliometric analysis | |
CN101408885A (zh) | 利用统计分布对主题进行建模 | |
US9665561B2 (en) | System and method for performing analysis on information, such as social media | |
CN103226618B (zh) | 基于数据集市挖掘的相关词提取方法及系统 | |
CN101692223A (zh) | 响应于用户输入精炼搜索空间 | |
CN104268142B (zh) | 基于可拒绝策略的元搜索结果排序方法 | |
EP2168058A2 (en) | Method and system for disambiguating informational objects | |
CN107193883B (zh) | 一种数据处理方法和系统 | |
CN112463971B (zh) | 一种基于层级组合模型的电商商品分类方法及系统 | |
CN112925901B (zh) | 一种辅助在线问卷评估的评估资源推荐方法及其应用 | |
CN108959395A (zh) | 一种面向多源异构大数据的层次约减联合清洗方法 | |
Ujwal et al. | Classification-based adaptive web scraper | |
Adhikari et al. | Advances in knowledge discovery in databases | |
CN105975547A (zh) | 基于内容与位置特征的近似web文档检测方法 | |
Subramanian et al. | UP-GNIV: an expeditious high utility pattern mining algorithm for itemsets with negative utility values | |
Galbrun | Methods for redescription mining | |
CN107609110B (zh) | 基于分类树的最大多样频繁模式的挖掘方法及装置 | |
CN106951517B (zh) | 狭隘范围内文献的多样性查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |