基于中文网页自动分类技术的 Web 用户行为分析方法 技术领域 本发明提供了一种基于中文网页自动分类技术的 web 用户行为分析方法, 采用朴 素贝叶斯分类方法, 使用类别概率和特征项的联合分布概率自动推理出 web 用户所浏览的 网页的类别, 在网页分类的基础上对 web 用户的上网习惯进行分析, 得出用户行为分析结 果。 本发明的关键技术是构造了一个动态的训练集, 能够根据分类准确度指标自动更新, 使 得训练集更加具有时效性和代表性。本方法涉及人工智能、 用户行为分析、 网页分类、 网络 管理等领域。
发明背景
Internet 的迅猛发展带来了用户数的剧增, 用户对网络的要求也越来越高。分析 用户的群体构成及其习惯爱好, 向用户提供更具个性化的服务, 已经成为一个重要的研究 方向。而随着业务的多元化, 对 Internet 及其用户行为的研究, 也是网络的规划、 设计和管 理的重要依据。
在采集用于分析用户行为的数据时, 我们可以获得用户所访问的站点的 URL, 但是 并不清楚这些 URL 属于什么类别, 因此需要将 URL 和具体语意 ( 如体育 / 财经 / 军事等 ) 对应起来。建立一个完整、 准确、 动态的网页自动分类系统, 就可以通过 URL 得到其所属类 别。在已知访问站点类别的基础上, 可以对 Web 业务进行深度分析, 挖掘用户的网络行为, 获知用户的行为习惯和喜好趋向, 从而为提供个性化的服务提供依据。
发明内容 :
技术问题 : 本发明提供了一种基于中文网页自动分类技术的 web 用户行为分析方 法, 采用朴素贝叶斯分类方法, 使用类别概率和特征项的联合分布概率自动推理出 web 用 户所浏览的网页的类别, 在网页分类的基础上对 web 用户的上网习惯进行分析, 得出用户 行为分析结果。本发明的关键技术是构造了动态的训练集, 设置一个评价分类准确度的指 标和阈值, 每次分类完成后计算该分类结果的准备度指标, 如果分类结果的准确度指标大 于阈值, 则自动更新训练集, 将待测网页的网页向量加到训练集的相关类别中。 与以往的静 态训练集相比, 动态训练集更加具有时效性和代表性, 能使得分类结果更加准确。
技术方案 : 本发明提出一种基于中文网页自动分类技术的 web 用户行为分析方 法, 其具体的实现步骤如下 :
(1) 数据采集。 根据需求采集信息, 主要是采集 Web 用户的基本信息和提取用户所 浏览网页的 URL。
(2) 网页源码提取。 根据 URL 获取网页的源代码, 并且除去 Html 标记、 文本、 图像、 客户脚本等信息, 只留下纯净的中文文本。
(3) 分词。采用最大双向匹配法, 通过与中文词典的词条匹配, 将中文 Web 文本的 内容切分成若干词条组成的集合。
(4) 筛选关键词。 筛选关键词分为关键词条长度筛选和去除重复关键词两个步骤。 首先, 将词条的范围限制到 2 到 4 之间, 不在此范围内的词条对分类作用不大甚至起干扰作 用, 将这些词条剔除。然后, 对每个文本中重复出现的词条只记录一次, 并记录与之相关的
词频, 可以提高计算速度, 减少计算错误。
(5) 确定特征项。网页中的中文关键词同类别之间满足 x2 分布, 所以采用 x2 统计 方法来确定特征项。 先计算关键词在各类别中的频数, 然后通过 x2 统计公式来计算统计量, 最后选择统计量较大的前 1000 个关键词作为特征项。
(6) 网页向量表示。记录所选定的特征项和与之相关的词频, 并用向量的形式表 示。网页向量的元素是特征项, 元素值是本网页文本中特征项的词频。
(7) 用朴素贝叶斯分类方法进行网页分类。 将类别概率作为先验概率, 特征项的联 合分布概率作为条件概率, 根据贝叶斯理定理可求出后验概率。选择后验概率最大的类别 作为待测网页的类别。
(8) 更新训练集。 设置一个评价分类结果准确率的量度指标和阈值, 每次分类完成 后计算该分类结果的准备度指标, 如果分类结果的准确度指标大于阈值, 则更新训练集, 将 待测网页的网页向量加到训练集的相关类别中。否则, 保持原有的训练集不变。
(9)Web 用户行为分析。组合不同的查询条件, 结合用户基本信息和所浏览的网页 的类别信息, 可得出不同条件下用户浏览不同类型的 Web 网页的分布情况, 根据这些信息 可得出 Web 用户的行为习惯和爱好趋向, 有助于提供更加个性化的服务。 有益效果
通过基于中文网页自动分类技术的 web 用户行为分析方法, 我们能够实现 :
(1) 能够根据分类准确度指标自动更新训练集, 相较于以往的静态训练集, 动态训 练集更加具有时效性和代表性。
(2) 在训练集实时更新的基础上, 采用朴素贝叶斯分类方法对网页自动分类, 其分 类结果比较准确。
(3) 基于网页分类结果, 结合用户的基本信息, 能对 Web 用户的行为进行更深层次 的挖掘分析, 使得分析结果更加接近用户的行为习惯和爱好趋向。
附图说明
图 1 是本发明的模块框架图。具体实施方式
下面结合附图对发明的技术方案进行详细说明 :
本发明提供了一种基于中文网页自动分类技术的 Web 用户行为分析方法, 采用朴 素贝叶斯分类方法, 使用类别概率和特征项的联合分布概率自动推理出 Web 用户所浏览的 网页的类别, 在网页分类的基础上对 web 用户的上网习惯进行分析, 得出用户行为分析结 果。其具体步骤如下 :
(1) 数据采集。根据需求采集信息, 主要是采集 Web 用户的基本信息和提取用户 所浏览网页的 URL。用户基本信息包括用户的 IP 地址、 归属地、 浏览网页的时间、 接收的 IP 包字节数、 发送的 IP 包字节数、 接收的 IP 包数、 发送的 IP 包数。
(2) 网页源码提取。提取网页源码是通过 Web URL 来找到 Web 文本, 读取 Web 文本 的内容。 Web 文本包含了大量的 Html 标记、 文本、 图像、 客户脚本, 在提取网页源代码的同时 应对 Web 文本进行预处理, 除掉的 Html 标记、 图像、 客户脚本, 最后只留下纯净的中文文本信息。 (3) 分词。 由于汉语语言文字的词与词之间是没有显示的分隔标记的, 必须要将语 流中的各个词条分离出来, 在中文词典的支持下将中文 Web 文本的内容切分成若干词条组 成的向量, 通过与中文词典中的词条匹配来分词。其主要思想如下 :
1) 预分词。利用标点、 数字、 英文等非汉字符号将句子切分成多个汉字串 ;
2) 采用正向最大匹配 (MM) 和逆向最大匹配方法 (RMM) 相结合的双向最大匹配方 法作为基本分词方法。双向均采用增字最大匹配, 从句子头部上一切分点开始逐步向后增 字, 直至待切分的汉字序列为空。该次切分的结果是得到成功匹配的最大字串。
双向最大匹配方法的步骤如下 :
①取句子的当前汉字序列中的前 6 个汉字作为匹配字段, 查找词典, 若词典中有 这样的一个词条, 则 匹配成功, 匹配字段作为一个词从当前汉字序列中被切分出来, 放入 词条集中, 继续执行步骤①, 否则执行步骤② ;
②去掉该匹配字段尾部一个汉字后作为新的匹配字段, 再与词典中的词条进行匹 配, 若匹配成功, 则新的匹配字段作为一个词从当前汉字序列中切分出来放入词条集中, 否 则继续执行步骤②。若对最后一个汉字查找词典都匹配不成功, 则将该汉字从当前字符序 列中切分出来放入词条集中 ;
③若文本的当前汉字序列不为空, 则转步骤①, 否则结束。
(4) 筛选关键词。去掉长度不符和重复出现的词条。其具体步骤如下 :
①词条长度筛选, 将所有词条的长度限制到 2 到 4 之间, 不在此长度范围内的词条 被认为对分类作用不大甚至起干扰作用, 将这些词条剔除 ;
②对词条唯一性做限定, 对每个文本中重复出现的词条只记录一次, 并记录与之 相关的词频。将总词汇文本中的所有词条频数限制到一次, 以提高计算速度, 减少计算错 误。
(5) 确定特征项。网页中的中文关键词同类别之间满足 x2 分布, 所以采用 x2 统计 方法来确定特征项。这一统计量值越高, 关键词同类别之间的独立性越小, 相关性越强, 即 2 关键词对该类别的作用越大。x 统计公式如下所示 :
其中, Nij 是关键词 i 在类别 j 中出现的频数, Ni′ j 是关键词 i 在类别 j 外的其他 类别中出现的频数, Ni′ j 除关键词 i 外所有词条在类别 j 中出现的频数, Ni′ j′是除关键词 i 外的所有词条在类别 j 外其他类别中出现的频数, N 是所有关键词的频数总和。
确定特征项的具体步骤如下所示 :
①分别计算每个关键词在不同分类中出现的频数, 然后将所有频数求和 ;
②计算每对不同的关键词与类别之间的四种关系频数。然后按照 x2 计算方法得 到每个关键词 i 对类别 j 的 x2 统计值 ;
③将所有的 x2 统计值按降序排序, 取前 1000 个关键词作为特征项, 完成特征项的 确定 ;
(6) 网页向量表示。记录所选定的特征项和与之相关的词频, 并用向量的形式表
示。网页向量的元素是特征项, 元素值是本网页文本中特征项的词频。
(7) 用朴素贝叶斯分类方法进行网页分类。 采用朴素贝叶斯分类方法, 使用类别概 率和特征项的联合分布概率来推测文档的类别。将类别概率作为先验概率, 特征项的联合 分布概率作为条件概率, 根据贝 叶斯理定理可求出后验概率。 选择后验概率最大的类别作 为待测网页的类别。
下面具体介绍朴素贝叶斯分类方法的原理和步骤。
令 C = {c1, c 2, ..., ck}} 为类别的集合, D = {d1, d 2, ..., dn} 为训练集, nj 表示训 练集中属于类别 cj 的文档数, n 表示训练集样本总数, d 为待测文档, 采用拉普拉斯概率估 计来计算, 可得到类别 cj 的先验概率 P(cj), 如下所示 :
待测文档 d 由其包含的特征项组成, 即 d = (w1, w2, ..., wm), 采用拉普拉斯概率估 计来计算特征项 wi 属于类别 cj 的概率, 由特征独立性条件可得出条件概率 P(d|cj), 如下 所示 :
其中, TF(wi|cj) 表示特征项 wi 在类别 cj 的所有文档的词频总和, V 表示网页向量 中的特征项总数。
由于对于每一个类别 P(d) 都是一个常数, 据贝叶斯定理, 选择后验概率最大的类 别, 即为选则使乘积 P(cj)P(d|cj) 最大的类别。
其具体步骤如下所示 :
①计算训练集中属于各类别的文档数和训练集的样本总数 ;
②根据先验概率公式计算先验概率 ;
③计算待测文本中的特征项数, 分别计算每个特征项在不同的类别中的词频数 ;
④根据条件概率计算公式分别计算每个类别的条件概率 ;
⑤对应于每个类别, 求得先验概率和条件概率的乘积 ;
⑥选择先验概率和条件概率的乘积最大的类别作为待测文档的类别。
(8) 更新训练集。首先设置评价分类准确度的指标和阈值, 其准确度指标 ES 的计 算公式如下所示 :
其中, P(ci)P(d|ci) 为待测文档所属类别的先验概率和条件概率的乘积, P(cs) P(d|cs) 为其他类别的先验概率和条件概率的乘积。
阈值 Threshold 的计算公式如下所示 :
其中, n 表示训练集样本总数, ni 表示训练集中属于类别 cj 的文档数, P(ci)P(d|ci)为所有类别的先验概率和条件概率的乘积。
每次分类完成后根据公式计算该分类结果的准备度指标, 如果分类结果的准确度 指标 ES 大于阈值 Threshold, 则更新训练集, 将待测网页的网页向量和相关类型加入训练 集中。否则, 保持原有的训练集不变。
(9)Web 用户行为分析。组合不同的查询条件, 结合用户基本信息和所浏览的网页 的类别信息, 分析用户的行为习惯。用户基本信息包括用户的 IP 地址、 归属地、 浏览网页的 时间、 接收的 IP 包字节数、 发送的 IP 包字节数、 接收的 IP 包数、 发送的 IP 包数, 再加上网 页类别, 可得出 8 个独立条件, 按照排列组合原则, 组合这 8 个不同的独立条件可得到 28 个 复合条件, 然后去除一些无实际意义的条件, 最终可得到 26 个具有实际价值的条件, 根据 这 26 个条件作查询, 可得出不同条件下用户浏览不同类型的 Web 网页的分布情况, 根据这 些信息可得出 Web 用户的行为习惯和爱好趋向, 有助于提供更加个性化的服务。