In [50]:
from pickle import load
import pandas as pd
doc_dp = load(open('/home/jeffmxh/dp_relation/raw_data/output/temp/雅诗兰黛用户微博原创_dpOlay_雅诗兰黛用户微博原创_content_outputltp_loc.pickle','rb'))
#print(doc_dp[doc_dp.content_id==98])
doc_dp = doc_dp.loc[(doc_dp.target_pos!="v") & (doc_dp.source_pos!="v") & (doc_dp.relation!="ADV")]
print(doc_dp)


      target target_pos    source source_pos relation        newtext  \
5         意义          n        非凡          z      ATT           意义非凡   
8         第三          m         次          q      ATT            第三次   
5          这          r        棕瓶          n      ATT            这棕瓶   
6          小          a        棕瓶          n      ATT            小棕瓶   
11        底部         nd       →_→         ws      ATT          底部→_→   
12        那些          r       →_→         ws      ATT          那些→_→   
0         星级          b       咖啡师          n      ATT          星级咖啡师   
1        咖啡师          n        天使          n      ATT          咖啡师天使   
2          小          a        天使          n      ATT            小天使   
9         30          m         份          q      ATT            30份   
1         廣州         ns         在          p      POB            在廣州   
14         我          r        樣子          n      ATT            我樣子   
15         的          u         我          r      RAD             我的   
19         小          a        天使          n      ATT            小天使   
24        你們          r       小太陽          n      ATT          你們小太陽   
25         的          u        你們          r      RAD            你們的   
2          马         nh         云         nh      ATT             马云   
3          云         nh       粑粑场          n      ATT           云粑粑场   
1         年初         nt         从          p      POB            从年初   
4         现在         nt         到          p      POB            到现在   
8          丁          o        香紫          n      ATT            丁香紫   
9         香紫          n        除了          p      SBV           香紫除了   
11         的          u         真          a      RAD             真的   
18         贼          n        顺滑          a      SBV            贼顺滑   
25        别的          r         词          n      ATT            别的词   
42      keio         ws         笔          n      ATT          keio笔   
43         的          u      keio         ws      RAD          keio的   
51        p2          m       圆珠笔          n      ATT          p2圆珠笔   
52         的          u        p2          m      RAD            p2的   
53       圆珠笔          n        顺滑          a      SBV          圆珠笔顺滑   
..       ...        ...       ...        ...      ...            ...   
5         精华          n        橙水          n      COO           橙水精华   
8         晚霜          n        中样          j      ATT           晚霜中样   
9         中样          j      15ML          m      ATT         中样15ML   
13    唇膏005号          n         色          n      ATT        唇膏005号色   
14       紫丁香          n         色          n      ATT           紫丁香色   
0        12月         nt       10日         nt      ATT         12月10日   
1        10日         nt  business         ws      HED            10日   
4      risky         ws       10日         nt      COO       10日risky   
6   business         ws     risky         ws      COO  riskybusiness   
3         午睡          n        姿势          n      ATT           午睡姿势   
4         姿势          n        姿势          n      HED             姿势   
1         墨镜          n        好评          n      ATT           墨镜好评   
2         好评          n        迷人          a      HED             好评   
4         衣服          n        好评          n      ATT           衣服好评   
5         好评          n        好评          n      COO           好评好评   
10        样子          n        迷人          a      SBV           样子迷人   
12       hin         ws        迷人          a      SBV          hin迷人   
13        迷人          a        好评          n      COO           好评迷人   
18        许诩         nh         红          a      SBV            许诩红   
20         脸          n         红          a      SBV             脸红   
23         了          u         红          a      RAD             红了   
9         刺骨          z        冷氣          n      ATT           刺骨冷氣   
4         这种          r        感觉          n      ATT           这种感觉   
0         美女          n       眉毛秀          n      ATT          美女眉毛秀   
1          的          u        美女          n      RAD            美女的   
2        眉毛秀          n         家          n      ATT           眉毛秀家   
3   A-BEAUTY         ws         家          n      ATT      A-BEAUTY家   
4          家          n        杠杠          n      ATT            家杠杠   
5          的          u         家          n      RAD             家的   
7          的          u        杠杠          n      RAD            杠杠的   

    content_id  
5          0.0  
8          0.0  
5          1.0  
6          1.0  
11         1.0  
12         1.0  
0          3.0  
1          3.0  
2          3.0  
9          3.0  
1          4.0  
14         4.0  
15         4.0  
19         4.0  
24         4.0  
25         4.0  
2          5.0  
3          5.0  
1          NaN  
4          NaN  
8          NaN  
9          NaN  
11         NaN  
18         NaN  
25         NaN  
42         NaN  
43         NaN  
51         NaN  
52         NaN  
53         NaN  
..         ...  
5          NaN  
8          NaN  
9          NaN  
13         NaN  
14         NaN  
0          NaN  
1          NaN  
4          NaN  
6          NaN  
3          NaN  
4          NaN  
1          NaN  
2          NaN  
4          NaN  
5          NaN  
10         NaN  
12         NaN  
13         NaN  
18         NaN  
20         NaN  
23         NaN  
9      43683.0  
4          NaN  
0          NaN  
1          NaN  
2          NaN  
3          NaN  
4          NaN  
5          NaN  
7          NaN  

[269983 rows x 7 columns]

In [48]:
2>1 and 3>2 and 5>4


Out[48]:
True

In [23]:
print(doc_dp.iloc[750, :])


target          两
target_pos      m
source         分钟
source_pos      q
relation      ATT
newtext       两分钟
content_id     99
Name: 7, dtype: object

In [19]:
from pickle import load
import pandas as pd
doc_dp = load(open('/home/jeffmxh/dp_relation/raw_data/output/temp/content_yili_dp美汁源-果粒奶优_伊利优酸乳-天猫旗舰1Tmall评论_content_outputltp_loc.pickle','rb'))
target_list = doc_dp['target']
length_list = list()
for i in range(len(target_list)):
    length = len(target_list.iloc[i])
    length_list.append(length)
    if length>50:
        print(i)
        print(target_list.iloc[i])
print(max(length_list))


26068
8ec9317a4e25546a6374ff1bdd77bf78879bd0a548b8a6c4948adf306795ab7c
64

In [6]:
import os
import re
import pandas as pd
from os import path
import time
import argparse
import pymysql
import logging
import pymysql
import pandas as pd
def get_db_data(query_str):
    conn = pymysql.connect(host='127.0.0.1',port=3306,user='analyzer',password='analyzer@tbs2016',database='dp_relation',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
    cur = conn.cursor()
    doc = pd.read_sql_query(query_str, conn)
    doc = pd.DataFrame(doc)
    for column in doc.columns:
        column_null = pd.isnull(doc[column])
        column_null_true = column_null[column_null == True]
        if len(column_null_true) == len(doc):
            del doc[column]
    cur.close()
    conn.close()
    return doc

def get_data_info(project_name,keyword):
    conn = pymysql.connect(host='127.0.0.1',port=3306,user='analyzer',password='analyzer@tbs2016',database='dp_relation',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
    cur=conn.cursor()
    sql_query = ("SELECT project_id,keyword_id,info_source_sheet FROM project_key where project_name='%s' and keyword = '%s'"%(project_name,keyword))
    cur.execute(sql_query)
    id_num = cur.fetchall()[0]
    project_id = id_num['project_id']
    keyword_id = id_num['keyword_id']
    table_name = id_num['info_source_sheet']
    return project_id,keyword_id,table_name
    
def readmysql(**kwargs):
    conn = pymysql.connect(host='127.0.0.1',port=3306,user='analyzer',password='analyzer@tbs2016',database='dp_relation',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
    cur=conn.cursor()
    doc = pd.read_sql_query("SELECT * FROM %s where project_id=%d and keyword_id = '%s'" %(kwargs['table_name'],kwargs['project_id'],kwargs['keyword_id']), conn)
    doc = pd.DataFrame(doc)
    for column in doc.columns:
        column_null = pd.isnull(doc[column])
        column_null_true = column_null[column_null == True]
        if len(column_null_true) == len(doc):
            del doc[column]
    cur.close()
    conn.close()
    return doc                                                                                                                            

def remove_abnormal_user(project_id, document):
    abnormal_user = get_db_data("SELECT id,origin_id,screen_name FROM weibo_users WHERE project_id=%d AND is_abnormal=1"%project_id)
    if(len(abnormal_user)!=0):
        if(table_name=='weibo_raw_data'):
            document_filter = document.loc[document['user_id'].map(lambda x:x not in list(abnormal_user['id']))]
        elif(table_name=='weibo_messages'):
            document_filter = document.loc[document['weibo_user_origin_id'].map(lambda x:x not in list(abnormal_user['origin_id']))]
        else:
            document_filter = document
        return document_filter

project_id,keyword_id,table_name = get_data_info('华为P10_170511', 'iphone7_京东评论')                                                                                                                                            
document = readmysql(project_id = project_id, table_name = table_name, keyword_id = keyword_id)
document.loc[:,'content_id'] = pd.Series(list(range(len(document))))
# document['content'] = list(map(text_mechanical_removal.main,document['content']))



document.content


Out[6]:
0       周日26号就收到手机了,可前天开机激活时,却说无法创建ID,当时怀疑是不是翻新机,由于还没买...
1       已经是第三次在京东买iPhone手机了。前两次手机都很满意,这次也很满意。因为相信京东,所以...
2       又是一个满意的好评。一直对京东很满意。快递小哥也很给力。我下单的精准达。可我把电话卡插错了,...
3       还可以吧,就是包装不怎么好,就是一个盒子,没有什么气垫保护手机,这可是肾换的啊!!开机上官网...
4       不错!第四次在京东买苹果手机了!还是一如既往地给力!赞!!!暖屏也很好我上一个6也是暖屏没毛...
5       手机是不错,但是京东不厚道,退货重新封装当原封机子卖。直接上图了,大家购机留心机身,好多机子...
6       完美完美完美,必须说三遍!外观无瑕疵,通话无电流音,摄像头没有灰尘,全新未激活的完美机器,这...
7       正在试用中,速度很快。未激活。手感不错,一直喜欢苹果。银色的抗造,哈哈哈,希望京东越做越好,...
8       电池经不住用,这个是我的第一个iPhone,感觉也就那么回事,电池还不如我用了快三年的荣耀六...
9       给我妹妹买的,之前用的三星A7,现在手机太卡了,就帮他换了一个!我老妈出了2800,我又出了...
10                      非常喜欢,京东速度非常快。就是希望以后对电子商品的包装打包有些改善
11                        用了一个星期才晒单,全新不是退换机,打官方电话查了才开包装。。
12      来三亚旅游的第二天买的,临时决定的,非常有纪念意义,直接邮寄到了三亚,哈哈。人生中第一部iP...
13      帮朋友代买的,貌似很高大上,京东苹果也开始搞饥饿营销,很好抢预订,发货也快,就是十二期免利息...
14      不错,手机是正品的,*买的,便宜了*块,感谢京东,感谢京东物流,感谢京东快递让我很快拿到手机...
15                4s, 5s都用过,这次的黑7也很不错,秒杀加用卷*买的,不用电信这款很合适!
16      手机差不多用了一个月 是正品 全新无拆封机子 手机也漂亮 使用了一个多月 没有啥毛病 双网通...
17      看着还行。价格比我买的时候便宜。特别让人不爽。包装特别脏,屏幕保护膜中有一丝灰尘,让我一下感...
18                               很爽!中国红很骚,很艳,也很赞!京东送货真心快!
19      已经用过10天了,打开后就到官网查了下激活。确定是新机才放心用的。总的来说,还是很不错。除了...
20      本来想要磨砂黑的,没想到一直没货,然后就入了闷骚红,用了三年的5S功成身退。个人感觉要是有6...
21      发布之后就抢到了,之前的手机应该退休了,用了几天总体感觉还不错,就是物流的速度应该再给力一点...
22      物流十分给力次日就到了就是外包装很多刮痕。里面就是新机很不错。7的手感可以,比6重。红色特别...
23      红色特别版的简直美炸了,如果屏幕换成黑色,那就更加完美了。真机到手以后颜色比图片更加艳丽。总...
24      在京东买的第二十台手机,手机一直也没啥问题,家里人的手机都是我帮忙在京东买的,有一次手机出了...
25      经常在京东自营购物,白条可以免息很实用。一直都是黑色控,iPhone7比6s黑得更好看,虽然...
26      屏幕有黄屏 感觉跟自己6s屏幕差挺多 触摸home键感觉没有6s用着灵敏 老公觉得用着不错 ...
27                  本来打算买6s,连套和膜都买了,但看到7价格相差不大,就一起下单,手感很好
28      体验很好,主要还是流畅度很好,第一次用苹果,很满意,以后会多关注苹果的新品,加油↖(^&om...
29                               在京东买东西就是放心,因为质量有保证,都是正品。
                              ...                        
4021                                             很不错,诚信商家
4022                                       不错,就是不知道话费怎么返的
4023                             用起来蛮流畅的,跟实体店和官网上没差别,不错不错
4024                             apple的东西啊,没啥啊,一直用了啊,就是这样
4025                                 不错。亮黑的很好看。系统很强大。反应灵敏
4026                                               好评,是正品
4027                                  京东自营一直信赖,想都没想就拍单,不错
4028                                               好好好好好好
4029                                    送货速度快,黑科技很不错,支持京东
4030                                              东西不错,可以
4031                                                    好
4032                                           还可以就是价格太贵了
4033                   第一次在京东买这么贵的东西。东西目前没有发现什么不一样。应该是正品吧
4034                                         很烂的包装手机有电流声。
4035                                            物流很快 机器很好
4036                         总体来说。还是很不错的,特别是物流,没得说。很棒。。。。
4037                                        无敌好,有话费送!我很喜欢
4038    经检验,没有遇到阴阳屏、黄屏等屏幕问题。摄像头电流声有,不放在耳边听不出来,夜深人静时也不明...
4039                                 非常不满意,手机听不见声音,通话断断续续
4040                                质量好,送货快,是行货,还能协议购机,大赞
4041                                            货收到,后续再评论
4042                                        很不错的东西,快递更不错。
4043                                                   一般
4044                                 苹果手机,还能说什么呢,非常满意,赞一个
4045                              收到宝贝了,送给老公的,让老公用段时间在追评。
4046                                           正品,京东还是蛮好的
4047                                           非常不错,第二天到货
4048                          还不错,只是必须带套,可惜了,这么多的工艺,没法见光。
4049                                                 包装很好
4050                                          很不错,送货速度很快。
Name: content, dtype: object

In [28]:
import re
ILLEGAL_CHARACTERS_RE = re.compile(r'[\000-\010]|[\013-\014]|[\016-\037]')
illegal_sub = lambda x:ILLEGAL_CHARACTERS_RE.sub('', x)
document['content'].map(illegal_sub)
illegal_match = lambda x:ILLEGAL_CHARACTERS_RE.match(x)
document['content_sub'] = document['content'].map(illegal_sub)
a = document.loc[document['content']!=document['content_sub'],['content','content_sub']]
print(document.content[2358])
print(document.content_sub[2358])
print(a.content_sub)
a
# document['content'][document['content'].apply(illegal_match)]
ILLEGAL_CHARACTERS_RE.findall(str(document.content[2358]))


一只蛐蛐跟猪打赌说:我跳进草里你就看不见我,猪说:我要看得见呢?于是蛐蛐跳进草里。猪在看,猪在看!猪还在看!猪咋还在看呢?  /可爱 提前祝愚人节快乐联想ThinkServer,IBM X86,DELL服务器现货供应电话:15507319197,13973187992 徐君有需要欢迎私聊 诚信第一  期待与您合作 联想服务商支持项目报备授权
一只蛐蛐跟猪打赌说:我跳进草里你就看不见我,猪说:我要看得见呢?于是蛐蛐跳进草里。猪在看,猪在看!猪还在看!猪咋还在看呢?  /可爱 提前祝愚人节快乐联想ThinkServer,IBM X86,DELL服务器现货供应电话:15507319197,13973187992 徐君有需要欢迎私聊 诚信第一  期待与您合作 联想服务商支持项目报备授权
2358    一只蛐蛐跟猪打赌说:我跳进草里你就看不见我,猪说:我要看得见呢?于是蛐蛐跳进草里。猪在看,猪...
Name: content_sub, dtype: object
Out[28]:
['\x14']

In [19]:
import gensim
model = gensim.models.Word2Vec.load("/home/jeffmxh/word2vec/weibo.zh.text.model")
model.most_similar(u"足球")


/opt/intel/intelpython35/lib/python3.5/site-packages/gensim/utils.py:1015: UserWarning: Pattern library is not installed, lemmatization won't be available.
  warnings.warn("Pattern library is not installed, lemmatization won't be available.")
Out[19]:
[('乒乓球', 0.7309213280677795),
 ('健儿', 0.7026450634002686),
 ('球员', 0.7012761831283569),
 ('奥运', 0.6894521117210388),
 ('田径', 0.6857425570487976),
 ('男足', 0.6841894388198853),
 ('运动员', 0.6809723973274231),
 ('球队', 0.6800999045372009),
 ('篮球', 0.6778652667999268),
 ('竞技', 0.6769640445709229)]

In [56]:
model.most_similar(u"失意")


Out[56]:
[('顺境', 0.8208690881729126),
 ('失之', 0.7815164923667908),
 ('苦痛', 0.7795131802558899),
 ('逆境', 0.7770657539367676),
 ('风平浪静', 0.7738012075424194),
 ('淡然', 0.7691647410392761),
 ('世事', 0.758832573890686),
 ('彷徨', 0.7551109790802002),
 ('所求', 0.7544704675674438),
 ('迷惘', 0.748974084854126)]

In [29]:
model.most_similar(u"失望")


Out[29]:
[('失落', 0.5762369632720947),
 ('在意', 0.560211181640625),
 ('难过', 0.5478013753890991),
 ('在乎', 0.5469474196434021),
 ('无能为力', 0.5358082056045532),
 ('患得患失', 0.5323169231414795),
 ('晚一点', 0.5264085531234741),
 ('期望', 0.5228710174560547),
 ('自作多情', 0.517815113067627),
 ('强求', 0.515911877155304)]

In [1]:
import gensim
model = gensim.models.Word2Vec.load("/home/jeffmxh/word2vec/wiki.zh.text.model")
model.most_similar(u"足球")


/opt/intel/intelpython35/lib/python3.5/site-packages/gensim/utils.py:1015: UserWarning: Pattern library is not installed, lemmatization won't be available.
  warnings.warn("Pattern library is not installed, lemmatization won't be available.")
Out[1]:
[('国际足球', 0.5867569446563721),
 ('足球运动', 0.5709316730499268),
 ('篮球', 0.53752201795578),
 ('国家足球队', 0.5170790553092957),
 ('足球比赛', 0.5075417160987854),
 ('足球联赛', 0.5027305483818054),
 ('足球队', 0.5022329688072205),
 ('映美杯', 0.5016276836395264),
 ('板球', 0.49928414821624756),
 ('排球', 0.49457186460494995)]