收稿日期:2018-11-22
基金项目:北京信息科技大学科研水平提高项目(5211910933);国家自然科学基金项目(61370139)
作者简介:康海燕(1971—),男,河北石家庄人,教授,主要从事网络安全与隐私保护研究, E-mail: kanghaiyan@126.com .
通信作者: 李昊(1994—),男,北京人,硕士研究生,主要从事大数据安全与隐私保护研究,E-mail: 243083058@qq.com .
摘要 :提出一种用户性格预测与群体画像方法。该方法将数据挖掘、机器学习和画像技术相结合,首先改进了传统TF-IDF算法没有考虑文章结构的问题,提高网页主题挖掘的准确率;其次根据大五类性格构建“性格-主题-关键词”(PTK)模型, 归结不同用户的兴趣属性特征和性格属性特征,并结合用户的基础属性对用户进行综合画像;然后运用 K -means方法将拥有相同属性特征的人群进行聚类,描绘在社会中拥有相似特征人群的群体面貌;最后通过实验证明,该方法使用改进的TF-IDF方法对网页文本进行挖掘效果要优于LDA主题模型,而且可以有效对用户的性格进行预测与群体画像。
关键词 Web日志 数据挖掘 用户画像 性格预测 TF-IDF K -means
Personality Prediction and Group Profiling Method Based on Web Log
KANG Haiyan 1 , LI Hao 2 1. School of Information Management, Beijing Information Science and Technology University, Beijing 100192, China;
2. School of Computer Science, Beijing Information Science and Technology University, Beijing 100192, China Abstract : A method of user personality prediction and group profiling was proposed. Data mining, machine learning and user profiling techniques were combined. Firstly, the problem of article structure not considered in traditional TF-IDF algorithm was solved, and the accuracy rate of topic mining was improved. Secondly, the "personality-theme-keywords" (PTK) model was constructed according to the big five character. The comprehensive profiling of the user was formed according to the user's interest attribute and personality attribute. Finally, the K -means method was used to cluster the groups with the same attribute charactics and describe the group appearance of the groups with similar characteristics in the society. In addition, experiments showed that the improved TF-IDF method was better than LDA topic model for web text mining, and the user's personality was effectively predicted and the group profiling was effectively formed.
Key words : Web logs data mining user profile personality prediction TF-IDF K -means

用户画像 [ 1 ] 是通过对用户的社会属性、日常生活习惯和消费行为等数据信息进行分析和挖掘,从而抽象出用标签形式进行表示的用户模型。贴“标签”是组织构建用户画像系统的核心任务,标签就是经过对数据分析后用户信息高度精练的特征标识。

目前,用户画像技术飞速发展,正逐渐被应用到社交媒体、电商、移动等多个领域。Mueller等 [ 2 ] 通过Twitter用户的用户名信息和识别用户性别,构建了多种词语结构特征和Twitter用户画像,但是没有提取用户访问Twitter的主题。Marquardt等 [ 3 ] 以文本为基础,提出了通过多种标签的分类方法来构建用户的性别及年龄画像,但是没有融合用户访问文本的兴趣属性。Zhu等 [ 4 ] 利用用户情景日志,构建了一种在情境感知背景下的移动用户画像构建方法,但是没有对可能存在危险的用户进行行为预测。虽然用户画像已成为当前的一个热门话题,但是目前针对群体用户性格属性的画像及行为预测的研究还很缺乏 [ 5 ]

Web日志挖掘属于Web挖掘的一部分,目前基于文本内容的检索和文本分类技术是Web内容挖掘研究的主要方向。随着对Web日志数据挖掘的深入研究,国内外的很多学者发现Web日志数据的研究将会在很大程度上反映及预测用户的浏览趋势和兴趣爱好。Guerbas [ 6 ] 等提出了一种有效的在线预测的新方法,对Web日志挖掘过程和在线导航模式预测进行增强,但是没有对词频-逆文本率(term frequency-inverse document frequency,TF-IDF)的计算方式进行改进。郭俊霞 [ 7 ] 等提出了一种针对用户网页浏览日志数据的查询和行为分析方法,但是没有挖掘出用户查询访问网页的主题。张宏鑫 [ 8 ] 等提出一种基于移动应用程序日志数据的人群特征分析与画像方法,有效提取了移动终端用户的特征,但是没有深层次地预测聚类人群的代表性格属性特征。Zhou [ 9 ] 等通过对社交网络中数据的分析,将人格作为用户属性的一个特征维度进行推测,但是建模通过众包的方式填写问卷取得,没有提出一种自动化的人格预测方法。Golbeck [ 10 ] 等通过关注Twitter用户的推文,利用机器学习算法对用户的人格进行预测,但是没有将用户的人格、访问推文的主题和关键词进行综合建模。Gao [ 11 ] 等通过提取新浪用户访问的文本内容,对用户微博的内容总数和情感词等特征进行分析,获取其大五人格分数,但是没有提出基于单一用户的群体画像方法,如何对具有潜在危险型人格的用户进行行为预测。根据以上文献对日志挖掘或用户性格预测存在的问题,提出一种基于大五人格的用户性格深度挖掘和预测方法。

本文主要贡献:1)改进传统TF-IDF方法没有考虑文章结构的问题。在挖掘网页关键词时考虑文章结构对结果的影响,为不同位置的词配以权重提高算法挖掘的准确率。2)首次提出“性格-主题-关键词”模型。根据大五人格理论将心理学与画像技术相结合,建立用户性格画像知识库。3)首次将Web日志的挖掘引入到深层次的用户性格挖掘,对其性格属性特征进行预测。4)提出了基于单一用户画像技术的群体用户画像技术。使用 K -means方法将拥有相同属性特征和性格的人群进行聚类并可视化,达到描绘在社会中拥有相似特征群体的面貌。

日志数据通常用纯文本文件记录用户的访问记录。每条日志文件记录的格式通常为: date time/c-ip/cs-username/s-ip/s-port/cs-method/cs-uri-stem/cs-uri-query/sc-staus cs(user-agent)。

本文选取日志挖掘用到的7个数据进行分析,分别为date time(日期时间)、c-ip(用户IP)、s-port(服务器端口)、cs-method(请求方法)、cs-uri-stem(访问的URL)、sc-staus(应答状态)和cs-uri-stem(用户代理)。

第2步:数据预处理。首先通过后缀处理、方法过滤、状态码过滤和冗余处理等方法对日志数据进行清洗。进而通过日志中IP的识别和操作系统的识别来辨别用户身份的唯一性。然后使用网络爬虫获取每条URL所对应的网页文本,并对获取的原始文本进行分词、去停用词等预处理操作。

第3步:提取用户的属性特征。本文通过改进后的TF-IDF算法计算词特征值,将特征值最高的词作为网页文本的关键词。通过 K 近邻( K nearest neighbor,KNN)文本分类算法对网页文本进行主题归类。

第4步:用户画像。通过大五类性格进行“性格-主题-关键词”模型构建,对拥有不同关键词和主题的用户进行性格分类及预测。把用户的属性特征抽象成标签形式,从而可以更加直观、方便地对用户的性格及属性进行可视化,并且对拥有危险性格倾向用户进行预测 [ 12 ]

第5步:群体画像。通过对用户兴趣特征和性格特征进行结合,使用 K -means方法将拥有相同属性特征的人群进行聚类。观察算法收敛后聚类中心点的属性特征,从而达到描绘在社会中拥有相似特征群体的面貌。

TF - IDF\left( {{w_i}} \right) = tf\left( {{w_i}} \right) \cdot idf\left( {{w_i}} \right) = t{f_j}\left( {{w_i}} \right) \cdot \log \left( {N/df\left( {{w_i}} \right)} \right),

式中: tf j ( w i )表示当前词 w i 在文本 j 中出现的频率; N 表示文本集合中所有文本的总数; df ( w i )表示文本集合中有多少篇文本出现了当前词 w i 。将文本集合中的每一个词进行上述分析后,得到每一篇文本中每一个词的 TF-IDF 值,即为该词的特征值。然后将所有词的特征值从高到低排序,选择特征值最高的作为文本的关键词 [ 14 ]

步骤2  经研究发现,文本标题和首段中的词很大程度上可以代表文章的中心主题。因此为了提高挖掘Web文本内容的关键词的精确度,给处于文章标题和首段位置的词配以更高的权重,在提取不同长度文章的关键词时,使用动态权重 α 来适应长短文本对关键词的影响。通过实验统计权重对关键词提取的影响,得出当标题和首段词系数分别为3和1.5时,对短文本有较好提取效果。进而手动设置300字以下短文本的标题和首段词的基础系数为3和1.5,同时每超出基础文本300字,基础系数分别加1,从而达到动态适应长短文本对算法提取关键词的影响。

对公式(1)中 tf j ( w i )改进为 tf′ j ( w i ),

tf_j^{'}\left( {{w_i}} \right) = t{f_j}\left( {{w_i}} \right) + (3 + \alpha ) \cdot t{f_{jh}}\left( {{w_i}} \right) + (1.5 + \alpha ) \cdot t{f_{jf}}\left( {{w_i}} \right),

式中: tf j ( w i )表示当前词 w i 在文本 j 中配以权重后出现的频率; tf jh ( w i )表示当前词在文章标题中出现的频率; tf jf ( w i )表示当前词在文章首段出现的频率。

步骤3  由于公式(2)对 TF 值进行改进,为了减轻算法对词频的过度依赖,加入 IDF 值的平方来优化算法。使用公式(3)计算Web文本中词的 TF-IDF 值,并选出其中特征值最高的词,作为当前文章关键词候选项。

TF - IDF{'}\left( {{w_i}} \right) = tf_j^{'}\left( {{w_i}} \right) \cdot \log \left( {N/df\left( {{w_i}} \right)} \right) \cdot \log \left( {N/df\left( {{w_i}} \right)} \right)。$

步骤4  重复步骤3对每个URL的Web文本内容进行关键词的提取,存入数据库。

文本分类是让计算机按照一定的分类标准自动对文本集合进行分类的过程。KNN [ 16 ] 文本分类算法基于向量空间模型,利用文本向量间相似度划分文本类别。该算法的核心思想为在训练集中分别计算待分类文本与设定好的每个标准分类样本的相似度后,找到相似度最高的 K 个样本。最后,根据待分类文本的相似度权值和相似样本的类别,判定待分类文本的类别。

本文使用KNN文本分类算法对Web网页文本内容进行主题分类。预先设定主题类别为一定程度上可以覆盖网络的20个主题。在训练集中,每个主题设置能突出反映当前主题特征的多篇文本作为标准主题向量集。为了去除数据中的噪声词,对特征空间进行降维并减少运算复杂度,选取特征值前20个特征向量作为当前文本特征向量集,与标准主题向量集进行相似度计算,从而达到对Web网页文本进行分类的目的。算法描述如下。

输入:待分类文本集合 K ={ v i { w i 1 , w i 2 , …, w in },1≤ i n }, D s ={ d s 1 , d s 2 , …, d s 20 };输出:分类的结果。

步骤1  首先,对训练集中代表 20个主题的标准主题文本集 D s 进行预处理和特征词向量化,抽取每个主题特征向量值最高的20个特征向量{ v s { w s 1 , w s 2 , …, w s 20 },作为该主题的标准主题向量集。

步骤2  从数据库中取出经过特征向量化的文本集合 K, 计算待分类文本 v 和标准分类 v s 相似度,计算公式为

步骤3  计算待分类文本 v 和主题类别 c j 的权重$p\left({v, {c_j}} \right) = \sum\limits_{i = 1}^n {\mathit{sim}} \left({v, {v_s}} \right) \cdot y\left({{v_i}, {c_j}} \right), y\left({{v_i}, {c_j}} \right)$是类别属性函数。当 v i c j 时, y ( v i , c j )=1;否则, y ( v i , c j )=0。

步骤4  最后使用分类决策函数来判定类别,计算公式 f =argmax c j ( p ( v , c j ))。

在心理学领域,大五人格 [ 17 ] 是最为广泛接受的理论框架。此前,有学者 [ 18 ] 证实主题特征与用户人格之间的相关性,但并未给出具体的知识建模,结合本文对用户性格画像的需求,本文选用西方心理学界公认的人格特质模型大五人格 [ 19 ] 作为用户性格分类 [ 20 ]

在这五种人格分类中,拥有外倾性、开放性、宜人性和尽责性的人认为是心理健康且对社会有益的人,预测拥有这些性格特征的人很少会有对社会造成危害的行为,并给这些性格良好的人贴上“优良人格”的标签。神经质性格的人拥有充满烦恼和不安全感、焦虑、冲动和脆弱等特征,预测这些充满负面性格特征的人很可能因为冲动等原因会有危害社会的行为,给这些性格上有缺陷的人贴上“危险人格”的标签。

通过提取用户访问页面后的关键词,获得网页的内容主题,进而作为用户的兴趣属性标签。并根据“性格-主题-关键词”模型对用户的性格进行深度预测,获得用户性格属性标签。结合用户识别,对用户进行画像。拥有外倾性、开放性、宜人性和尽责性的用户将被贴上“优良人格”的性格属性标签,对拥有神经质和不良关键词的用户将被贴上“危险人格”的性格属性标签。例如:

输入:111.192.165.229—[19/Sep/2013:06:06:39+0000]“GET/js/google.jsHTTP/1.1“3040” http://blog.fens.me/?p=2445&preview=true “”Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36”。

输出:ID:111.192.165.229;兴趣属性标签:科技;性格属性标签:开放性人格(优良人格)。

其中: M accuracy 表示模型挖掘的准确率; D c 表示提取文档中关键词正确的次数; D t 表示提取文档的全部数量。根据式(4),本文设计了4个对比试验:①使用TF-IDF算法提取Web内容的实验;②基于隐含狄利克雷分布(latent Dirichlet allocation,LDA)主题模型提取Web内容主题的实验;③使用改进后的TF-IDF算法提取Web内容的实验;④基于比特主题模型(Biterm topic model,BTM)的主题提取Web内容主题的实验。在LDA模型中,设置其参数 α =50/ T ( T 为主题数), β 为0.01,设置T值为15、20、25。实验结果如 表 2 所示。

表 2 可以看出,当 T =20时,Web内容挖掘的挖掘效果最好,准确率最高。其原因为在 T =20时,即主题数为20的时候,知识库的建立对Web内容挖掘起到辅助作用。随着 T 值的增加,挖掘的效果先升高后降低,因为只有最接近用户主题分类需求的 T 值,才能更好地提高挖掘的准确性,数据的稀疏性影响了挖掘的准确率。

选择挖掘效果最好的 T =20时进行对比实验,根据公式(4)计算准确率,实验结果如 图 3 所示。

EYHARABIDE V, AMANDI A. Ontology-based user profile learning[J]. Applied intelligence, 2012, 36(4): 857-869. DOI:10.1007/s10489-011-0301-4 ( 0) MUELLER J, STUMME G. Gender inference using statistical name characteristics in twitter[C]//Proceedings of the 3rd Multidisciplinary International Social Networks Conference on Social Informatics. Union, N J, 2016: 47. http://arxiv.org/pdf/1606.05467 . MARQUARDT J, FARNADI G, VASUDEVAN G, et al. Age and gender identification in social media[C]//The 5th Conference and Labs of the Evaluation Forum.Sheffield, 2014: 1129-1136. ZHU H S, CHEN E H, XIONG H, et al. Mining mobile user preferences for personalized context-aware recommendation[J]. ACM transactions on intelligent systems and technology, 2014, 5(4): 1-27. ( 0) 费鹏, 林鸿飞, 杨亮, 等. 一种用于构建用户画像的多视角融合框架[J]. 计算机科学, 2018, 45(1): 179-182.
FEI P, LIN H F, YANG L, et al. Multi-view ensemble framework for constructing user profile[J]. Computer science, 2018, 45(1): 179-182. ( 0) GUERBAS A, ADDAM O, ZAAROUR O, et al. Effective web log mining and online navigational pattern prediction[J]. Knowledge-based systems, 2013, 49: 50-62. DOI:10.1016/j.knosys.2013.04.014 ( 0) 郭俊霞, 高城, 许南山, 等. 基于网页浏览日志的用户行为分析[J]. 计算机科学, 2014, 41(3): 110-115.
GUO J X, GAO C, XU N S, et al. User behavior analysis based on web browsing logs[J]. Computer science, 2014, 41(3): 110-115. DOI:10.3969/j.issn.1002-137X.2014.03.023 ( 0) 张宏鑫, 盛风帆, 徐沛原, 等. 基于移动终端日志数据的人群特征可视化[J]. 软件学报, 2016, 27(5): 1174-1187.
ZHANG H X, SHENG F F, XU P Y, et al. Visualizing user characteristics based on mobile device log data[J]. Journal of software, 2016, 27(5): 1174-1187. ( 0) ZHOU M X, WANG F, ZIMMERMAN T, et al. Computational discovery of personal traits from social multimedia[C]//2013 IEEE International Conference on Multimedia and Expo Workshops (ICMEW). San Jose, 2013: 1-6. GOLBECK J, ROBLES C, EDMONDSON M, et al. Predicting personality from twitter[C]// IEEE The Third International Conference on Privacy. San Jose, 2012: 149-156. GAO R, HAO B B, BAI S T, et al. Improving user profile with personality traits predicted from social media content[C]//Proceedings of the 7th ACM Conference on Recommender Systems. Hong Kong, 2013: 355-358. 康海燕, 孟祥. 基于身份替代的隐私保护方法研究[J]. 郑州大学学报(理学版), 2018, 50(2): 1-6.
KANG H Y, MENG X. An enhanced privacy-protection method based on identity replacement[J]. Journal of Zhengzhou university(natural science edition), 2018, 50(2): 1-6. ( 0) 黄承慧, 印鉴, 侯昉. 一种结合词项语义信息和TF-IDF方法的文本相似度量方法[J]. 计算机学报, 2011, 34(5): 856-864.
HUANG C H, YIN J, HOU F. A text similarity measurement combining word semantic information with TF-IDF method[J]. Chinese journal of computers, 2011, 34(5): 856-864. ( 0) 罗燕, 赵书良, 李晓超, 等. 基于词频统计的文本关键词提取方法[J]. 计算机应用, 2016, 36(3): 718-725.
LUO Y, ZHAO S L, LI X C, et al. Text keyword extraction method based on word frequency statistics[J]. Journal of computer applications, 2016, 36(3): 718-725. ( 0) 张乃洲, 曹薇, 李石君. 一种基于节点密度分割和标签传播的Web页面挖掘方法[J]. 计算机学报, 2015, 38(2): 349-364.
ZHANG N Z, CAO W, LI S J. A method based on node density segmentation and label propagation for mining web page[J]. Chinese journal of computers, 2015, 38(2): 349-364. ( 0) 孙荣宗, 苗夺谦, 卫志华, 等. 基于粗糙集的快速KNN文本分类算法[J]. 计算机工程, 2010, 36(24): 175-177.
SUN R Z, MIAO D Q, WEI Z H, et al. Fast KNN algorithm for text classification based on rough set[J]. Computer engineering, 2010, 36(24): 175-177. DOI:10.3969/j.issn.1000-3428.2010.24.063 ( 0) MCCRAE R R, COSTA JR P T. The NEO personality inventory: using the five-factor model in counseling[J]. Journal of counseling & development, 1991, 69(4): 367-372. ( 0) 徐英楠.基于文本挖掘的社交网络用户画像建模与应用[D].北京: 北京邮电大学, 2016.
XU Y N. Social network service user profile modeling and application based on text mining[D].Beijing: Beijing university of posts and telecommunications, 2016. 彭聃龄. 普通心理学[M]. 北京: 北京师范大学出版社, 2010.
PENG D L. General psychology[M]. Beijing: Beijing normal university publishing group, 2010. 罗杰, 戴晓阳. 中文形容词大五人格量表的初步编制Ⅰ:理论框架与测验信度[J]. 中国临床心理学杂志, 2015, 23(3): 381-385.
LUO J, DAI X Y. Development of the Chinese adjectives scale of big-five factor personality I: theoretical framework and assessment reliability[J]. Chinese journal of clinical psychology, 2015, 23(3): 381-385. ( 0) 周世兵, 徐振源, 唐旭清. K -means算法最佳聚类数确定方法[J]. 计算机应用, 2010, 30(8): 1995-1998.
ZHOU S B, XU Z Y, TANG X Q. Method for determining optimal number of clusters in K -means clustering algorithm[J]. Journal of computer applications, 2010, 30(8): 1995-1998. ( 0) CAPÓ M, PÉREZ A, LOZANO J A. An efficient approximation to the K -means clustering for massive data[J]. Knowledge-based systems, 2017, 117: 56-69. DOI:10.1016/j.knosys.2016.06.031 ( 0) 康海燕, 孟祥. 基于社会工程学的漏洞分析与渗透攻击研究[J]. 信息安全研究, 2017, 3(2): 116-122.
KANG H Y, MENG X. Analysis of information security vulnerabilities and penetration attack based on social engineering[J]. Journal of information security research, 2017, 3(2): 116-122. ( 0) 康海燕, 王紫豪, 于爱民, 等. 基于网络日志的用户行为刻画与预测研究[J]. 郑州大学学报(理学版), 2019, 51(3): 48-54.
KANG H Y, WANG Z H, YU A M, et al. Analysis and prediction of user behavior based on web log[J]. Journal of Zhengzhou university(natural science edition), 2019, 51(3): 48-54. ( 0)