[機械学習であそぼ]商品レビューデータをAI Builder用に変換しよう
2019-07-30
azblob://2022/11/11/eyecatch/2019-07-30-convert-product-review-data-for-ai-builder-000.jpg

はじめに

今回は感情分析したい欲が高まったので、感情分析のデータセットをノンコーディング機械学習用に扱いやすいcsvファイルに変換していきます。 ちなみにこの記事のデータフォーマットに合わせます。

学習データの作成

今回利用するデータセットはOscar Täckströmらによって作成されたFinegrained Sentiment Data Setです。
このデータセットは、商品レビューの文書の各文に対して肯定的(POS)、否定的(NEG)、中立(NEU)、肯定と否定が混在(MIX)、無関係(NR)のタグが人手でつけられています。 このデータセットを各行が「タグ, レビュー文」となっているcsvに変換します。

まず、データセットをダウンロードします。

git clone https://github.com/oscartackstrom/sentence-sentiment-data.git

cd sentence-sentiment-data

次に以下のコードを作成し、実行します。

import csv
import random


all_tag = ["pos", "neg", "mix", "neu", "nr"]
with open("./data/finegrained.txt")as file:
    all_data = []
    for line in file:
        data = line.split("\t")
        if data[0] in all_tag:
            label = data[0]
            sentence = data[1].strip()
            all_data.append([label, sentence])
random.shuffle(all_data)
with open("./data/train_data.csv", "w")as train, open("./data/test_data.csv", "w")as test:
    train_data = all_data[10:]
    test_data = all_data[0:10]

    train_writer = csv.writer(train, lineterminator="\n")
    for train_d in train_data:
        train_writer.writerow(train_d)

    test_writer = csv.writer(test, lineterminator="\n")
    for test_d in test_data:
        test_writer.writerow(test_d)

すると、以下のようなtrain_data.csvとtest_data.csvが作成されます。

おわりに

商品レビューデータをAI Builder用に変換しました。 次回からいよいよAI Builderを触っていきます。