LoginSignup
2
1

More than 1 year has passed since last update.

3行のコードで文章分類が判別できる

Last updated at Posted at 2022-10-14

pipeline

Transformersのpipelineを利用して、わずか数行のコードで NLP タスクを実装できる。
今回はとりあえず文章分類タスクの英語版・日本語版を試した内容を記載します。

嬉しいこと

最短3行のコードで事前学習済みモデルを利用できる。

利用条件

タスク名を指定するだけで簡単にタスクの実行が可能です。

実際に試した

1.英語版の文章分類タスク

from transformers import *
sample_sentence_classif=pipeline("sentiment-analysis")

sentences=["I like this movie.", "This movie is so boring"]

#感情分析の実行
results = sample_sentence_classif(sentences)
for result in results:
  print(f"label:{result['label']}, score:{round(result['score'],4)}")

二つ文章の予測結果は↓、正しいラベルが予測できました。

実行結果
label:POSITIVE, score:0.9999
label:NEGATIVE, score:0.9998

2.日本語版の文章分類タスク

from transformers import pipeline, AutoModelForSequenceClassification, BertJapaneseTokenizer

jp_model = AutoModelForSequenceClassification.from_pretrained('daigo/bert-base-japanese-sentiment') 
jp_tokenizer = BertJapaneseTokenizer.from_pretrained('cl-tohoku/bert-base-japanese-whole-word-masking')
jp_sentence_classif = pipeline("sentiment-analysis",model=jp_model,tokenizer=jp_tokenizer)

#感情分析の実行
sentences=["この犬はかわいい", "その本は退屈だ"]

results = jp_sentence_classif(sentences)
for result in results:
  print(f"label:{result['label']}, score:{round(result['score'],4)}")

二つ文章の予測結果は↓ 、正しいラベルが予測できました。

実行結果
label:ポジティブ, score:0.9919
label:ネガティブ, score:0.9831

感想

非常に利用しやすい印象です!

参考記事

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1