《文件推荐系统及方法.pdf》由会员分享,可在线阅读,更多相关《文件推荐系统及方法.pdf(11页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201310360154.7 (22)申请日 2013.08.19 G06F 17/30(2006.01) (71)申请人 捷达世软件 (深圳) 有限公司 地址 518109 广东省深圳市宝安区龙华街道 办民清路东侧富士康科技园 D1 区厂房 冲模厂房第三层 A 区分隔体 申请人 鸿海精密工业股份有限公司 (72)发明人 强振雄 林奇玲 李建纬 李宜臻 (54) 发明名称 文件推荐系统及方法 (57) 摘要 本发明提供一种文件推荐方法, 该方法利用 聚类演算法将用户划分为不同的群组, 相同群组 内的所有用户阅读的文件进行互相推荐。该方 法。
2、包括 : 将文件解析为具有标题和正文的文字信 息, 并对文字信息进行断词和过滤断词结果 ; 收 集所有用户在一段时间内的阅读行为, 每个用户 作为一个采样样本, 计算每个用户在该时间段内 的阅读习惯和标题词的频数 ; 根据聚类演算法对 所有样本进行演算, 将所有样本划分为不同群组 ; 根据用户所在群组, 将同群组内所有用户阅读的 文件进行相互推荐。 此外, 本发明还提供一种文件 推荐系统。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图3页 (10)申请公布号 CN 104391843 A (43)申请公布日 2015.03。
3、.04 CN 104391843 A 1/2 页 2 1. 一种文件推荐系统, 运行于服务器中, 其特征在于, 该系统包括 : 文本处理模块 : 用于将文件解析为具有标题和正文的文字信息, 并对文字信息进行断 词和过滤断词结果 ; 样本采集模块 : 用于收集所有用户在一段时间内的阅读行为, 每个用户作为一个采样 样本, 计算每个用户在该时间段内的阅读习惯和标题词的频数 ; 群组划分模块 : 用于根据聚类演算法对所有样本进行演算, 将所有样本划分为不同群 组 ; 及 文件推荐模块 : 用于根据用户所在群组, 将同群组内所有用户阅读的文件进行相互推 荐。 2. 如权利要求 1 所述的文件推荐系统,。
4、 其特征在于, 该系统还包括一个定期更新模块, 用于设定周期性的群组更新排程, 每间隔一定时间周期, 抓取该时间周期内的所有用户的 阅读行为, 重新采样及利用聚类演算法对采样样本重新进行群组划分。 3. 如权利要求 1 所述的文件推荐系统, 其特征在于, 所述样本采集模块通过如下方式 进行采样 : 汇总所有用户在一个时间段内阅读文件的所有标题词作为样本的标题词特征 ; 以每个用户作为采样单位, 计算每个用户在该时间段内阅读文件中各标题词的频数, 作为每个样本中对应标题词特征的特征值 ; 以每个用户的阅读习惯的各习惯变量作为样本的习惯特征, 计算每个用户在该时间段 内各习惯变量的变量值, 作为每。
5、个样本中对应习惯特征的特征值 ; 保存所有用户采样的样本, 该样本包括用户 ID、 标题词特征的特征值和习惯特征的特 征值。 4. 如权利要求 3 所述的文件推荐系统, 其特征在于, 所述阅读习惯的习惯变量包括 : 平 均每日阅读时长、 平均每日阅读时段和平均阅读速度。 5. 一种文件推荐方法, 其特征在于, 该方法包括 : 文本处理步骤 : 将文件解析为具有标题和正文的文字信息, 并对文字信息进行断词和 过滤断词结果 ; 样本采集步骤 : 收集所有用户在一段时间内的阅读行为, 每个用户作为一个采样样本, 计算每个用户在该时间段内的阅读习惯和标题词的频数 ; 群组划分步骤 : 根据聚类演算法对。
6、所有样本进行演算, 将所有样本划分为不同群组 ; 及 文件推荐步骤 : 根据用户所在群组, 将同群组内所有用户阅读的文件进行相互推荐。 6. 如权利要求 5 所述的文件推荐方法, 其特征在于, 该方法还包括定期更新步骤 : 设定 周期性的群组更新排程, 每间隔一定时间周期, 抓取该时间周期内的所有用户的阅读行为, 重新采样及利用聚类演算法对采样样本重新进行群组划分。 7. 如权利要求 5 所述的文件推荐方法, 其特征在于, 所述样本采集步骤包括 : 汇总所有用户在一个时间段内阅读文件的所有标题词作为样本的标题词特征 ; 以每个用户作为采样单位, 计算每个用户在该时间段内阅读文件中各标题词的频数。
7、, 作为每个样本中对应标题词特征的特征值 ; 以每个用户的阅读习惯的各习惯变量作为样本的习惯特征, 计算每个用户在该时间段 权 利 要 求 书 CN 104391843 A 2 2/2 页 3 内各习惯变量的变量值, 作为每个样本中对应习惯特征的特征值 ; 保存所有用户采样的样本, 该样本包括用户 ID、 标题词特征的特征值和习惯特征的特 征值。 8. 如权利要求 7 所述的文件推荐方法, 其特征在于, 所述阅读习惯的习惯变量包括平 均每日阅读时长、 平均每日阅读时段和平均阅读速度。 权 利 要 求 书 CN 104391843 A 3 1/5 页 4 文件推荐系统及方法 技术领域 0001 。
8、本发明涉及文字采矿和信息挖掘技术, 尤其涉及一种文件推荐系统及方法。 背景技术 0002 借助于互联网的快速普及, 人们每天通过网络可以浏览各种信息资讯。然而信息 资讯日益膨胀, 庞大的信息量反而会导致人们无法从过多的网页或文件中快速筛选到符合 个人需求的信息。 0003 目前大多数的新闻门户网站或是资讯类系统, 根据用户已经阅读的网页或是文件 中的关键词, 利用关键词找出该用户的阅读需求以推送出相关新闻或文件。该方法是分析 单一用户的阅读行为, 以关键词作为推送的依据, 推送的新闻或文件具有一定局限性。 发明内容 0004 鉴于上述内容, 有必要提供一种文件推荐系统及方法, 可以充分利用并分。
9、析所有 用户的阅读行为, 划分用户群组, 以群组为依据推送文件给用户。 0005 所述文件推荐系统, 该系统包括 : 文本处理模块, 用于将文件解析为具有标题和正 文的文字信息, 并对文字信息进行断词和过滤断词结果 ; 样本采集模块, 用于收集所有用户 在一段时间内的阅读行为, 每个用户作为一个采样样本, 计算每个用户在该时间段内的阅 读习惯和标题词的频数 ; 群组划分模块, 用于根据聚类演算法对所有样本进行演算, 将所有 样本划分为不同群组 ; 及文件推荐模块, 用于根据用户所在群组, 将同群组内所有用户阅读 的文件进行相互推荐。 0006 所述文件推荐方法, 该方法包括步骤 : 将文件解析。
10、为具有标题和正文的文字信息, 并对文字信息进行断词和过滤断词结果 ; 收集所有用户在一段时间内的阅读行为, 每个用 户作为一个采样样本, 计算每个用户在该时间段内的阅读习惯和标题词的频数 ; 根据聚类 演算法对所有样本进行演算, 将所有样本划分为不同群组 ; 根据用户所在群组, 将同群组内 所有用户阅读的文件进行相互推荐。 0007 相比于现有技术, 本发明中所述文件推荐系统及方法, 分析所有用户的阅读行为, 利用聚类演算法将所有用户划分为不同群组且不同群组存在明显差异, 相同群组内的所有 用户阅读的文件进行互相推荐。 附图说明 0008 图 1 是本发明所述文件推荐系统的较佳实施例的运行环境。
11、图。 0009 图 2 是本发明所述文件推荐系统的较佳实施例的功能模块图。 0010 图 3 是本发明所述文件推荐方法的方法流程图。 0011 图 4 是本发明中文件断词表的示意图。 0012 图 5 是对所有用户一段时间内的阅读行为采样后的样本示意图。 0013 主要元件符号说明 说 明 书 CN 104391843 A 4 2/5 页 5 服务器1 数据库2 用户终端设备3 文件推荐系统10 处理器20 存储器30 文本处理模块101 样本采集模块102 群组划分模块103 文件推荐模块104 定期更新模块105 如下具体实施方式结合上述附图进一步说明本发明的技术方案。 具体实施方式 00。
12、14 参阅图 1 所示, 是本发明所述文件推荐系统的较佳实施例的运行环境图。所述文 件推荐系统 10 运行于服务器 1 中。所述服务器 1 通过互联网或是局域网与一个数据库 2 和多个用户终端 3 进行通讯连接。所述服务器 1 是一个应用程序服务器, 提供网络服务和 应用程序服务, 处理用户终端 3 发送的服务请求等。所述数据库 2 用于存储文件、 断词词库 和常用词词库以及和各类表数据等。所述用户终端 3 可以是个人电脑或是平板电脑等。所 述断词词库和常用词词库是所述文件推荐系统 10 对数据库中的文件进行断词和过滤断词 结果时的参照词库。 0015 本较佳实施例中, 所述服务器1提供一个文。
13、件阅读平台 (例如新闻门户网站) , 用户 注册该平台后, 可以自由阅读各类文件等。 0016 参阅图 2 所示, 是本发明所述文件推荐系统的较佳实施例的功能模块图。所述文 件推荐系统 10 的程序代码存储于服务器 1 的存储器 30 中, 由处理器 20 控制执行。所述文 件推荐系统 10 包括多个程序代码组成的功能模块 : 文本处理模块 101、 样本采集模块 102、 群组划分模块 103、 文件推荐模块 104 及定期更新模块 105。所述功能模块是完成特定功能 的程序段, 比程序更适合描述软件在处理器中的执行过程。以下结合图 3 方法流程图, 进一 步详细说明各模块的功能。 0017。
14、 本较佳实施例中, 所述文件推荐系统 10 基于 EM 聚类演算法 (Expectation Maximization Algorithm, 期望最大化算法) 实现了基于群组的协同式文件推荐。所述协同 式文件推荐是指, 将所有用户划分为不同的群组, 相同群组内的某个用户阅读的文件可以 推荐给该群组内的其他用户。 0018 参阅图 3 所示, 是本发明所述文件推荐方法的方法流程图。 0019 步骤 S01, 文本处理模块 101 将文件解析为具有文件标题和文字正文的结构性的 文字信息, 采用混合式断词法对解析后的文字信息断词并过滤断词结果中无任何意义的词 或常用词。 0020 所述文件可以是网页。
15、、 Word 文件、 PDF 文件或是文本文件等。所述文件解析是用 于剔除文件中非文字的内容, 例如当文件为网页时, 剔除网页原始文件中的网页标签或是 其他脚本语言等, 当文件为含图片的 Word 文件或是 PDF 文件时, 剔除其中的图片等。所述 混合式断词法是指结合词库式断词和统计式断词法将文字内容断开为具有语法意义的有 限多个关键词。所述过滤断词结果是指剔除断词结果中无意义的词和常用词, 例如,“的” 、 说 明 书 CN 104391843 A 5 3/5 页 6 “吗” 等无意义的词和例如 “我们” 、“今天” 、“非常” 等人称、 时间和程度等性质的常用词。 0021 本较佳实施例。
16、中, 服务器 1 设定文本处理的周期性排程, 选择每天用户访问量不 多的某几个时段, 将数据库中新增的文件进行解析并断词。文本处理模块 101 对每个文件 的断词结果以图 4 所示的文件断词表存储, 标题和正文经断词及过滤后的每个词都以逗点 隔开存储在该表格中的标题断词和正文断词的栏位中。 0022 步骤S02, 样本采集模块102收集每个用户在一个时间段 (如60天内) 的阅读行为, 以每个用户作为一个采样单位, 计算每个用户在该时间段内的阅读习惯和所有标题词的频 数, 保存所有用户采样的样本。 0023 本较佳实施例中, 服务器 1 会记录每个用户每次登陆文件阅读平台后的所有阅读 行为 (。
17、也称之为历史记录) 。所述阅读行为包括用户 ID、 登陆时间、 阅读文件 ID、 文件字数、 阅读时间 (即阅读文件的时间点, 如 12:00 等) 、 阅读时长 (即阅读文件的时长且以分钟为单 位计时) 、 退出时间等信息。所述文件 ID 为区分文件的唯一标识。 0024 本较佳实施例中, 所述阅读习惯包括三个习惯变量, 分别是 : 用户平均每日阅读时 长、 平均每日阅读时段和平均阅读速度。所述平均每日阅读时长为用户一段时间内 (如 60 天内) 阅读时长累加的平均值。所述平均每日阅读时段是指用户平均每天阅读文件的时段, 该时段值分为上午、 中午、 晚上, 分别取数字 1、 2、 3 表示。。
18、所述平均每日阅读时段的计算过 程如下 : 指定各时间段的时间区间, 例如 06:0012:00 为上午时段、 12:0018:00 为中午时 段、 18:0006:00为晚上时段 ; 汇总用户一段时间内 (如60天内) 各时段阅读文件的篇数 ; 根 据汇总结果, 选取阅读文件篇数最多的时段作为用户在该时间段内的平均每日阅读时段。 所述平均阅读速度是指用户每分钟阅读字数, 汇总用户在一段时间内 (如60天内) 阅读的所 有文件的总字数和阅读文件总时长, 总字数与总时长的比值即为用户在该时间段内的平均 阅读速度。 0025 所述的标题词是指文件的标题经过断词及过滤后的各个词。 所述的标题词的频数 。
19、是指用户在一个时间段内 (如60天内) 阅读的文件中, 标题词在该时间段内阅读的所有文件 的标题中出现的次数。本较佳实施例中, 根据每个用户在一个时间段内的阅读行为并结合 文件的断词结果, 汇总计算每个用户在该时间段内所有标题词的频数。 0026 需要说明的是, 所述阅读习惯并不仅限于上述的三个习惯变量, 可根据不同实施 例进行设定, 如阅读习惯还可包括平均阅读篇数、 累计阅读时长等, 需注意的是设定阅读习 惯所包括的习惯变量时必须要明确定义该变量量化为数值的计算过程。 0027 以下结合图 5 所示的所有用户样本的示意图, 具体说明采样过程 : a) 汇总一个时间段内 (如 60 天内) 所。
20、有用户阅读文件的所有标题词作为所有样本的标 题词特征, 如图 5 中每个样本包括标题词 1 至标题词 k 的 k 个标题词特征, 即阅读平台上的 所有用户在该时间段内 (如 60 天内) 阅读文件的所有标题词为标题关键词 1 至标题关键词 k ; b) 计算每个样本的所有标题词特征的特征值 (或称为 “标题词特征值” ) , 每个标题词特 征的特征值为该用户在该时间段内 (如60天内) 阅读的文件中该标题词的频数, 若用户在该 时间段内阅读的所有文件的标题中均未出现某标题词, 则该标题词的频数为 0, 相应的该标 题词特征的特征值为 0, 如图 5 所示, 样本 1 的标题词 1 的特征值 f。
21、11 为在 60 天内用户 1 阅 读文件中标题词 1 的频数, 样本 2 的标题词 1 的特征值 f21 为用户 2 在 60 天内阅读所有文 说 明 书 CN 104391843 A 6 4/5 页 7 件中标题词 1 的频数 ; c) 以每个用户的阅读习惯的各习惯变量作为样本的习惯特征, 计算每个用户在该时间 段内各习惯变量的变量值, 作为每个样本中对应习惯特征的特征值, 如图 5 所示, 样本 1 中 习惯特征 1 的特征值 b11 为用户 1 在 60 天内的平均阅读时长, 样本 2 中习惯特征 1 的特征 值 b21 为用户 2 在 60 天内的平均阅读时长 ; d) 保存所有用户。
22、采样的样本, 该样本包括有用户 ID、 标题词特征的特征值和习惯特征 的特征值。 0028 步骤S03, 群组划分模块103通过EM聚类演算法对所有样本进行迭代演算, 将所有 样本划分为有限多个类别以实现对用户分群。 0029 本较佳实施例中, 利用微软公司的 SSAS(SQL Server Analysis Service, SSAS) 中实现 EM 聚类演算法的聚类分析模型对所有样本进行聚类演算, 实现分群。 0030 利用该聚类分析模型进行分群的具体过程为 : 设定隐含聚类数, 本较佳实施例中 设定该聚类数为 4, 即所有样本聚类成 4 个簇 (cluster) ; 将所有样本作为 EM。
23、 聚类演算法的 输入 ; 对所有样本进行迭代运算并输出最终的聚类结果。 经EM聚类演算法对所有用户分群 后, 每个用户则分属于不同的群组且仅属于一个群组中。 0031 需要说明的是, 由于设定的聚类数、 用户样本采样的时间段的长短或样本特征都 会影响到分群的效果, 在具体实施过程中, 需要反复多次设定不同的聚类数或不同的采样 时间段 (如 30 天、 60 天等) 或不同的样本特征 (如取消计算习惯特征中的平均阅读时段等) , 验证每次的分群结果, 选取各群组间最具差异性的分群结果的设定作为最优的设定, 以便 后续依据该设定定期更新用户分群群组。 0032 本较佳实施例中, 可通过以下两种方法。
24、进行验证分群结果的优劣 : 方法 1 : 根据分群结果, 选取某个样本特征作为衡量依据, 计算各群组内所有用户该样 本特征的平均特征值, 比较各群组样本特征的平均特征值的差异, 若存在明显差异, 则分群 结果较佳 ; 方法 2 : 基于方差分析 (Analysis of Variance) 的思想, 计算各群组内的组内差异 SSE (Sum of Squares Error, 误差项离差平方和) , 该值越小表示群组内用户的一致性高, 分群 效果较佳。 0033 本较佳实施例中, 利用 EM 聚类演算法对所有用户进行群组划分, 以实现基于群组 的协同式推荐。在其他实施例中可以利用 K-mean。
25、s 演算法或 Clara 演算法等其他聚类演算 法对采样后的用户样本进行聚类演算, 划分为不同用户群组。 0034 步骤 S04, 文件推荐模块 104 根据分群结果将同一群组内各用户所阅读的文件进 行相互推荐。 0035 本较佳实施例中, 当某个用户在阅读文件平台上阅读了某个文件后, 则文件推荐 模块 104 查找该用户所属的群组, 将该文件推送给该查找到的群组内的其他用户。 0036 步骤 S05, 定期更新模块 105 设定周期性的群组更新排程, 每间隔一定时间周期 (如 60 天) , 抓取该时间周期内的所有用户的阅读行为, 重新进行采样和群组划分。 0037 每个用户随着时间推移, 。
26、各自的阅读习惯也会有所改变, 此外, 使用阅读文件平台 的用户也会有增减, 因此, 本较佳实施例中, 定期更新模块 105 设定了周期性的排程, 重新 执行步骤 S02、 S03, 以根据阅读文件平台中当前所有用户在最近一段时间段内的阅读行为 说 明 书 CN 104391843 A 7 5/5 页 8 进行重新采样和分群。本较佳实施例中, 设定相隔 60 天的事件执行群组更新排程, 在执行 排程时, 抓取前 60 天内的所有用户的阅读行为进行采样和分群。 0038 最后需要指出, 以上较佳实施例仅用于说明本发明的技术方案而非限制, 尽管参 照以上较佳实施例对本发明进行了详细说明, 本领域的普通技术人员应当理解, 可以对本 发明的技术方案进行修改或等同替换, 都不应脱离本发明的精神和范围。 说 明 书 CN 104391843 A 8 1/3 页 9 图 1 图 2 说 明 书 附 图 CN 104391843 A 9 2/3 页 10 图 3 图 4 说 明 书 附 图 CN 104391843 A 10 3/3 页 11 图 5 说 明 书 附 图 CN 104391843 A 11 。