HuggingFaceのTransformersとは?
米国のHugging Face社が提供している、自然言語処理に特化したディープラーニングのフレームワーク。
ソースコードは全てGitHub上で公開されており、誰でも無料で使うことができる。
TensorFlowとPyTorchの両方に対応しており、テキスト分類や質問応答などの自然言語処理のタスクをディープラーニングを使って解くことができる。
BERTなどの最先端のアルゴリズムに対応したアーキテクチャに加え、多言語、且つ、多様な事前学習モデルに対応しており、最先端のアルゴリズムを簡単に試すことができる。
HuggingFaceのTransformersが提供しているもの
-
BERTなどの最先端のアルゴリズムに対応したアーキテクチャ
詳細は下記のページ参照。
https://github.com/huggingface/transformers#model-architectures -
多言語、且つ、多様な事前学習モデル
詳細は下記のページ参照。BERTでは日本語の事前学習モデルもある。
https://huggingface.co/transformers/pretrained_models.html
HuggingFaceのTransformersで出来ること
自然言語処理の代表的なタスクはだいたい何でもできる。
公式ドキュメントのusageページ、もしくはGitHubのexamplesページに例が載っている。
https://huggingface.co/transformers/usage.html
https://github.com/huggingface/transformers/tree/master/examples
テキスト分類
GLUE(General Language Understanding Evaluation)のデータセットを使った場合の事例が載っている。
英語のベンチマーク用のデータセットであり、同じデータセットを扱うことで同じ土俵の上でアルゴリズムの精度を比較することができる。
GLUEには9つのタスクのデータセットが含まれており、基本的には全てテキスト分類のタスクである。
例えば、SST-2(The Stanford Sentiment Treebank)は映画のレビュー文にポジティブ、ネガティブの2つのラベルを付与したものであり、テキスト分類によりポジティブ、ネガティブを推定するというタスクである。
ただ、examplesに載っている事例は全て英語のデータセットであり、日本語のオリジナルデータを試したい場合はソースコードとコマンドを変更する必要がある。詳細は下記のページ参照。
質問応答
SQuAD(Stanford Question Answering Dataset)のデータセットを使った場合の事例が載っている。
GLUE同様、英語のベンチマーク用のデータセットであり、同じデータセットを扱うことで同じ土俵の上でアルゴリズムの精度を比較することができる。
データセットには、質問とそれに対応する応答、もしくは応答として相応しくないデータが収められている。
そして、未知の質問に対して適切な応答を推定するというタスクである。
質問: When did Beyonce start becoming popular?
応答: in the late 1990s
GLUE同様、examplesに載っている事例は全て英語のデータセットであり、日本語のオリジナルデータを試したい場合はソースコードとコマンドを変更する必要がある。
要約
BertSumの著者のリポジトリから最低限必要なソースコードを移植したもの。
BertSumはBERTを要約の分野に適用したもので、ニュース記事の要約では既存手法と比較して精度が大きく向上したと論文の中で述べられている。
英語のニュース記事の要約を試したいだけであればhuggingfaceのもので十分だが、
- データセットを換えて学習したい
- 英語ではなく日本語で試したい
などがあれば、オリジナルのリポジトリをさわる必要がある。
固有表現抽出
翻訳