情感分析資料預處理過程

2022-06-10 14:15:12 字數 2359 閱讀 7356

#

訓練資料預處理

import

numpy as np

from sklearn.utils import

shuffle

import

osimport matplotlib.pyplot as plt

#

hotel_feedbacks_dir = "

./hotel_feedbacks_sentiment

"

#

all_positive和all_negative含有所有的正樣本和負樣本

with open(hotel_feedbacks_dir + "

/" + "

neg.txt

", "

r", encoding="

utf-8

") as f:

all_negative = [line.strip() for line in

f.readlines()]

with open(hotel_feedbacks_dir + "

/" + "

pos.txt

", "

r", encoding="

utf-8

") as f:

all_positive = [line.strip() for line in f.readlines()]

print(all_positive[2])

不錯,下次還考慮入住。交通也方便,在餐廳吃的也不錯。
#

獲取所有文字的長度

all_length = [len(i) for i in all_negative] + [len(i) for i in all_positive]

#

視覺化語料序列長度, 可見大部分文字的長度都在300以下

把所有的語料放到list裡, 每一條語料是乙個dict:

all_data =

for text in

all_positive:

"text

": text, "

label

": 1})

for text in

all_negative:

"text

": text, "

label

": 0})

#

shuffle打亂順序

all_data = shuffle(all_data, random_state=1)

#

拿出5%的資料用來測試

test_proportion = 0.05test_idx = int(len(all_data) * test_proportion)

#

分割訓練集和測試集

test_data =all_data[:test_idx]

train_data = all_data[test_idx:]

#

輸出訓練集和測試集為txt檔案, 每一行為乙個dict:

with open("

train_sentiment.txt

", "

a", encoding="

utf-8

") as f:

for line in

train_data:

f.write(str(line))

f.write("\n

")with open(

"test_sentiment.txt

", "

a", encoding="

utf-8

") as f:

for line in

test_data:

f.write(str(line))

f.write("\n

")

部分資料:

資料預處理過程

概括起來,統計資料預處理的過程包括資料審查 資料清理 資料轉換和資料驗證四大步驟。一 資料審查 該步驟檢查資料的數量 記錄數 是否滿足分析的最低要求,字段值的內容是否與調查要求一致,是否全面 還包括利用描述性統計分析,檢查各個欄位的字段型別 字段值的最大值 最小值 平均數 中位數等,記錄個數 缺失值...

情感分析中文字資料預處理

text data.field sequential true,tokenize tokenizer,fix length 1000,stop words stop words label data.field sequential false,use vocab false torchtext 的...

情感分析之資料獲取與預處理

資料集資訊 清洗準則索引 清洗類別 資料例項 1含有使用者名稱 資料例項 2小於4字元 你說呢?情感標籤 情感類別 情感細分 1正向情感 建議 感動 支援 緬懷 祝願 同情 開心 慶幸 讚美 反思 0負向情感 質疑 無奈 憤怒 調侃 批判 悲哀 憤慨 惋惜 抱怨 謾罵 憂慮 情感標註完畢後,需要通過...