0

Torchtext のドキュメントから、csv ファイルをインポートする方法は TabularDataset を使用することを学びました。私はこのようにしました:

train = data.TabularDataset(path='./data.csv', 
                        format='csv', 
                        fields=[("label",data.Field(use_vocab=True,include_lengths=False)),
                                ("statement",data.Field(use_vocab=True,include_lengths=True))],  
                        skip_header=True)

「ラベル」と「ステートメント」は、csv ファイルの 2 つの列のヘッダー名です。それらを data.Field として定義しましたが、「ラベル」と「ステートメント」には、コンソールによってデータ フィールド オブジェクトとして問題なく認識されているにもかかわらず、実際には csv ファイルのデータが含まれていないようです。statement.build_vocab(train, max_size=25000) で語彙リストを作成しようとしたときに、この問題を発見しました。私は len(statement.vocab) を出力しました。戻り値は「2」です。これは明らかに csv ファイルの実際のデータを反映していません。csv データをインポートするときに何か間違ったことをしたのでしょうか、それとも語彙の作成が間違っているのでしょうか? フィールドオブジェクトにデータを入れる別の方法はありますか? ありがとう!!

4

1 に答える 1

0

フィールドは、このように個別に定義する必要があります

    TEXT = data.Field(sequential=True,tokenize=tokenize, lower=True, include_lengths=True)
    LABEL = data.Field(sequential=True,tokenize=tokenize, lower=True)
    train = data.TabularDataset(path='./data.csv', 
                        format='csv', 
                        fields=[("label",LABEL),
                                ("statement",TEXT)],  
                        skip_header=True)
    test = data.TabularDataset(path='./test.csv', 
                        format='csv', 
                        fields=[("label",LABEL),
                                ("statement",TEXT)],  
                        skip_header=True)
于 2018-08-10T20:18:17.810 に答える