机器学习 文本处理,贝叶斯分类(8.2 补充了pkuseg分词库的使用)

import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt

jieba分词

安装库

!pip install jieba

导入库

import jieba

使用:jieba.lcut() / jieba.lcut_for_search()(返回值类型是list)

text = '君问归期未有期,巴山夜雨涨秋池。'

全模式 jieba.lcut(text,cut_all = True)

jieba.lcut(text,cut_all = True)  #全模式

结果:[‘君’, ‘问’, ‘归期’, ‘未有’, ‘有期’, ‘,’, ‘巴山’, ‘巴山夜雨’, ‘山夜’, ‘夜雨’, ‘涨’, ‘秋’, ‘池’, ‘。’]

精确模式(默认)jieba.lcut(text,cut_all = False)

jieba.lcut(text,cut_all = False) # 精确模式

结果:[‘君问’, ‘归期’, ‘未有’, ‘期’, ‘,’, ‘巴山夜雨’, ‘涨秋池’, ‘。’]

搜索引擎模式 jieba.lcut_for_search(text)

jieba.lcut_for_search(text)

结果:[‘君问’, ‘归期’, ‘未有’, ‘期’, ‘,’, ‘巴山’, ‘山夜’, ‘夜雨’, ‘巴山夜雨’, ‘涨秋池’, ‘。’]

练习:给定分割词典:a.进行分割 b.去掉停用词

分割词典:

text = "我在动物园看小西几,我男朋友在千锋教育学IT,我打算看完小西几也去千锋教育再找个男朋友。"

a:分割

jieba.lcut(text) # 精确模式

结果:

['我',
 '在',
 '动物园',
 '看',
 '小西几',
 ',',
 '我',
 '男朋友',
 '在',
 '千锋教育',
 '学',
 'IT',
 ',',
 '我',
 '打算',
 '看',
 '完',
 '小西几',
 '也',
 '去',
 '千锋教育',
 '再',
 '找个',
 '男朋友',
 '。']

停用词:

stop = ['我','去',',','。']
#定义停用词 词典

去掉停用词:

content = ""
for word in jieba.lcut(text):
    if word not in stop:
        content += word + " "

结果:

'在 动物园 看 小西几 男朋友 在 千锋教育 学 IT 打算 看 完 小西几 也 千锋教育 再 找个 男朋友 ’

朴素贝叶斯-文本分类器

导入数据并预处理成列表形式

5个类型的文本文件:科技、汽车、娱乐、军事、体育

df_technology = pd.read_csv(r'technology_news.csv', encoding='utf-8')
df_technology = df_technology.dropna()

df_car = pd.read_csv(r'car_news.csv', encoding='utf-8')
df_car = df_car.dropna()

df_entertainment = pd.read_csv(r'entertainment_news.csv', encoding='utf-8')
df_entertainment = df_entertainment.dropna()

df_military = pd.read_csv(r'military_news.csv', encoding='utf-8')
df_military = df_military.dropna()

df_sports = pd.read_csv(r'sports_news.csv', encoding='utf-8')
df_sports = df_sports.dropna()

将数据保存成列表形式

car = df_car.content.tolist()
entertainment = df_entertainment.content.tolist()
sports = df_sports.content.tolist()
technology = df_technology.content.tolist()
military = df_military.content.tolist()

观察数据中,各类型文章数量:

len(car),len(entertainment),len(sports),len(technology),len(military) # (11779, 39353, 32774, 25114, 16816)

文本文件分词并打标签,将文件整合到同一个list里面。(重点)

重点注意这里eval的用法,此时数据集的名字和标签名字相同。我需要遍历每个数据集,在将每篇文章进行分词处理后打上标签。

使用eval可以将数据集的名字识别为,表示当前数据集的变量

datas = ['car', 'entertainment', 'sports', 'technology', 'military']
samples = []
for data in datas:
    for x in eval(data):
        str_ = jieba.lcut(x) # 分词
        str_ = filter(lambda x:len(x)>1,str_) # 过滤字符串长度小于1的字符串。
        samples.append((" ".join(str_), data)) # 整合+标签data

数据集顺序打乱(非必要操作)

import random

random.shuffle(samples)

训练集,测试集划分

X,y =zip(*samples) # 将文本和标签分开,分别作为训练集,测试集

对上一句代码的理解:

在这里插入图片描述

from sklearn.model_selection import train_test_split
xtrain,xtest,ytrain,ytest = train_test_split(X,y)

导入朴素贝叶斯用到的库

高斯朴素贝叶斯:特征为连续值

伯努利朴素贝叶斯:特征必须是2项分布时

多项式朴素贝叶斯:常用作文本特征是大型稀疏矩阵

补集朴素贝叶斯:针对样本分布不均的情况

from sklearn.naive_bayes import GaussianNB # 高斯朴素贝叶斯:特征为连续纸
from sklearn.naive_bayes import BernoulliNB # 伯努利朴素贝叶斯 :特征必须是2项分布
from sklearn.naive_bayes import MultinomialNB # 多项式朴素贝叶斯:常用做 文本特征是大型稀疏矩阵
from sklearn.naive_bayes import ComplementNB # 补集朴素贝叶斯:针对样本分布不均匀的情况

词频计数矩阵 CountVectoriz

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics import classification_report
stopwords=pd.read_csv(r'stopwords.txt',index_col=False,quoting=3,sep='\t',names=['stopword'],encoding='utf-8')
stopwords=stopwords['stopword'].values.tolist()
CV = CountVectorizer(stop_words=stopwords,max_features=30000)
CV.fit(xtrain)

词频计数矩阵

xtrain_cv = CV.transform(xtrain)
xtest_cv=CV.transform(xtest)

多项式朴素贝叶斯

mnb = MultinomialNB().fit(xtrain_cv,ytrain)
print(classification_report(ytest,mnb.predict(xtest_cv)))

在这里插入图片描述

TF-IDF 词频逆词频

from sklearn.feature_extraction.text import TfidfVectorizer
tf_idf = TfidfVectorizer(stop_words=stopwords).fit(xtrain)

xtrain_tf_idf = tf_idf.transform(xtrain)
xtest_tf_idf = tf_idf.transform(xtest)
mnb_tf = MultinomialNB().fit(xtrain_tf_idf,ytrain)
print(classification_report(ytest,mnb_tf.predict(xtest_tf_idf)))

在这里插入图片描述

结合补集朴素贝叶斯

使用TF-IDF 训练补集朴素贝叶斯

cnb = ComplementNB().fit(xtrain_tfidf,ytrain)
print(classification_report(ytest,cnb.predict(xtest_tfidf)))

在这里插入图片描述
使用词频计数矩阵训练补集朴素贝叶斯

cnb = ComplementNB().fit(xtrain_cv,ytrain)
print(classification_report(ytest,cnb.predict(xtest_cv)))

作业:京东口红评价分类

import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt
import jieba
df = pd.read_excel('京东口红评论数据.xlsx')
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2000 entries, 0 to 1999
Data columns (total 2 columns):
 #   Column        Non-Null Count  Dtype 
---  ------        --------------  ----- 
 0   content       2000 non-null   object
 1   content_type  2000 non-null   object
dtypes: object(2)
memory usage: 31.4+ KB
df.columns
Index(['content', 'content_type'], dtype='object')
import jieba
def my_lcut(item):
    str_ = jieba.lcut(item)
    str_ = filter(lambda item:len(item)>1,str_)
    return (" ".join(str_))
df['test'] =  df['content'].apply(my_lcut)
df['test'][:5]
0    产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是...
1    还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...
2    质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且...
3    第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还...
4    产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效...
Name: test, dtype: object
# 小技巧,pandas两列转成一列tuple
df['data']= df[['test', 'content_type']].apply(tuple,axis=1)
df.head()
contentcontent_typetestdata
0产品非常好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非趁还是很好的,一如既往的很好这次...pos产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是...(产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但...
1还是可以的老婆觉得贵,用了感觉也不是特别好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非...pos还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...(还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 ...
2这只的质地简直是我最喜欢的一支口红,没有之一,试完641立马下单了999,肉眼可见的润,而且...pos质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且...(质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而...
3第一次买迪奥080也是第一次京东自营买!看某书分享的真伪辨别方法感觉是真的吧!老公送我的但还...pos第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还...(第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 ...
4产品质感:哑光,但是不干,很顺滑,超级舒服!!!质感超棒!!\n产品颜色:这只太好看,太温柔...pos产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效...(产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 ...
df['data'][0]
('产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK 产品 质感 外观 非常 时尚 产品 颜色 颜色 非常 喜欢 适合 vcontent 产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK %& 产品 质感 &% 外观 非常 时尚 %& 产品 颜色 &% 颜色 非常 喜欢 适合',
 'pos')
samples = df['data'].tolist()
samples[:5]
[('产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK 产品 质感 外观 非常 时尚 产品 颜色 颜色 非常 喜欢 适合 vcontent 产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK %& 产品 质感 &% 外观 非常 时尚 %& 产品 颜色 &% 颜色 非常 喜欢 适合',
  'pos'),
 ('还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK 产品 质感 外观 非常 时尚 commentId 13930967112 clientType top false delete false hAfterUserComment content 还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK 产品 质感 外观 非常 时尚 id 66627492 status modified 2020 05 20 13 28 37 created 2020 05 20 13 28 27 status referenceId 100011323932 referenceTime 2020 03 14 11 06 35 nickname replyCount2 27 userImage storage.360 buyimg com imageUpload 6173646368656e68656e6731353131373538333132353434 sma jpg orderId integral 80 productSales afterImages id 1136945384 imgUrl img30.360 buyimg com n0 s128x96 jfs t1 127441 17 2329 22560 5ec4bff3E003b3ede acd4de32fe7a87c0 jpg imgTitle status id 1136945385 imgUrl img30.360 buyimg com n0 s128x96 jfs t1 125420 36 2307 27072 5ec4bff4Efaedf620 7c851696c86e4abc jpg imgTitle status id 1136945386 imgUrl img30.360 buyimg com n0 s128x96 jfs t1 126318 2364 28016 5ec4bff5E3cbb6183 b6b252f4c019999b jpg imgTitle status id 1136945387 imgUrl img30.360 buyimg com n0 s128x96 jfs t1 107798 18852 24944 5ec4bff6E6d6332f9 c74357ad42a006a1 jpg imgTitle status referenceImage jfs t1 136208 37 7859 112120 5f4278d3Eeb178e82 ec9bf24a2ed0be65 jpg referenceName 迪奥 Dior 烈艳 蓝金 滋润 999 口红 经典 红色 口红 迪奥 999 礼盒 礼袋 随机 七夕 情人节 礼物 firstCategory 1316 secondCategory 1387 thirdCategory 1425 aesPin null days afterDays 67 id 13576939058 guid 714d430f 98ab 40c7 ade3 1a2811a739e5 content 口红 收到 包装 黑色 外壳 高端 大气 这个 色号 非常 漂亮 显白 涂上 以后 瞬间 显得 精气 十足 质感 非常 轻轻 一抹 上色 持久 不错 特别 丝滑 滋润 油腻 素颜 OK 不用 担心 化妆 不能 口红 持久 特别 好看 总的来说 口红 满意 适合 所有 肤色 性价比 建议 购买 vcontent 口红 收到 包装 黑色 外壳 高端 大气 这个 色号 非常 漂亮 显白 涂上 以后 瞬间 显得 精气 十足 质感 非常 轻轻 一抹 上色 持久 不错 特别 丝滑 滋润 油腻 素颜 OK 不用 担心 化妆 不能 口红 持久 特别 好看 总的来说 口红 满意 适合 所有 肤色 性价比 建议 购买',
  'pos'),
 ('质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且 不是 假润 真的 润唇膏 一样 但是 不会 黏腻 感觉 显唇 持久 度高 基本上 一个 上午 颜色 起来 方便 原有 底色 一层 好看 这支 颜色 特别 肉桂 枫叶 红中 带有 番茄 一丝 水红 结合 里面 黄皮 必备 不显 白来 绝对 没有 任何 色差 就是 这么 好看 浅唇 白皮 美眉 起来 就是 扎眼 味道 甜甜 香香的 高级 软弱 自己 镜子 亲亲 自以为是 999 里面 好看 如果 迪奥 可以 入手 哑光 99 闲置 哈哈',
  'pos'),
 ('第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 评论 没有 味道 貌似 亚太 因为 F04 开头 感觉 还行 客服 可以 专柜 验货 一直 相信 自营 但是 好怕 真假 混卖 五星 vcontent 第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 评论 没有 味道 貌似 亚太 因为 F04 开头 感觉 还行 客服 可以 专柜 验货 一直 相信 自营 但是 好怕 真假 混卖 五星',
  'pos'),
 ('产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效果 哑光 一般 比较 持久 滋润 效果 先涂 润唇膏 嘴唇 秋冬 比较 干裂 晚上 下唇 然后 早上 涂点 润唇膏 纸巾 一下 再涂 口红 好看 适合 肤色 偏白 一点 有些 黄和暗 但是 这个 口红 太显 气色 太亮肤 其他 特色 vcontent %& 产品 质感 &% 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 %& 产品 颜色 &% 好看 温柔 %& 持久 效果 &% 哑光 一般 比较 持久 %& 滋润 效果 &% 先涂 润唇膏 嘴唇 秋冬 比较 干裂 晚上 下唇 然后 早上 涂点 润唇膏 纸巾 一下 再涂 口红 好看 %& 适合 肤色 &% 偏白 一点 有些 黄和暗 但是 这个 口红 太显 气色 太亮肤 %& 其他 特色 &%',
  'pos')]
import random

random.shuffle(samples)
X,y = zip(*samples)
from sklearn.model_selection import train_test_split
xtrain,xtest,ytrain,ytest = train_test_split(X,y)
from sklearn.naive_bayes import GaussianNB # 高斯朴素贝叶斯
from sklearn.naive_bayes import BernoulliNB # 伯努利朴素贝叶斯
from sklearn.naive_bayes import MultinomialNB #多项式朴素贝叶斯
from sklearn.naive_bayes import ComplementNB #补集朴素贝叶斯
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics import classification_report
stopwords=pd.read_csv(r'stopwords.txt',index_col=False,quoting=3,sep='\t',names=['stopword'],encoding='utf-8')
stopwords=stopwords['stopword'].values.tolist()
CV = CountVectorizer(stop_words=stopwords,max_features=30000)
CV.fit(xtrain)

xtrain_cv = CV.transform(xtrain)
xtest_cv = CV.transform(xtest)
#词频计数矩阵
mnb = MultinomialNB().fit(xtrain_cv,ytrain)
print(classification_report(ytest,mnb.predict(xtest_cv)))
              precision    recall  f1-score   support

         neg       0.96      0.83      0.89       257
         pos       0.85      0.97      0.90       243

    accuracy                           0.90       500
   macro avg       0.90      0.90      0.90       500
weighted avg       0.91      0.90      0.90       500

from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer(stop_words=stopwords).fit(xtrain)
xtrain_tfidf = tfidf.transform(xtrain)
xtest_tfidf = tfidf.transform(xtest)
mnb_tf = MultinomialNB().fit(xtrain_tfidf,ytrain)
print(classification_report(ytest,mnb_tf.predict(xtest_tfidf)))
              precision    recall  f1-score   support

         neg       0.99      0.81      0.89       257
         pos       0.83      0.99      0.90       243

    accuracy                           0.90       500
   macro avg       0.91      0.90      0.90       500
weighted avg       0.91      0.90      0.90       500

cnb = ComplementNB().fit(xtrain_tfidf,ytrain)
print(classification_report(ytest,cnb.predict(xtest_tfidf)))
              precision    recall  f1-score   support

         neg       0.99      0.84      0.91       257
         pos       0.85      0.99      0.92       243

    accuracy                           0.91       500
   macro avg       0.92      0.91      0.91       500
weighted avg       0.92      0.91      0.91       500

cnb = ComplementNB().fit(xtrain_cv,ytrain)
print(classification_report(ytest,cnb.predict(xtest_cv)))
              precision    recall  f1-score   support

         neg       0.96      0.86      0.91       257
         pos       0.86      0.97      0.91       243

    accuracy                           0.91       500
   macro avg       0.91      0.91      0.91       500
weighted avg       0.92      0.91      0.91       500


补充:

条件概率:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

朴素贝叶斯

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pkuseg分词库的使用

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#安装pkuseg包
#pip install pkuseg
#更新pkuseg包
#pip install -U pkuseg
import jieba
import pkuseg
df = pd.read_excel('京东口红评论数据.xlsx')
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2000 entries, 0 to 1999
Data columns (total 2 columns):
 #   Column        Non-Null Count  Dtype 
---  ------        --------------  ----- 
 0   content       2000 non-null   object
 1   content_type  2000 non-null   object
dtypes: object(2)
memory usage: 31.4+ KB
df.columns
Index(['content', 'content_type'], dtype='object')
def jieba_lcut(item):    str_ = jieba.lcut(item)    str_ = filter(lambda item:len(item)>1,str_)# 过滤空字符串    return(" ".join(str_))
def pkuseg_cut(item):    str_ = pkuseg.pkuseg().cut(item)    str_ = filter(lambda item:len(item)>1,str_)    return(" ".join(str_))    
%%timedf['test'] = df['content'].apply(jieba_lcut)
Building prefix dict from the default dictionary ...Loading model from cache C:\Users\24474\AppData\Local\Temp\jieba.cacheLoading model cost 1.030 seconds.Prefix dict has been built successfully.


Wall time: 2.91 s
df['test'][:5]
0    产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是...1    还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...2    质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且...3    第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还...4    产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效...Name: test, dtype: object
%%timedf['test2'] = df['content'].apply(pkuseg_cut)
Wall time: 1h 46min 13s
df['test'][:5] 
0    产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是...1    还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...2    质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且...3    第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还...4    产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效...Name: test, dtype: object
df['data']=df[['test','content_type']].apply(tuple,axis=1)df.head()
contentcontent_typetesttest2data
0产品非常好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非趁还是很好的,一如既往的很好这次...pos产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是...产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往...(产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但...
1还是可以的老婆觉得贵,用了感觉也不是特别好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非...pos还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...(还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 ...
2这只的质地简直是我最喜欢的一支口红,没有之一,试完641立马下单了999,肉眼可见的润,而且...pos质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且...质地 简直 喜欢 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且 不是...(质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而...
3第一次买迪奥080也是第一次京东自营买!看某书分享的真伪辨别方法感觉是真的吧!老公送我的但还...pos第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还...第一 迪奥 080 第一 京东 自营 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 ...(第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 ...
4产品质感:哑光,但是不干,很顺滑,超级舒服!!!质感超棒!!\n产品颜色:这只太好看,太温柔...pos产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效...产品 质感 哑光 但是 顺滑 超级 舒服 !!! 质感 超棒 !!\n 产品 颜色 好看 温...(产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 ...
df['data2']=df[['test','content_type']].apply(tuple,axis=1)df.head()
contentcontent_typetesttest2datadata2
0产品非常好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非趁还是很好的,一如既往的很好这次...pos产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是...产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往...(产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但...(产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但...
1还是可以的老婆觉得贵,用了感觉也不是特别好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非...pos还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...(还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 ...(还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 ...
2这只的质地简直是我最喜欢的一支口红,没有之一,试完641立马下单了999,肉眼可见的润,而且...pos质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且...质地 简直 喜欢 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且 不是...(质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而...(质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而...
3第一次买迪奥080也是第一次京东自营买!看某书分享的真伪辨别方法感觉是真的吧!老公送我的但还...pos第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还...第一 迪奥 080 第一 京东 自营 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 ...(第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 ...(第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 ...
4产品质感:哑光,但是不干,很顺滑,超级舒服!!!质感超棒!!\n产品颜色:这只太好看,太温柔...pos产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效...产品 质感 哑光 但是 顺滑 超级 舒服 !!! 质感 超棒 !!\n 产品 颜色 好看 温...(产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 ...(产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 ...
df['data']= df[['test', 'content_type']].apply(tuple,axis=1)df.head()
contentcontent_typetesttest2datadata2
0产品非常好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非趁还是很好的,一如既往的很好这次...pos产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是...产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往...(产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但...(产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但...
1还是可以的老婆觉得贵,用了感觉也不是特别好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非...pos还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...(还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 ...(还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 ...
2这只的质地简直是我最喜欢的一支口红,没有之一,试完641立马下单了999,肉眼可见的润,而且...pos质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且...质地 简直 喜欢 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且 不是...(质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而...(质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而...
3第一次买迪奥080也是第一次京东自营买!看某书分享的真伪辨别方法感觉是真的吧!老公送我的但还...pos第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还...第一 迪奥 080 第一 京东 自营 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 ...(第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 ...(第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 ...
4产品质感:哑光,但是不干,很顺滑,超级舒服!!!质感超棒!!\n产品颜色:这只太好看,太温柔...pos产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效...产品 质感 哑光 但是 顺滑 超级 舒服 !!! 质感 超棒 !!\n 产品 颜色 好看 温...(产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 ...(产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 ...
df['data2']= df[['test2', 'content_type']].apply(tuple,axis=1)df.head()
contentcontent_typetesttest2datadata2
0产品非常好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非趁还是很好的,一如既往的很好这次...pos产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是...产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往...(产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但...(产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既...
1还是可以的老婆觉得贵,用了感觉也不是特别好,拿到的时候非常敬业阿,这个外观非常好看阿,东西非...pos还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东...(还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 ...(还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 ...
2这只的质地简直是我最喜欢的一支口红,没有之一,试完641立马下单了999,肉眼可见的润,而且...pos质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且...质地 简直 喜欢 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且 不是...(质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而...(质地 简直 喜欢 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且 不...
3第一次买迪奥080也是第一次京东自营买!看某书分享的真伪辨别方法感觉是真的吧!老公送我的但还...pos第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还...第一 迪奥 080 第一 京东 自营 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 ...(第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 ...(第一 迪奥 080 第一 京东 自营 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自...
4产品质感:哑光,但是不干,很顺滑,超级舒服!!!质感超棒!!\n产品颜色:这只太好看,太温柔...pos产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效...产品 质感 哑光 但是 顺滑 超级 舒服 !!! 质感 超棒 !!\n 产品 颜色 好看 温...(产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 ...(产品 质感 哑光 但是 顺滑 超级 舒服 !!! 质感 超棒 !!\n 产品 颜色 好看 ...
df['data'][0]
('产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK 产品 质感 外观 非常 时尚 产品 颜色 颜色 非常 喜欢 适合 vcontent 产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK %& 产品 质感 &% 外观 非常 时尚 %& 产品 颜色 &% 颜色 非常 喜欢 适合', 'pos')
df['data2'][0]
('产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么 但是 感觉 还是 可以 总体 的话 这样子 反正 相信 这个 牌子 相信 这个 自营店 还是 OK 可以 可以 打开 之后 小小 真的 但是 外观 还是 精致 希望 这样子 克里斯丁迪 奥烈 唇膏 哑光 系列 999 原产国 法国 OK\\n 产品 质感 外观 非常 时尚 \\n 产品 颜色 颜色 非常 喜欢 适合 vcontent 产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么 但是 感觉 还是 可以 总体 的话 这样子 反正 相信 这个 牌子 相信 这个 自营店 还是 OK 可以 可以 打开 之后 小小 真的 但是 外观 还是 精致 希望 这样子 克里斯丁迪 奥烈 唇膏 哑光 系列 999 原产国 法国 OK\\n{ $% 产品 质感 %$} 外观 非常 时尚 \\n{$% 产品 颜色 %$} 颜色 非常 喜欢 适合', 'pos')
samples = df['data'].tolist()samples[:5]
[('产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK 产品 质感 外观 非常 时尚 产品 颜色 颜色 非常 喜欢 适合 vcontent 产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK %& 产品 质感 &% 外观 非常 时尚 %& 产品 颜色 &% 颜色 非常 喜欢 适合',  'pos'), ('还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK 产品 质感 外观 非常 时尚 commentId 13930967112 clientType top false delete false hAfterUserComment content 还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 还是 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么回事 但是 感觉 还是 可以 总体 的话 样子 反正 相信 这个 牌子 相信 这个 自营 还是 OK 可以 可以 打开 之后 小小的 一只 真的 但是 外观 还是 精致 希望 能用 样子 克里斯 迪奥 烈焰红唇 哑光 系列 999 原产 法国 OK 产品 质感 外观 非常 时尚 id 66627492 status modified 2020 05 20 13 28 37 created 2020 05 20 13 28 27 status referenceId 100011323932 referenceTime 2020 03 14 11 06 35 nickname replyCount2 27 userImage storage.360 buyimg com imageUpload 6173646368656e68656e6731353131373538333132353434 sma jpg orderId integral 80 productSales afterImages id 1136945384 imgUrl img30.360 buyimg com n0 s128x96 jfs t1 127441 17 2329 22560 5ec4bff3E003b3ede acd4de32fe7a87c0 jpg imgTitle status id 1136945385 imgUrl img30.360 buyimg com n0 s128x96 jfs t1 125420 36 2307 27072 5ec4bff4Efaedf620 7c851696c86e4abc jpg imgTitle status id 1136945386 imgUrl img30.360 buyimg com n0 s128x96 jfs t1 126318 2364 28016 5ec4bff5E3cbb6183 b6b252f4c019999b jpg imgTitle status id 1136945387 imgUrl img30.360 buyimg com n0 s128x96 jfs t1 107798 18852 24944 5ec4bff6E6d6332f9 c74357ad42a006a1 jpg imgTitle status referenceImage jfs t1 136208 37 7859 112120 5f4278d3Eeb178e82 ec9bf24a2ed0be65 jpg referenceName 迪奥 Dior 烈艳 蓝金 滋润 999 口红 经典 红色 口红 迪奥 999 礼盒 礼袋 随机 七夕 情人节 礼物 firstCategory 1316 secondCategory 1387 thirdCategory 1425 aesPin null days afterDays 67 id 13576939058 guid 714d430f 98ab 40c7 ade3 1a2811a739e5 content 口红 收到 包装 黑色 外壳 高端 大气 这个 色号 非常 漂亮 显白 涂上 以后 瞬间 显得 精气 十足 质感 非常 轻轻 一抹 上色 持久 不错 特别 丝滑 滋润 油腻 素颜 OK 不用 担心 化妆 不能 口红 持久 特别 好看 总的来说 口红 满意 适合 所有 肤色 性价比 建议 购买 vcontent 口红 收到 包装 黑色 外壳 高端 大气 这个 色号 非常 漂亮 显白 涂上 以后 瞬间 显得 精气 十足 质感 非常 轻轻 一抹 上色 持久 不错 特别 丝滑 滋润 油腻 素颜 OK 不用 担心 化妆 不能 口红 持久 特别 好看 总的来说 口红 满意 适合 所有 肤色 性价比 建议 购买',  'pos'), ('质地 简直 喜欢 一支 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且 不是 假润 真的 润唇膏 一样 但是 不会 黏腻 感觉 显唇 持久 度高 基本上 一个 上午 颜色 起来 方便 原有 底色 一层 好看 这支 颜色 特别 肉桂 枫叶 红中 带有 番茄 一丝 水红 结合 里面 黄皮 必备 不显 白来 绝对 没有 任何 色差 就是 这么 好看 浅唇 白皮 美眉 起来 就是 扎眼 味道 甜甜 香香的 高级 软弱 自己 镜子 亲亲 自以为是 999 里面 好看 如果 迪奥 可以 入手 哑光 99 闲置 哈哈',  'pos'), ('第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 评论 没有 味道 貌似 亚太 因为 F04 开头 感觉 还行 客服 可以 专柜 验货 一直 相信 自营 但是 好怕 真假 混卖 五星 vcontent 第一次 迪奥 080 第一次 京东 自营 某书 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 评论 没有 味道 貌似 亚太 因为 F04 开头 感觉 还行 客服 可以 专柜 验货 一直 相信 自营 但是 好怕 真假 混卖 五星',  'pos'), ('产品 质感 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 产品 颜色 好看 温柔 持久 效果 哑光 一般 比较 持久 滋润 效果 先涂 润唇膏 嘴唇 秋冬 比较 干裂 晚上 下唇 然后 早上 涂点 润唇膏 纸巾 一下 再涂 口红 好看 适合 肤色 偏白 一点 有些 黄和暗 但是 这个 口红 太显 气色 太亮肤 其他 特色 vcontent %& 产品 质感 &% 哑光 但是 不干 顺滑 超级 舒服 质感 超棒 %& 产品 颜色 &% 好看 温柔 %& 持久 效果 &% 哑光 一般 比较 持久 %& 滋润 效果 &% 先涂 润唇膏 嘴唇 秋冬 比较 干裂 晚上 下唇 然后 早上 涂点 润唇膏 纸巾 一下 再涂 口红 好看 %& 适合 肤色 &% 偏白 一点 有些 黄和暗 但是 这个 口红 太显 气色 太亮肤 %& 其他 特色 &%',  'pos')]
samples2 = df['data2'].tolist()samples2[:5]
[('产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么 但是 感觉 还是 可以 总体 的话 这样子 反正 相信 这个 牌子 相信 这个 自营店 还是 OK 可以 可以 打开 之后 小小 真的 但是 外观 还是 精致 希望 这样子 克里斯丁迪 奥烈 唇膏 哑光 系列 999 原产国 法国 OK\\n 产品 质感 外观 非常 时尚 \\n 产品 颜色 颜色 非常 喜欢 适合 vcontent 产品 非常 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么 但是 感觉 还是 可以 总体 的话 这样子 反正 相信 这个 牌子 相信 这个 自营店 还是 OK 可以 可以 打开 之后 小小 真的 但是 外观 还是 精致 希望 这样子 克里斯丁迪 奥烈 唇膏 哑光 系列 999 原产国 法国 OK\\n{ $% 产品 质感 %$} 外观 非常 时尚 \\n{$% 产品 颜色 %$} 颜色 非常 喜欢 适合',  'pos'), ('还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么 但是 感觉 还是 可以 总体 的话 这样子 反正 相信 这个 牌子 相信 这个 自营店 还是 OK 可以 可以 打开 之后 小小 真的 但是 外观 还是 精致 希望 这样子 克里斯丁迪 奥烈 唇膏 哑光 系列 999 原产国 法国 OK 产品 质感 外观 非常 时尚 commentId 13930967112 clientType top false delete false hAfterUserComment content 还是 可以 老婆 觉得 感觉 不是 特别 拿到 时候 非常 敬业 这个 外观 非常 好看 东西 非趁 还是 好的 一如既往 这次 但是 口子 的话 怎么 一点点 划痕 知道 怎么 但是 感觉 还是 可以 总体 的话 这样子 反正 相信 这个 牌子 相信 这个 自营店 还是 OK 可以 可以 打开 之后 小小 真的 但是 外观 还是 精致 希望 这样子 克里斯丁迪 奥烈 唇膏 哑光 系列 999 原产国 法国 OK 产品 质感 外观 非常 时尚 id 66627492 status":1 modified 2020-05-20 13:28:37 created 2020-05-20 13:28:27 status":1 referenceId 100011323932 reference Time 2020-03-14 11:06:35 nickname J*** replyCount2 27,"userImage storage.360buyimg.com/i.image Upload/6173646368656e68656e6731353131373538333132353434_sma.jpg orderId integral 80 productSales [] afterImages [{ id 1136945384 imgUrl //img30.360buyimg.com/n0/s128 96_jfs/t1/127441/17/2329/22560/5ec4bff3E 003 b3 ede/acd4de32fe7 87 c0.jpg imgTitle status":0 id 1136945385 imgUrl //img30.360buyimg.com/n0/s128 96_jfs/t1/125420/36/2307/27072/5ec4bff4Efaedf 620/7c 851696c 86e4abc.jpg imgTitle status":0 id 1136945386 imgUrl //img30.360buyimg.com/n0/s128 96_jfs/t1/126318/4/2364/28016/5ec4bff5E3cbb6183/b6b 252f4c 019999b.jpg imgTitle status":0 id 1136945387 imgUrl //img30.360buyimg.com/n0/s128 96_jfs/t1/107798/6/18852/24944/5ec4bff6E6d 6332f9/c74357ad42a006a1.jpg imgTitle status":0 }] reference Image jfs/t1/136208/37/7859/112120/5f 4278d3Eeb178e82/ec9 bf 24a2ed 0be65.jpg reference Name 迪奥 Dior 烈艳 蓝金 滋润 999 口红 经典 正红色 口红迪奥 999 礼盒 礼袋 随机 七夕情人节 礼物 firstCategory 1316 secondCategory 1387 thirdCategory 1425 aesPin null days":4,"afterDays 67 id 13576939058 guid 714d 430f-98ab-40c7-ade3-1a2811 739e5 content 口红 收到 包装 黑色 外壳 高端 大气 这个 色号 非常 漂亮 显白 以后 瞬间 显得 精气 十足 质感 非常 轻轻 上色 持久度 不错 特别 丝滑 滋润 油腻 素颜 OK 不用 担心 化妆 口红 持久度 特别 好看 总的来说 口红 满意 适合 所有 肤色 性价比 建议 购买 vcontent 口红 收到 包装 黑色 外壳 高端 大气 这个 色号 非常 漂亮 显白 以后 瞬间 显得 精气 十足 质感 非常 轻轻 上色 持久度 不错 特别 丝滑 滋润 油腻 素颜 OK 不用 担心 化妆 口红 持久度 特别 好看 总的来说 口红 满意 适合 所有 肤色 性价比 建议 购买',  'pos'), ('质地 简直 喜欢 口红 没有 之一 试完 641 立马 下单 999 肉眼 可见 而且 不是 假润 真的 润唇膏 一样 但是 黏腻 感觉 唇纹 持久度 基本上 一个 上午 颜色 起来 方便 原有 底色 好看 颜色 特别 桂枫 叶红 带有 番茄调 水红 结合 里面 黄皮 必备 显白 绝对 没有 任何 色差 就是 这么 好看 浅唇 白皮 美眉 起来 就是 扎眼 味道 甜甜 香香 高级感 嘴上 软弱 自己 镜子 亲亲 自以为是 999 里面 好看 4号 如果 第1 迪奥 可以 入手 哑光 99 闲置 哈哈',  'pos'), ('第一 迪奥 080 第一 京东 自营 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 评论 没有 味道 貌似 亚太版 因为 F04 开头 感觉 客服 可以 拿去 专柜 验货 一直 相信 自营店 但是 真假 混卖 五星 vcontent 第一 迪奥 080 第一 京东 自营 分享 真伪 辨别 方法 感觉 真的 老公 还是 亲自 评论 没有 味道 貌似 亚太版 因为 F04 开头 感觉 客服 可以 拿去 专柜 验货 一直 相信 自营店 但是 真假 混卖 五星',  'pos'), ('产品 质感 哑光 但是 顺滑 超级 舒服 !!! 质感 超棒 !!\\n 产品 颜色 好看 温柔 !!\\n 持久 效果 哑光 一般 比较 持久 \\n 滋润 效果 先涂 润唇膏 嘴唇 秋冬 比较 干裂 晚上 一下 唇膜 然后 早上 涂点 润唇膏 纸巾 一下 口红 好看 !!! \\n 适合 肤色 偏白 一点 有些 暗沉 但是 这个 口红 气色 亮肤 !!! \\n 其他 特色 好爱 !! vcontent {$% 产品 质感 %$} 哑光 但是 顺滑 超级 舒服 !!! 质感 超棒 n{ $% 产品 颜色 %$} 好看 温柔 n{ $% 持久 效果 &% $} 哑光 一般 比较 持久 \\n{$% 滋润 效果 %$ }先 润唇膏 嘴唇 秋冬 比较 干裂 晚上 一下 唇膜 然后 早上 涂点 润唇膏 纸巾 一下 口红 好看 n{ $% 适合 肤色 %$} 偏白 一点 有些 暗沉 但是 这个 口红 气色 亮肤 n{ $% 其他 特色 %$ }好 !!',  'pos')]
import randomrandom.shuffle(samples)random.shuffle(samples2)
X,y = zip(*samples)X2,y2 = zip(*samples2)
from sklearn.model_selection import train_test_split
xtrain,xtest,ytrain,ytest = train_test_split(X,y)xtrain2,xtest2,ytrain2,ytest2 = train_test_split(X2,y2)
from sklearn.naive_bayes import GaussianNB # 高斯朴素贝叶斯from sklearn.naive_bayes import BernoulliNB # 伯努利朴素贝叶斯from sklearn.naive_bayes import MultinomialNB #多项式朴素贝叶斯from sklearn.naive_bayes import ComplementNB #补集朴素贝叶斯
from sklearn.feature_extraction.text import CountVectorizerfrom sklearn.metrics import classification_report
stopwords=pd.read_csv(r'stopwords.txt',index_col=False,quoting=3,sep='\t',names=['stopword'],encoding='utf-8')stopwords=stopwords['stopword'].values.tolist()
CV = CountVectorizer(stop_words=stopwords,max_features=30000)CV.fit(xtrain)xtrain_cv = CV.transform(xtrain)xtest_cv = CV.transform(xtest)#词频计数矩阵CV2 = CountVectorizer(stop_words=stopwords,max_features=30000)CV2.fit(xtrain2)xtrain_cv2 = CV2.transform(xtrain2)xtest_cv2 = CV2.transform(xtest2)
mnb = MultinomialNB().fit(xtrain_cv,ytrain)print(classification_report(ytest,mnb.predict(xtest_cv)))mnb2 = MultinomialNB().fit(xtrain_cv2,ytrain2)print(classification_report(ytest2,mnb2.predict(xtest_cv2)))
              precision    recall  f1-score   support         neg       0.98      0.81      0.88       252         pos       0.83      0.98      0.90       248    accuracy                           0.89       500   macro avg       0.90      0.89      0.89       500weighted avg       0.90      0.89      0.89       500              precision    recall  f1-score   support         neg       0.97      0.82      0.89       246         pos       0.85      0.98      0.91       254    accuracy                           0.90       500   macro avg       0.91      0.90      0.90       500weighted avg       0.91      0.90      0.90       500

from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer(stop_words=stopwords).fit(xtrain)tfidf2 = TfidfVectorizer(stop_words=stopwords).fit(xtrain2)
xtrain_tfidf = tfidf.transform(xtrain)xtest_tfidf = tfidf.transform(xtest)xtrain_tfidf2 = tfidf2.transform(xtrain2)xtest_tfidf2 = tfidf2.transform(xtest2)
mnb_tf = MultinomialNB().fit(xtrain_tfidf,ytrain)print(classification_report(ytest,mnb_tf.predict(xtest_tfidf)))mnb_tf2 = MultinomialNB().fit(xtrain_tfidf2,ytrain2)print(classification_report(ytest2,mnb_tf2.predict(xtest_tfidf2)))
              precision    recall  f1-score   support         neg       1.00      0.79      0.88       252         pos       0.82      1.00      0.90       248    accuracy                           0.89       500   macro avg       0.91      0.89      0.89       500weighted avg       0.91      0.89      0.89       500              precision    recall  f1-score   support         neg       0.98      0.79      0.88       246         pos       0.83      0.98      0.90       254    accuracy                           0.89       500   macro avg       0.91      0.89      0.89       500weighted avg       0.90      0.89      0.89       500

cnb = ComplementNB().fit(xtrain_tfidf,ytrain)
print(classification_report(ytest,cnb.predict(xtest_tfidf)))

cnb2 = ComplementNB().fit(xtrain_tfidf2,ytrain2)
print(classification_report(ytest2,cnb2.predict(xtest_tfidf2)))
              precision    recall  f1-score   support

         neg       1.00      0.80      0.89       252
         pos       0.83      1.00      0.91       248

    accuracy                           0.90       500
   macro avg       0.91      0.90      0.90       500
weighted avg       0.92      0.90      0.90       500

              precision    recall  f1-score   support

         neg       0.98      0.79      0.88       246
         pos       0.83      0.98      0.90       254

    accuracy                           0.89       500
   macro avg       0.91      0.89      0.89       500
weighted avg       0.90      0.89      0.89       500

cnb = ComplementNB().fit(xtrain_cv,ytrain)
print(classification_report(ytest,cnb.predict(xtest_cv)))

cnb2 = ComplementNB().fit(xtrain_cv2,ytrain2)
print(classification_report(ytest2,cnb2.predict(xtest_cv2)))
              precision    recall  f1-score   support

         neg       0.98      0.82      0.89       252
         pos       0.84      0.98      0.91       248

    accuracy                           0.90       500
   macro avg       0.91      0.90      0.90       500
weighted avg       0.91      0.90      0.90       500

              precision    recall  f1-score   support

         neg       0.97      0.82      0.89       246
         pos       0.85      0.98      0.91       254

    accuracy                           0.90       500
   macro avg       0.91      0.90      0.90       500
weighted avg       0.91      0.90      0.90       500


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值