2019-10-19

anond:20191019183452

自分機械学習に詳しいかどうかはわかりませんが,わかる範囲で書きます

質問テキストを投げるとそれに一番見合ったFAQページのリンクタイトルを表示してくれるチャットボット的なプログラム

チャットボット」はただの UI であるので

を実現する事が目的だと考えて話を進めましょう.

一般的にこのタスク類似文書検索と呼ばれていますブックマークコメントでは「ElasticSearchを使え」と言われています.ElasticSearch の More Like This Query 機能を使うことで類似文書検索が実現できるようです.あとはパラメータを調整することで思い通りの結果が得られるのではないでしょうか.

より高度なアプローチを取るのであれば,BERT と呼ばれるニューラルネットワークモデル活用した類似文書検索可能です.こちらのブログ (ElasticsearchとBERTを組み合わせて類似文書検索 - Ahogrammer) が参考になるでしょう.

しかしこれだけで終わると悲しいのでもう少し機械学習の話をすることにします.

機械学習的にこの問題に取り組むには順序学習 Learning to Rank という問題を解く必要があります.順序学習google 検索にも使われている機能です.

これは,「入力 x に対して N 個の候補 y_1, y_2, ..., y_N を類似している順に並び替えるようなスコアを出力する関数 f(x, y_i) を学習する」というものです.

More Like This Query 機能よりもこちらのアプローチが優れているのは,前者はどうパラメータチューニングしようと「類似している文書しか得られないのに対して,後者は(先程引用したような)「見合った」を明示的にデータとして与えてランキング学習できる,という点です.

学習データとして「この質問のに対してこの FAQ ページがもっとも見合っている」「この質問に対して A と B ふたつの FAQ ページがあるが,B より A の方が見合っている」「この質問に対して見合った順に全ての FAQ ページを並び替えたもの」といったデータを大量に準備することで,「見合った」を学習することが可能です.

しかこちらも ElasticSearch の機能に搭載されているようです.ありがとう ElasticSearch.お疲れ様でした.

もしあなたが ElasticSearch を使うのではなく, Python を使って再実装したいと考えているのであれば,目印として必要ライブラリ概念を書いておきます

記事への反応 -
  • こういうのを実装したいと思ってるだがどんな言語とライブラリ使って どのくらいの勉強期間と実装期間を費やせば作れるかな? 質問のテキストを投げるとそれに一番見合ったFAQペ...

    • 自分が機械学習に詳しいかどうかはわかりませんが,わかる範囲で書きます. 質問のテキストを投げるとそれに一番見合ったFAQページのリンクとタイトルを表示してくれるチャットボ...

    • 自動生成した学習データを用いた文書分類器に基づく FAQ 検索システム 牧野 拓哉, 野呂 智哉, 岩倉 友哉 自然言語処理 2017 年 24 巻 1 号 p. 117-134 https://www.jstage.jst.go.jp/article/jnlp/24/1/24_117/_art...

    • マスターの件数が決まってるなら典型定的な分類器やから作るのは楽やで。 mnistのソース読んで適当に頑張りやー

    • そもそも機械学習じゃないのに、なぜ機械学習に詳しい人に聞いたの?

    • 機械学習必要なしって言う人多いけど「解決しましたかorしませんでいしたか」ボタンが押されたとか、さらに別の質問を入力して答えを見つけようとした(提示されたQ&Aが良くなか...

    • AIとか機械学習に詳しくないけど、「Prolog」に1票 Prolog実践入門 - AIに特化した老舗言語 - Qiita https://qiita.com/ShunIchikawa/items/6449f492dc38a7201162

    • まず『初めてのパターン認識』でも読んでみてはどうか。 学習データを手で作るという時点で学習データのボリュームがだいぶ限られる。 「適切な」クローズしたFAQページを選ぶ際に統...

    • 作るだけなら機械学習を用いない方法も用いる方法もあるが、箇条書きの下に書かれた「習得メイン」というのが一番のポイント。おそらく機械学習の習得を指していて、要するに、機...

    • 数学は要らん この計算式はどういう機能かが分かっていれば良い

    • 向いてないからやめた方がエエよ

    • AIや機械学習を一切使わず古典的エキスパートシステムとして実装されるのがよいと思います ほぼ全く完全にAIに関係なくて笑う

    • こういうのを問う場がはてぶという、日本のIT後進国っぷりよ。。。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん