加载搜索日志

加载某天用户query session

In [1]:
import pandas as pd
df = pd.read_csv('/Users/spark/pship/tripdata/top_app_search_user_query.csv')
In [2]:
df.head()
Out[2]:
user_nick querysum
0 liudaozhen1962 巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘...
1 坏坏坏女孩eva 香港广州,香港酒店,缅甸签证,泰国,香港酒店,香港酒店,香港,香港酒店,香港,香港广州,香港...
2 孙尚香123 海宁皮革城,海宁皮革城,海宁皮革城,海宁,海宁皮革城,埃及,埃及,埃及,埃及,埃及,埃及,埃...
3 晋晴1314 普吉自由行,普吉自由行,普吉自由行,普吉自由行,普吉自由行,普吉自由行,普吉自由行,普吉自由...
4 g1967650712 清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,泰国,泰国清迈旅游,...
In [3]:
df.describe()
Out[3]:
user_nick querysum
count 715945 715945
unique 715945 379207
top haoqixun1989 上海
freq 1 6184
In [4]:
df = df.dropna()

有效去重复

从每个用户的query session中,获取20个 tag 词 未直接采用全部用户query做tag权重分析,可以避免个别用户产生大量的重复query干扰整体

In [5]:
# %%timeit
import jieba
import jieba.analyse
jieba.load_userdict('/Users/spark/pship/nlp/jieba/dict/trip.dict')#使用自定义旅行字典

# e = d[:5000]

def tags(content):
    return','.join(jieba.analyse.extract_tags(content, topK=20))

df['querytag'] = df.querysum.map(tags)
Building prefix dict from the default dictionary ...
Loading model from cache /var/folders/7s/wk98z9d51p1b9_40kcp0d3c00000gp/T/jieba.cache
Loading model cost 1.168 seconds.
Prefix dict has been built succesfully.
In [6]:
df.head()
Out[6]:
user_nick querysum querytag
0 liudaozhen1962 巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘岛,巴厘... 巴厘岛,旅游,马尔代夫,新加坡,韩国,大溪地,水屋,济州岛,波德申,云南旅游,塞班岛,甲米,...
1 坏坏坏女孩eva 香港广州,香港酒店,缅甸签证,泰国,香港酒店,香港酒店,香港,香港酒店,香港,香港广州,香港... 香港,广州,八达通,签证,缅甸,泰国,酒店,百程,莲花山,美食,澳门,南沙,南丫岛,曼谷,越...
2 孙尚香123 海宁皮革城,海宁皮革城,海宁皮革城,海宁,海宁皮革城,埃及,埃及,埃及,埃及,埃及,埃及,埃... 埃及,印度,柬埔寨,清迈,塞班岛,泰国,马来西亚,新加坡,迪拜,旅游团,海宁,皮革
3 晋晴1314 普吉自由行,普吉自由行,普吉自由行,普吉自由行,普吉自由行,普吉自由行,普吉自由行,普吉自由... 自由行,首尔,韩国,三亚,普吉,长滩,澳门,日本,厦门,杭州,龙之梦,嘉兴,出发,美国
4 g1967650712 清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,清莱,泰国,泰国清迈旅游,... 北海道,旅游,澳大利亚,清莱,澳洲,清迈,泰国,厦门,哈尔滨,俄罗斯,香格里拉,丽江

权重词提取

使用所有的用户的top 20 query tag,汇总计算关键词出现的权重

In [8]:
alltags = jieba.analyse.extract_tags(','.join(df.querytag), topK=50,withWeight=1)
for i in  alltags:
    print(i[0],i[1])
自由行 0.28530648621454635
门票 0.17707583648037084
温泉 0.15158897260839688
旅游 0.14890574763899536
一日游 0.1266516846160216
泰国 0.10842970641468695
三亚 0.10812184831689642
厦门 0.10695954526080509
酒店 0.09887719362416289
长隆 0.0820285479693332
上海 0.07917369460084639
台湾 0.06964111051817574
签证 0.0687098730822151
北京 0.06754328607204396
日本 0.06716998401093281
韩国 0.06636275419281691
马尔代夫 0.06522948827756436
香港 0.06193421478732575
杭州 0.05983696407325229
广州 0.055085224243862516
欢乐谷 0.054808017391979894
成都 0.04886760098460921
哈尔滨 0.04837198205379578
黄山 0.04576461316339519
九寨沟 0.042686236951448096
丽江 0.042564663953708254
珠海 0.0411535715914538
南京 0.04048524212895173
港澳 0.03977166213676667
深圳 0.039770390419958834
云南 0.038277095799736684
西安 0.03785376072621682
重庆 0.03563183205505705
武汉 0.03549137995528356
普吉岛 0.03383049064595467
乌镇 0.03299365633737334
长白山 0.03214147281804098
张家界 0.03186644524558958
澳门 0.03173563496702224
巴厘岛 0.031473388003159464
千岛湖 0.030555508515068937
三亚旅游 0.030094293003255643
苏州 0.029839576878723215
西塘 0.029682882106838525
大理 0.02864672754333205
鼓浪屿 0.028327854410788066
动物园 0.028139425944403676
套票 0.026636298045246025
青岛 0.02658017791010246
汽车票 0.026478346931912637