2018.12.18こんにちは、荒井(@yutakarai)です。いまは「AIを使ったチャットボット」と言えば、機械学習や深層学習技術を使ったチャットボットのことになります。AIに大量の学習をさせることで、構文の構造や意図理解の自然言語処理技術も進んでいて、チャットボットがどんどん進化しています。そんな中、がっちがちのルールベースのチャットボットは結構以前からありました。今回は、AIMLの紹介と、AIMLを使ったルールベースのチャットボットの作り方をシリーズ全2回に分けて解説したいと思います。シリース第1回目となるこの記事では、AIMLの紹介をします。シリーズ第2回目はこちらからどうぞ。Language」の略です。Wallace博士によって1995〜2000年に開発されました。Entity(A.L.I.C.E)に基づくチャットボットであるAlicebotに利用されたことでも知られています。参考までに、A.L.I.C.Eのダウンロードはこちらからできます。最新のプログラム更新が2000年となっているので、かなり古いことがわかります。AIMLのタグについてAIMLにはかなり多くのタグがあり、細かな仕様の解説はここでは割愛しますが、AIMLのバージョン1.0と2.0でも違いがあったりしますので注意が必要です。基本的なタグを紹介します。基本タグ<aiml>:AIMLドキュメントの開始と終了を定義します。<category>:ナレッジベース(知識ベース)を定義します。<pattern>:ユーザーが入力したものと一致するパターンを定義します。<template>:ユーザーの入力に対するチャットボットの応答を定義します。