$30 off During Our Annual Pro Sale. View Details »

Elasticsearchによる質問応答 ~NLP機械学習モデルの利用~

樋口慎
August 31, 2022

Elasticsearchによる質問応答 ~NLP機械学習モデルの利用~

第49回Elasticsearch勉強会での発表スライドです。
Ver. 8.3 でサポートされた、PyTorchモデルを取り込んでの質問応答タスクについて紹介します。

樋口慎

August 31, 2022
Tweet

More Decks by 樋口慎

Other Decks in Technology

Transcript

  1. 第49回 Elasticsearch勉強会
    Elasticsearchによる質問応答
    ~NLP機械学習モデルの利用~
    Acroquest Technology 株式会社
    Elastic Certified Engineer
    樋口 慎 @shin0higuchi
    1
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.

    View Slide

  2. 自己紹介
    ⚫ 名前:樋口 慎
    ⚫ 所属:Acroquest Technology株式会社
    ⚫ 業務:Elasticコンサルティング全般、データ分析、システム開発
    ⚫ 資格/執筆:
    世界初「Elastic Certification」3種取得
    Elasticsearch NEXT STEP 執筆

    View Slide

  3. ElasticsearchにおけるNLPの変遷
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    教師あり機械学習を
    サポート開始
    (テキスト分類や言語判定等を利用可)
    Ver 7.6
    Ver 7.7
    複数クラスの分類に対応
    Ver 8.0
    PyTorchモデルのインポートが可能に。
    Fill-mask・固有表現抽出・テキスト分類・Embeddingなどに対応
    Ver 8.3
    質問応答(Question-Answering)に対応

    View Slide

  4. ElasticsearchにおけるNLPの変遷
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    教師あり機械学習を
    サポート開始
    (テキスト分類や言語判定等を利用可)
    Ver 7.6
    Ver 7.7
    複数クラスの分類に対応
    Ver 8.0
    PyTorchモデルのインポートが可能に。
    Fill-mask・固有表現抽出・テキスト分類・Embeddingなどに対応
    Ver 8.3
    質問応答(Question-Answering)に対応

    View Slide

  5. 質問応答のユースケース例(やりたいこと)
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    製品マニュアル等
    「ネットに繋がらない」
    大量の情報源の中から
    特定の情報を探したい
    利用者
    「印刷時にカタカタという音がすることがありますが、イン
    ク・紙の走行によるものであり異常ではありません...<略>...
    インターネットに繋がらない場合は機器背面のボタンを長押
    しして再起動をしてください。...<略>...用紙の設定とカ
    セットに登録した用紙のサイズ、種類が一致していない場合
    は、モニタにメッセージが表示されます。」

    View Slide

  6. 質問応答のユースケース例(Elasticsearchによる実現)
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    ②製品マニュアル等
    のテキスト
    Elasticsearch
    ネットに繋がらない
    インターネットに繋がらない場合は機器背面
    のボタンを長押しして再起動をしてください
    学習済みモデル
    ①質問文
    ③ ②から抽出された回答
    印刷時にカタカタという音がすることがありま
    すが、インク・紙の走行によるものであり異常
    ではありません...<略>...インターネットに繋が
    らない場合は機器背面のボタンを長押しして再
    起動をしてください。...<略>...用紙の設定とカ
    セットに登録した用紙のサイズ、種類が一致し
    ていない場合は、モニタにメッセージが表示さ
    れます。

    View Slide

  7. Elasticsearchで質問応答モデルを利用するには
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    Kibana
    Elasticsearch
    学習済みモデル

    Elandを利用して、
    学習済みモデルを
    Elasticsearchに登録する

    質問応答用に学習した
    モデルを用意する
    ネットに繋がらない
    製品マニュアル等

    情報源となるドキュメント
    +質問文を投げて回答を得る

    View Slide

  8. 質問応答の実行方法
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    Kibana
    1.Kibana UI上での実行(モデルのテストという扱い)
    Elasticsearch
    2. Inference APIを利用
    3.Ingest Nodeを利用 (Inference Processor)
    ※Simulateもしくは、登録済みPipelineをデータ登録時に呼び出し
    POST _ml/trained_models//_infer
    POST /_ingest/pipeline/my-pipeline-id/_simulate

    View Slide

  9. 質問応答用モデルの用意
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    1. HuggingFaceのTransformersを活用すると良い
    (https://huggingface.co/models)

    View Slide

  10. サードパーティーでそのまま利用できる質問応答モデルの例
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    • BERT large model (uncased) whole word masking finetuned
    on SQuAD
    • DistilBERT base cased distilled SQuAD
    • Electra base squad2
    • TinyRoBERTa squad2
    ※基本的には英語のデータセットで学習しているモデル。
    日本語の場合は、同種の日本語モデルを利用する必要あり。

    View Slide

  11. Eland による import
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    • Elandは、HuggingFaceのモデルをデプロイする簡易なスクリプトを提供
    eland_import_hub_model --cloud-id \
    -u -p \
    --hub-model-id \
    --task-type <タスク種別> \
    ElasticCloudにモデルをデプロイする例

    View Slide

  12. Eland による import
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    • 質問応答のモデルをデプロイする例
    eland_import_hub_model --cloud-id xxxx \
    -u ml_import_user -p xxxx \
    --hub-model-id deepset/tinyroberta-squad2 \
    --task-type question_answering \

    View Slide

  13. インポートしたモデルはKibana上で確認可能
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.

    View Slide

  14. Kibana UI 上でのテスト実行
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.

    View Slide

  15. Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    Demo

    View Slide

  16. まとめ
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.
    Elasticsearch 8.3から、
    既存のNLPタスクに加えて質問応答に対応
    1
    単純な全文検索だけではなく、
    機械学習による情報抽出が可能となった
    2
    製品マニュアル検索以外に、
    ナレッジベースやFAQの検索等、幅広く活用可能と思われる
    3

    View Slide

  17. ご清聴ありがとうございました。
    Evolve the Earth with Emotion of Technology
    Copyright © Acroquest Technology Co., Ltd. All rights reserved.

    View Slide