Day 23 bert 文字情感分类-2

在这里我们要将训练集替换成中文,但是原本资料集的资料夹格式如下:

tf.keras.preprocessing.text_dataset_from_directory
aclImdb_v1.tar.gz

分为训练和测试两个资料夹,而在这之下有 neg 和 pos 资料夹分类正向和负向

neg 和 pos 有数个 txt 档案

每个档案中有一句评论

而中文旅馆评论是一个单档的 csv,并使用 label 表示正负向

label,review
1,"距离川沙公路较近,但是公交指示不对,如果是""蔡陆线""的话,会非常麻烦.建议用别的路线.房间较为简单."
1,商务大床房,房间很大,床有2M宽,整体感觉经济实惠不错!
1,早餐太差,无论去多少人,那边也不加食品的。酒店应该重视一下这个问题了。房间本身很好。
1,宾馆在小街道上,不大好找,但还好北京热心同胞很多~宾馆设施跟介绍的差不多,房间很小,确实挺小,但加上低价位因素,还是无超所值的;环境不错,就在小胡同内,安静整洁,暖气好足-_-||。。。呵还有一大优势就是从宾馆出发,步行不到十分钟就可以到梅兰芳故居等等,京味小胡同,北海距离好近呢。总之,不错。推荐给节约消费的自助游朋友~比较划算,附近特色小吃很多~
1,"CBD中心,周围没什么店铺,说5星有点勉强.不知道为什么卫生间没有电吹风"

这里使用 pandas 读取 csv,洗牌後将 80% 的分给 train_df,20% 分给 test_df。
之後根据 label 的值,把 label 1 写入至 pos,label 0 写入至 neg。

import pandas as pd
import os
all_df = pd.read_csv("ChnSentiCorp_htl_all.csv")

shuffled = all_df.sample(frac=1).reset_index(drop=True)

train_df = shuffled.iloc[:int(len(shuffled)*0.8)]
test_df = shuffled.iloc[int(len(shuffled)*0.8):]

mypaths = ["chinese/train/neg", "chinese/train/pos", "chinese/test/neg", "chinese/test/pos"]
for i in mypaths:
  os.makedirs(i, exist_ok=True)

for i, row in train_df.iterrows():
  if row["label"] == 1:
    with open("chinese/train/pos/" + str(i) + ".txt", "w", encoding="UTF-8") as f:
      f.write(str(row["review"]))
  if row["label"] == 0:
    with open("chinese/train/neg/" + str(i) + ".txt", "w", encoding="UTF-8") as f:
      f.write(str(row["review"]))


for i, row in test_df.iterrows():
  if row["label"] == 1:
    with open("chinese/test/pos/" + str(i) + ".txt", "w", encoding="UTF-8") as f:
      f.write(str(row["review"]))
  if row["label"] == 0:
    with open("chinese/test/neg/" + str(i) + ".txt", "w", encoding="UTF-8") as f:
      f.write(str(row["review"]))

结果如下


<<:  Day 23 Python 学习者常用的 Jupyter Notebook

>>:  Day-24 AlertDialog

[Day 30] 资料产品开发实务 - 完结撒花!

终於撑完三十天啦啊啊啊啊!!!没想到自己有一天也能完成这个壮举(拭泪),真的太敬佩各路大神以及前辈了...

并购(Mergers and acquisitions)-安全评监(Security assessment)

-10 步并购清单(来源:CFI Education Inc.) 在考虑剥离提议时,进行安全评监以...

Day 26 - Spring Security (三) DaoAuthenticationProvider

在上一篇Day 25 - Spring Security (二) UserDetailsServic...

[DAY-03] 有顶尖的同事 才有一流的工作环境

团队如果有一两个人能力仅免强胜任 会拉低团队所有人的表现. IF 你团队有五名优秀的下属 那这两个...

IT 铁人赛 k8s 入门30天 -- day11 Helm - Package Manager

前言 今天要来讲说 Helm 这个工具 因为 Helm 版本会不断推陈出新, 因此在今天的内容着重再...