北館テック.com北館テック.comオープンソースソフトウェアのサーバ設定やプログラミングなどのメモですホームお問い合わせこのサイトについてプライバシーポリシーMenuSidebarPrevNextSearchRSSFeedlyホーム>ディープラーニングPytorchでテキスト分類チュートリアル実施2020年7月29日TwitterFacebookGoogle+LinkedInPocketまたPytorchのチュートリアルを実践してみます。今回は自然言語処理でテキスト分類を試してみました。参考はこちらのオフィシャルサイトからですね。https://pytorch.org/tutorials/beginner/text_sentiment_ngrams_tutorial.html自然言語処理はまた専用の処理がたくさんあって勉強することが多いですね。使うデータセットここではAG_NEWSというデータセットでニュースを4種類に分類するチュートリアルになってますね。AG_NEWSの公式サイトはこちらみたいですね。2004年からコツコツ集めたニュースコーパスということでしょうか。http://www.di.unipi.it/~gulli/AG_corpus_of_news_articles.htmltrain.csvtest.csvclasses.txtreadme.txtの4つのファイルからなるシンプルなデータセットですね。train.csv,test.csvは1列目が正解ラベル分類(1から4)、2列目がニュース本文のデータです。分類コードはこれですね(classes.txt)。EmbeddingBag-Linear(全結合)の単純なモデルですね。自然言語処理なので文字のベクトル化のためにEmbeddingBag層が入っているのが自然言語処理らしいところですね。モデルは学習・推論で使うので、ここでは別ファイルでmodel.pyとして作成してみます。Word(BoW)」なのかなと予想できますね。単語の出現回数を数える手法ですね。日本語ですと追加で形態素解析で単語にする作業が必要そうですが、今回は英文のままなので、形態素解析は不要ですね。訓練実施コードをまとめるとこちらですね。最後に学習済みモデルファイルをtext.pthとして保存します。処理の流れは通常のPytorchの学習と同じですね。clsの3つがありますが、こちらはバッチサイズ16の学習データをまとめたものになってますね。textの配列で16個ニュースのスタート位置。