Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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)に対応

Slide 4

Slide 4 text

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)に対応

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Elasticsearchで質問応答モデルを利用するには Copyright © Acroquest Technology Co., Ltd. All rights reserved. Kibana Elasticsearch 学習済みモデル ② Elandを利用して、 学習済みモデルを Elasticsearchに登録する ① 質問応答用に学習した モデルを用意する ネットに繋がらない 製品マニュアル等 ③ 情報源となるドキュメント +質問文を投げて回答を得る

Slide 8

Slide 8 text

質問応答の実行方法 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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

サードパーティーでそのまま利用できる質問応答モデルの例 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 ※基本的には英語のデータセットで学習しているモデル。 日本語の場合は、同種の日本語モデルを利用する必要あり。

Slide 11

Slide 11 text

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にモデルをデプロイする例

Slide 12

Slide 12 text

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 \

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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