中学$Prolog
(演繹型?人工知能)
の使い方
⓪開発動機、①特徴、②他のAIシステムとの接続・関係、③主な用途
④事実、データ、自分の言葉、⑤ルール(ホーン節)、
⑥(連立)言葉方程式、⑦手続的解釈、⑧NOT、
⑨静的引用、⑩動的引用、⑪比較、⑫文脈と逆質問、⑬定型応答
KITハッカソン Vol.4にて情報提供させて頂いた内容の開示
2016.3.10準備版の⓪開発動機+3.19ハンズオン版
ナレルシステム(株) 中村圭介
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソンVoL4資料
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⓪開発の動機
・尊敬されたいし、豊かにも幸せにもなりたいけど・・・、一生の仕事としては、
・世の中の理不尽を減らしたい・・・できれば自分が夢中になれるプログラミングで!
・さまざまな論理(正論は当然。少数意見も)が、選択肢(仮説、一案、筋道の明確な
一理)としてきっちり伝わる仕組みを作りたい(すべての国、団体、会社、仲間、家族
をより明るくするような)
・そのような仕組みに、誰もが関与できるようにしたい(一般の方々、おじいちゃん、お
ばあちゃん、大昔の大先生、理想/未来の仮想人格たち、・・・)
・自分の言葉で自由に表現した事実(データや仮説)と推論規則(考え方や理論)を、
世界の誰(の人工知能)にも影響を与えうる(=引用でき、敷衍できる)形式で世界に
解き放てるようにする(誰もが世界(の考え方)を変えられる)!
・誰もが論理学の初歩(一階述語論理)と論理プログラミング(人工知能)を習得し、自
分、おじいちゃん、おばあちゃん等の人格を対話可能な形でネットに残し、生きた証と
しての(自分の信じた)知を後世に蓄積し、誰もが世の中をより明るくしていける時代
僕は一年のとき花子ちゃんが好きでした
C言語、PHP、JAVA等 → ×プログラムでない(日記、作文はプログラムと認めません!)
しかし、従来のPROLOGと中学$Prolog → ○プログラム(事実)である
僕は$Bのことをずっとおぼえている :- 僕は$A年のとき$Bが好きでした;
C言語、PHP、JAVA → ×プログラムでない
従来のPROLOG → ×プログラムでない!!
中学$Prolog → ○プログラム(ルール)である!!!
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソンVoL4資料
つまり、日記や作文がそのまま世界の思考に影響を与える
AIの知識=論理プログラム(事実、ルール)になる!
①特徴
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
①最大の特徴(元祖Prologとの違い)
1)変数は自由文中に「$A」、「${母親}」、等として埋め込む
2)事実は自由文で記載し(日記等からコピペ可)、表記ゆれ吸収規則で調整
例. 僕は太郎と旧知
僕は次郎と昔からの知り合い
僕は太郎と仲よし
僕は$Aと友達 :- 僕は$Aと旧知; 僕は$Aと仲よし;
$X旧知 :- $X昔からの知り合い;
3)ルールの中の条件列の確認は、各条件ごとに全ての解候補を列挙してから絞る
条件1{太郎,次郎} ⇒ 条件2{太郎}
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
②他のAIシステムとの接続可能性(または関係)
○自動知識獲得(人が論理プログラムを書けば不要。法、道徳、愛、価値観は人が描く)
・機械学習 ・・・ 機械学習した結果を言葉で表現できれば連携可能
・ディープラーニング・・・ 分類結果(N値)を入力として推論(演繹)することが可能
・統計解析 ・・・ 推定されたモデルや値を論理に変換できれば連携可能
・テキストマイニング ・・・ 結果を連携可能 ※いずれもI/Fカスタマイズ必要
○パターン認識
・音声認識 ・・・ 結果を文脈(前提条件)、質問等として利用可(開発中)
○変換・合成
・翻訳 ・・・ 翻訳系に対してテキストによる入出力が(作りこみ)可能
・音声合成 ・・・ 推論結果等を音声出力することが可能(開発中)
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
③主な用途その1
1)標準語を、金沢弁(又は仲間うちの秘密の言葉になおす)またはその逆
・知識として交換しやすい形にする
2)自分の言葉で(メカニズムや理由を)説明できる「答え」を自動的に探す
3)しゃべる人格をプログラムする
・家族が話せる「おじいちゃん」や困ったときの「先生」を永遠に残す
・価値観(優先順位)、考え方(ルール)、愛や思い出(事実)を定義し残せる
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
③主な用途その2
4)教育 論理学自体、物理法則、社会のメカニズム、法律、哲学、等
5)データ抽出 オープンデータ/ビッグデータ等からの事象抽出、表記ゆれ整形
6)ゲーム制御 アドベンチャー、RPG、アクション、それらの世界観の結合
7)ロボット制御 人間的な価値観(優先順位)でより重大な危険を回避する制御の
実現等
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
③主な用途まとめ(⇒元祖PROLOGにできること+α)
1)自動証明 定理証明、要因やメカニズムの再起的推理と説明、主張理由づけ
2)解探索 (連立)言葉方程式の解探索、組合せによるアイディア・仮説・案の創出
3)診断・解決 医療・法律・人事・最適材料・故障等の診断/問題解決システム
4)データ抽出 オープンデータ/ビッグデータ等からの事象抽出、表記ゆれ整形
5)人格定義 人間的な価値観の定義と本格的な論理思考をもとに、
ネットからの質問に応答することが可能な疑似人格対話サービスの提供
6)教育 論理学自体、物理法則、社会のメカニズム、法律、哲学、生産管理等
7)ゲーム制御 アドベンチャー、RPG、アクション、それらの世界観の結合
8)ロボット制御 人間的な価値観(優先順位)でより重大な危険を回避する制御の実現等
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
④事実(=データ=日記や作文)
太郎は花子がめちゃ好き ⇔ 好き(太郎,花子).
中学$PROLOGは
日記に書いている
そのままの文章を
推論に取り入れることが
できます
従来PROLOGは
述語(主格,目的格)
などといった
格の集合と順番をそろえない
と使えない!!
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⑤ルールその1(文法)
$Aは$Bがめちゃ好き :- $Aは$Bに毎夜電話する;$Aと$Bは異性;
変数は$から始まり
文の中に埋め込んで使う
従来PROLOGは
,(コンマ)区切り
だけど、
中学$PROLOGは
;(セミコロン)区切り
従来どおりAND条件となる
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⑥ルールその2(言葉方程式としての意味)
$Aは$Bがめちゃ好き :- $Aは$Bに毎夜電話する;$Aと$Bは異性;
ヘッドが成立するためには
各条件の各変数に同じ値が
代入されて
全ての条件が成立しなければ
ならない(=連立言葉方程式)
($A,$B)=(太郎,花子)
(次郎,小百合)
・・・
解が複数の場合↑
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⑦手続的解釈
$Aは$Bがめちゃ好き :- $Aは$Bに毎夜電話する;print “$Aと$B”; $Aと$Bは異性;
推論の
途中経過を
プリントしたい場合
ここに、こういうふうに書くと、
異性じゃないのに
毎夜電話している
同性友達の組も含めて
表示されます。
※データの例は
諸般の事情で省略
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⑧NOT(~)
推論の
途中経過を
プリントしたい場合
ここに、こういうふうに書くと、
あえて異性でない
友達の組が
表示されます。
$Aは$Bがめちゃ好き :- $Aは$Bに毎夜電話する;~$Aと$Bは異性;
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⑨静的引用
社内で使用する論理プログラムのソースコードの例
===
///@http://hoge.jp/commonsense.jpl
///@C:社内共有顧客データ.jpl
///以下、自分だけが知る事実、ルール、価値観を記述する
太郎は花子に甘い
次郎は小百合の言うことを聞きやすい
<重要
安全
太郎との約束
法令
品質
納期
コスト
>重要
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⑩動的引用
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⑪比較
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⑫文脈と逆質問
質問の前に
前提条件を
教え込むことができ
ます(文脈)
一方
質問に答えるため
の情報を
AIのほうから要求
するように設計もで
きます(逆質問)
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
⑬定型応答
こんにちは::こんにちは、○○です。今日の四十万は${#天気(四十万)}です。
こんばんは::こんばんは、○○です。もうすぐ夜桜をたのしめますね。
話をきかせて::当社の新しい商品○○のPRをさせて頂きます。・・・。ご静聴あり
がとうございました。
メアド教えて::ご相談窓口のメールアドレスは jd_prolog@marusei-sk.com です。
ダウンロードURL::http://www.vector.co.jp/soft/dl/winnt/prog/se512641.html
※現在リリース中のバージョン1.32は対応していません。
※定型応答内の関数の記法は3.10の当初準備資料から改訂しました(#追加)。
まとめ
今後の課題 ・音声インターフェース(開発中)
・方言、スラング等の吸収規則ライブラリの整備
・英語、中国語等の外国語への対応(ローカライズ、普及)
中学$Prolog(人工知能)の使い方 2016.3.18 KITハッカソン準備資料
最後まで御覧頂き誠に有難うございました
現在、中学$Prologと論理プログラミングのさらなる発展と
世界的な普及をめざし、
皆様からのご意見やご要望、ご質問等をお待ち申しあげて
おります。
暖かいご支援を、どうぞ宜しくお願い申し上げます
ナレルシステム株式会社
責任者 中村圭介
TEL (+81)76-213-5211
FAX (+81)76-213-5239
MAIL jd_prolog@marusei-sk.com

中学$prolog(人工知能)の4月1日資料