QA パイプラインを実行する
文章から回答を取り出す
「QA パイプラインを実行する」はCoddyKit上の無料NLP Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNLP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 NLP Academyコースには全4レッスンが含まれています。
パイプラインでできること
Hugging Faceのpipelineは、モデルとトークナイザーを1回の簡単な呼び出しにまとめます。質問とコンテキストを渡すと、回答を返します。🚀
ヘルパーをインポートする
すべては1つのインポートから始まります。transformersライブラリのpipeline関数が、QAに必要な仕組み全体を構築してくれます。
from transformers import pipelineQAパイプラインを作成する
タスク名question-answeringをpipelineに渡します。モデル名を指定しなければ、適切なデフォルトモデルが自動的にダウンロードされます。
qa = pipeline("question-answering")コンテキストを渡す
パイプラインにはコンテキストが必要です。これは回答を含む文章です。モデルが読んでよい文章だと考えてください。
context = "The Eiffel Tower is located in Paris and was completed in 1889."質問する
ここで、質問とコンテキストの両方を指定してパイプラインを呼び出します。文章を調べ、最も一致するスパンを返します。
result = qa(question="Where is the Eiffel Tower?", context=context)結果を読む
結果は辞書です。回答の文章はanswerキーに格納されており、そのまま表示したり保存したりできます。
print(result["answer"]) # Paris信頼度スコア
各結果には、0から1までのスコアも含まれます。値が高いほど、モデルが選んだスパンに自信を持っていることを示します。
print(result["score"]) # e.g. 0.98開始位置と終了位置
結果にはstartと終了文字インデックスが含まれます。これらにより、コンテキスト内のどこで回答が見つかったかを正確に把握できます。
print(result["start"], result["end"])モデルを選ぶ
名前を指定して特定のモデルを選べます。よく使われる小規模なQAモデルとして、SQuADデータセットでファインチューニングされたdistilbertがあります。
qa = pipeline("question-answering",
model="distilbert-base-cased-distilled-squad")同じコンテキストを再利用する
1つのコンテキストから多数の質問に回答できます。パイプラインを1度構築し、同じ文章に対して新しい質問で繰り返し呼び出します。
コンテキストだけを読む
覚えておきましょう。この抽出型パイプラインは、渡されたコンテキストだけをもとに回答します。文章にないことを質問すると、適切でないスパンが返ります。
クイックチェック
QAパイプラインが結果をどのように返すか思い出しましょう。
まとめ
1回のpipeline呼び出しで質問とコンテキストを渡すと、answer、score、start、endを含むdictが返ります。3行で抽出型QAを実行できました。✅
よくある質問
「QA パイプラインを実行する」レッスンは無料ですか?
はい。「QA パイプラインを実行する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、NLP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 NLP Academyコースには全4レッスンが含まれています。
「QA パイプラインを実行する」で何を学びますか?
文章から回答を取り出す ブラウザで直接実行するハンズオンコードでNLP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
NLP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのNLP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「QA パイプラインを実行する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このNLP Academyレッスンでコードを書いて実行できますか?
はい。すべてのNLP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 抽出型 QA と生成型 QA
- QA パイプラインを実行する
- 文脈内で回答スパンを見つける
- 回答なしと長い文書に対応する