赞
踩
本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经验分享,旨在帮助读者更好地理解和应用这些领域的最新进展
转载请注明:转载 from http://blog.csdn.net/u011239443/article/details/53735609
from CCF举办的“大数据精准营销中搜狗用户画像挖掘”竞赛
“用户画像”是近几年诞生的名词。很多营销项目或很多广告主,在打算投放广告前,都要求媒体提供其用户画像。在以前,大多媒体会针对自身用户做一个分类,但是有了大数据后,企业及消费者行为带来一系列改变与重塑,通过用户画像可以更加拟人化的描述用户特点。
用户画像,即用户信息标签化,就是企业通过收集与分析消费者社会属性、生活习惯、消费行为等主要信息的数据之后,完美地抽象出一个用户的商业全貌,可以看作是企业应用大数据技术的基本方式。用户画像为企业提供了足够的信息基础,能够帮助企业快速找到精准用户群体以及用户需求等更为广泛的反馈信息。
消费方式的改变促使用户迫切希望尽快获取自己想要了解的信息,所以说,基于用户画像上的精准营销不管对企业还是对用户来说,都是有需求的,这会给双方交易带来极大便捷,也为双方平等沟通搭建了一个畅通平台。
在搜索引擎下,由于搜索引擎本身使用方式的特殊性、用户的流动性、查询的实时性等,带来了与企业传统的对用户信息进行收集与分析有着巨大的不同、更加艰巨的挑战。
例如,我们实时获取到的是用户的查询语句,而由于用户的流动性,并不能直接获取到如年龄、性别、学历等用户的标签信息。这么一来,也就无法根据用户属性对用户进行分群处理,而后再通过推荐系统进行产品上的优化
本文内容概要如下:
节点 | 备注 |
---|---|
cdh01 | 8核,32G内存,角色:Spark Master,HDFS NameNode,Spark Worker,HDFS DataNode |
cdh02 | 8核,12G内存,角色:Spark Worker,HDFS DataNode |
cdh03 | 8核,12G内存,角色:Spark Worker,HDFS DataNode |
cdh04 | 8核,12G内存,角色:Spark Worker,HDFS DataNode |
数据文件 | 备注 |
---|---|
Train.csv | 带标注的训练集 |
Test.csv | 测试集 |
本数据来源于搜狗搜索数据,ID经过加密,训练集中人口属性数据存在部分未知的情况(需要解决方案能够考虑数据缺失对算法性能的影响)。数据所有字段如下表所示:
字段 | 说明 |
---|---|
ID | 加密后的ID |
age | 0:未知年龄; 1:0-18岁; 2:19-23岁; 3:24-30岁; 4:31-40岁; 5:41-50岁; 6: 51-999岁 |
Gender | 0:未知1:男性2:女性 |
Education | 0:未知学历; 1:博士; 2:硕士; 3:大学生; 4:高中; 5:初中; 6:小学 |
Query List | 搜索词列表 |
对于train.csv中的数据记录:
00627779E16E7C09B975B2CE13C088CB 4 2 0 钢琴曲欣赏100首 一个月的宝宝眼睫毛那么是黄色 宝宝右眼有眼屎 小儿抽搐怎么办 剖腹产后刀口上有线头 属羊和属鸡的配吗
根据提供的用户历史一个月的查询词与用户的人口属性标签(包括性别、年龄、学历)做为训练数据,通过机器学习、数据挖掘技术构建分类算法来对新增用户的人口属性进行判定。
NLPIR汉语分词系统(又名ICTCLAS2013),主要功能包括中文分词;词性标注;命名实体识别;用户词典功能;支持GBK编码、UTF8编码、BIG5编码。新增微博分词、新词发现与关键词提取;张华平博士先后倾力打造十余年,内核升级10次。
全球用户突破20万,先后获得了2010年钱伟长中文信息处理科学技术奖一等奖,2003年国际SIGHAN分词大赛综合第一名,2002年国内973评测综合第一名。
我们传入每个用户的搜索词列,表经过NLPIR分词工具得到的分词。之后,我们做个进一步的优化策略:
我们根据分词后词语所带的词性,对一些特征代表性不够强的词语进行过滤:
for (int i = 0; i < sbtmp.length(); ++i) { char cc = sbtmp.charAt(i); if (cc == ' ') { sbtmp.deleteCharAt(i); --i; } else if (cc == '/') { // 去词条件 Boolean isdel = // 1. 去标点 (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) == 'w') // 2. 疑问词 || (i + 2 < sbtmp.length() && sbtmp.charAt(i + 1) == 'r' && sbtmp.charAt(i + 2) == 'y') // 3. 数字 || (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) == 'm') // 4. 连词 || (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) == 'c') // 5. 副词 || (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) == 'd') // 6. 叹词 || (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) == 'e') // 7. 拟声词 || (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) == 'o') // 8. 介词 || (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) == 'p') // 9. 量词 || (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) == 'q') // 10. 助词 || (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) == 'u') // 11. 纯动词 || (i + 2 < sbtmp.length() && sbtmp.charAt(i + 1) == 'v' && sbtmp.charAt(i + 2) == ' '); // 去词 if (sbtmp.charAt(i + 1) != 'n' && sbtmp.charAt(i + 1) != 'i' && sbtmp.charAt(i + 1) != 'j' && sbtmp.charAt(i + 1) != 'h' && !(i + 2 < sbtmp.length() && sbtmp.charAt(i + 2) == 'n')) { while (i + 1 < sbtmp.length() && sbtmp.charAt(i + 1) != ' ') { sbtmp.deleteCharAt(i + 1); } while (i >= 0 && sbtmp.charAt(i) != ',') { sbtmp.deleteCharAt(i); --i; } } // 若无需去词,把‘/’转为‘,’,并去除随后的词性标志 else { sbtmp.setCharAt(i, ','); while (sbtmp.charAt(i + 1) != ' ') { sbtmp.deleteCharAt(i + 1); } } } } for (int i = 1; i < sbtmp.length() - 1; ++i) { if (sbtmp.charAt(i) == ',' && (sbtmp.charAt(i - 1) == ',' || sbtmp.charAt(i + 1) == ',')) { sbtmp.deleteCharAt(i); --i; } // 去中间单个字 else if (sbtmp.charAt(i - 1) == ',' && sbtmp.charAt(i + 1) == ',') { sbtmp.deleteCharAt(i); sbtmp.deleteCharAt(i); --i; } // 去首个单个字 else if (sbtmp.charAt(i) == ',' && i == 1) { sbtmp.deleteCharAt(i - 1); sbtmp.deleteCharAt(i - 1); --i; } }
分词并不能很好的将常用的短语提取出来,如词语“用户画像”,使用分词工具更倾向于将其分成“用户”和“画像”,而失去了词语本身的含义。NLPIR还提供了提取一段话的关键词的功能,我们可以使用它:
int numofIm = 1000;
String nativeByte = CLibrary.Instance.NLPIR_GetKeyWords(sInput, numofIm, false);
经过分词后,平均每位用户搜索词列所得到的词量在600个左右,这里我们设置提取1000个关键词,但实际上一个用户的关键词提取的数量在60~200左右。由于关键词的很强的特征性,并且提取出的数量又少,若后续我们直接使用如词语的词频作为用户的特征属性进行分类的话,很可能各个用户特征属性有巨大的差异,即用户之间拥有的相同关键词过少。
在用户搜索词列分词基础上&
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。