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
感想
非常に利用しやすい印象です!
参考記事