maxfie1d のブログ

マイクロソフト系技術ネタを中心に書きます。

はじめて LUIS (Language Understanding Intelligent Service) を使ってみる

LUIS (Language Understanding Intelligent Service) はマイクロソフト提供の 自然言語解析サービスです.

自然言語とは,人間が日常で使う「話し言葉」のことです.

LUISを使うことで,自分の作ったアプリケーション (例えば Bot) に簡単に 自然言語解析の力を統合することができます.

やってみよう

さっそくLUISのサイトを開きます(ドメインai...).

https://luis.ai/

サイトが開いたら,ログイン (Login) もしくは登録 (Sign Up) を行います(Microsoft アカウントを持っていればokです).

ログインしたら,アプリの作成を行います. 飛ばし飛ばしですが,スクショを参考にしてください.

f:id:maxfieldwalker:20180222215959p:plain

f:id:maxfieldwalker:20180222220102p:plain

アプリの作成ができたら,続いて Entity と Intent というものを設定を行います. ここで言う Entity とは,自然言語における『キーワード』のことです. 例えば「東京の天気を教えて」では『東京』が Entity になります. 「2分30秒のタイマーを開始」なら『2分』『30秒』がそれぞれ Entity になります.

次に,Intent は「(ユーザーが)やりたいこと」のことです. 「天気を知る」とか「タイマーをセットする」が Intent になります.

今回は,自然言語でタイマーのセットを行うことを目標に作っていきます.

さっそく Entity から登録を行います. 左側のメニューの「Entities」を押して,次に「Create new entity」を押します.

f:id:maxfieldwalker:20180222221605p:plain

まず,タイマーの「時 (Hour)」を Entity として登録します. 同じようにして「分 (Minute)」と「秒 (Second)」も登録してください.

f:id:maxfieldwalker:20180222221823p:plain

次に Intent を登録します. 今回の Intent は「タイマーをセットする」なので,Intent 名は「SetTimer」にしました.

f:id:maxfieldwalker:20180222222637p:plain

「SetTimer」Intent を作成できたら,次は学習フェーズです.ここが一番おもしろい! スクショの赤枠に,ユーザーが話しかけるだろう例文を入力していきます. 例えば「2分30秒のタイマーをセットして」などです. ポイントは,さまざまなパターンを言い回しを替えて入力として与えることです. 今回は「Hour」「Minute」「Second」の3つの Entityがあるので,3つの Entity がすべて 含まれているパターンや,1つの Entity のみが含まれているパターンなど, 本当にありとあらゆるパターンが考えられるので,思いつく限りでいいので できるだけたくさん入力しておきましょう.

f:id:maxfieldwalker:20180222223236p:plain

例文の入力が終わったら,少し下の「Utterance」のところで 例文のどの単語がどの Entity に対応するかを教えてあげます. 単語にカーソルを合わせてクリックすると,先ほど登録した Entity の一覧が 表示されます.

f:id:maxfieldwalker:20180222224242p:plain

すべての例文について,Entity の対応づけを行ったら最後に右上の方にある「Train」ボタンをクリックして AI を訓練させます.

f:id:maxfieldwalker:20180222224509p:plain

訓練が終わったら,「Train」ボタンのすぐ隣にある「Test」ボタンを押して 学習が上手くいっているかテストしてみましょう. 自然言語から思い通りに Entity を取得できましたか?

f:id:maxfieldwalker:20180222224713p:plain

まとめ

LUIS を動かしてみてどうでしたか?びっくりするくらい簡単に自然言語を解析できて 驚いたのではないでしょうか.

次回の投稿では,プログラム側から LUIS にアクセスする方法を書きたいと思います.

maxfie1d.hatenablog.com