# 将评论从数据库读入
from sqlalchemy import create_engine
engine = create_engine('oracle://user:password@bi_data')
import pandas as pd
df = pd.read_sql_query(str_sql, engine)
df.shape
(16710481, 8)
df.head()
cmmnt_date | ordr_id | end_user_id | prod_name | prod_id | rate | good_cntnt | |
---|---|---|---|---|---|---|---|
0 | 2014-08-10 | 4.023944e+11 | 5817243 | HSTYLE/韩都衣舍 米妮哈鲁2014夏装新款女童装韩版卡通图案百褶短裙ZD3033②玫红... | 22888729 | 5 | 性价比高,小朋友喜欢 |
1 | 2014-07-09 | 2.451833e+08 | 12550004 | HSTYLE/韩都衣舍 米妮哈鲁2014夏装新款女童装韩版卡通图案百褶短裙ZD3033②玫红... | 22888729 | 5 | 衣服每件都好,服务更好,关注你们,下次再来! |
2 | 2014-09-22 | 8.691191e+11 | 123415597 | Maihu/麦狐 日本进口 inomata 塑料制冰格 制冰器 制冰模具 冰格 制冰盒带盖冰... | 17588803 | 5 | 对商品非常满意 |
3 | 2014-10-21 | 1.269396e+12 | 139399779 | 韩衣兜 2014秋冬新款韩版女装时尚修身花朵拼接棒球服开衫短外套 X8833深蓝色L | 33678751 | 5 | 宝贝收到,太喜欢了大小刚好很合身,做工精细没有瑕疵,以后有需要还会再来的! |
4 | 2014-11-24 | 1.348798e+12 | 130075686 | 贝丝洁BEISIJIE 精致花边毛巾34*76 5845210蓝色34*76cm | 17591645 | 5 | 不错,便宜 |
import jieba
def cutword(x):
if isinstance(x, str): x = x.decode('utf8') # 解码为unicode
x = unicode(x) #将数字变字符
seg = jieba.cut(x)
return ' '.join(seg)
# cutword(string)
x = '中国' #外部输入
y = x.decode('utf8') #解码为unicode 在python内部处理
z = y.encode('utf8') #编码为str 再输出
df['seg_word'] = df.good_cntnt.map(cutword)
df.head()
cmmnt_date | ordr_id | end_user_id | prod_name | prod_id | rate | good_cntnt | seg_word | |
---|---|---|---|---|---|---|---|---|
0 | 2014-08-10 | 4.023944e+11 | 5817243 | HSTYLE/韩都衣舍 米妮哈鲁2014夏装新款女童装韩版卡通图案百褶短裙ZD3033②玫红... | 22888729 | 5 | 性价比高,小朋友喜欢 | 性价比 高 , 小朋友 喜欢 |
1 | 2014-07-09 | 2.451833e+08 | 12550004 | HSTYLE/韩都衣舍 米妮哈鲁2014夏装新款女童装韩版卡通图案百褶短裙ZD3033②玫红... | 22888729 | 5 | 衣服每件都好,服务更好,关注你们,下次再来! | 衣服 每件 都 好 , 服务 更好 , 关注 你们 , 下次 再 来 ! |
2 | 2014-09-22 | 8.691191e+11 | 123415597 | Maihu/麦狐 日本进口 inomata 塑料制冰格 制冰器 制冰模具 冰格 制冰盒带盖冰... | 17588803 | 5 | 对商品非常满意 | 对 商品 非常 满意 |
3 | 2014-10-21 | 1.269396e+12 | 139399779 | 韩衣兜 2014秋冬新款韩版女装时尚修身花朵拼接棒球服开衫短外套 X8833深蓝色L | 33678751 | 5 | 宝贝收到,太喜欢了大小刚好很合身,做工精细没有瑕疵,以后有需要还会再来的! | 宝贝 收到 , 太 喜欢 了 大小 刚好 很 合身 , 做工 精细 没有 瑕疵 , 以后 有... |
4 | 2014-11-24 | 1.348798e+12 | 130075686 | 贝丝洁BEISIJIE 精致花边毛巾34*76 5845210蓝色34*76cm | 17591645 | 5 | 不错,便宜 | 不错 , 便宜 |
txt = df['seg_word'].values
txtlist = []
for x in txt:
txtlist.append(x.split())
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s',level=logging.INFO)
num_features = 300
min_word_count = 10
num_workers = 4
context = 10
downsampling = 1e-3
from gensim.models import word2vec
print "traing model..."
model = word2vec.Word2Vec(txtlist, workers = num_workers, size= num_features, min_count=min_word_count, window = context, sample = downsampling)
model.init_sims(replace=True)
model_name = 'allcomword2vec'
model.save(model_name)
traing model...
for word, word_simi in model.most_similar(u'丰满', topn=20):
print word, word_simi
胸部 0.728694856167 增大 0.708100199699 肉肉 0.694790780544 变大 0.641858637333 坚挺 0.640198707581 下垂 0.606641292572 挺起来 0.606020510197 升杯 0.602514088154 胸型 0.595118582249 罩杯 0.593821108341 外扩 0.593108892441 松弛 0.578672170639 紧致 0.572979569435 紧实 0.571806252003 圣荷 0.568730592728 越变 0.562036752701 撑满 0.558072209358 挺拔 0.556601524353 肉感 0.556496024132 胸 0.552304565907