[LUIS] Language Understanding Intelligent Serviceの自動再学習アルゴリズム

Cloud Application Engineerの内海です。

今回はMicrosoft AzureのCognitive Servicesの中からコマンドの意図解釈が可能となるLanguage Understanding Intelligent Service(通称LUIS)の自動再学習アルゴリズムについて話をしたいと思います。

というのもLUISに用意されたAPIの中に学習済みデータに新規データを追加するものが無いみたいなんですよね(´◉◞౪◟◉)

今回は「じゃあ、用意されたAPIを組み合わせて再学習させるしかないなぁ」という話です。

ちなみに、今回はこちらの公式ドキュメントを参考にしています。
https://dev.projectoxford.ai/docs/services/56d95961e597ed0f04b76e58/operations/56f8a55119845511c81de45a

「なんだぁ、インポート機能あるじゃん」

と思ったら甘かった…
このインポート機能は新規LuisAppの作成にしか使えないようです。(残念

出来ないものはしょうがないので、サラッと他のAPIを見てみるとフムフム…いくつか使えそうなものがありました。

まずは再学習の基本となる以下の2つのAPI
Train API
Publish API

簡単に各APIについて解説させて頂きます。
Train APIは学習させるAPI、Publishは学習した結果をAPIとして公開させるAPIです(本当に簡単ですね

次に問題の新規データの追加についてです。
今回は以下のような流れで新規データの追加を疑似的に行おうと思います。

1.現状使用しているLuisAppから既存学習データ(Json形式)をエクスポートする。
%e5%9b%b31


2.エクスポートしたデータに新規学習データを追加する。
%e5%9b%b32


3.学習データを追加したデータをもとに新規LuisAppを作成
%e5%9b%b33


4.古いLuisAppを削除
%e5%9b%b35


5.データを追加した新規LuisAppが残る!(完
(∩´∀`)∩ワーイ

こんな感じでグルグル回せばデータを追加するAPIが無くても疑似的に回すことができます

MeCab等の形態素解析アルゴリズムを仕組めば自動でデータをクロールしてきて勝手に賢くなるLUISもつくれそうですねぇ( _´ω`)_

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中