竹形誠司 ブログ
談話室    »トピック一覧
掲示板へのスパムが多いため、「ご質問」のコーナーはユーザー登録制とさせていただきました。お手数ですが、上の「新規ユーザーの登録」メニューより登録をお願いします。
帳票Web
アプリケーション

受注開発始めました
詳しくは こちら
竹形 誠司 著/ラトルズ刊
JSP帳票アプリケーション実践開発入門
JSP帳票アプリケーション
実践開発入門

JSP業務アプリケーション短期開発入門
JSP業務アプリケーション
短期開発入門

Java+MySQL+Tomcatで始めるWebアプリケーション構築入門
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門

Java+MySQL+Tomcatで作る掲示板とブログ
Java+MySQL+Tomcatで作る
掲示板とブログ
知識ベース
by 竹形 誠司[takegata]
人工知能で知識を扱うための構造を「知識ベース」といいます。構造を作るのも大変ですが、そこに中身を入れるのはもっと大変で、英文ではWordNetなど、無償で配布されているものもありますが、日本語でこういったものは今の所まだ無いようです。EDRという有償のデータがありますが、とても個人の研究で買えるような値段ではありません。小出誠二さんという方がWordNetの日本語化について考えていらっしゃるようです。期待しましょう。

http://diary.jp.aol.com/pturkevv6vee/19.html

WordNetのように、基礎的な単語知識を扱うものではありませんが、知識ベース的な用途に使えるデータにウィキペディアがあります。各種テキストデータが一括でダウンロードできるようになっているので、ここからアブストラクト(概要)部分を抜き出してチャットボットに検索させるようにしてみました。こんな感じです。

user: Javaとは何ですか?
takezou2007: Java(ジャバ)は、狭義ではオブジェクト指向プログラミング言語Javaであり、広義ではプログラミング言語Javaのプログラムの実行環境および開発環境をいいます。

user: ビルゲイツって誰?
takezou2007: ウィリアム・ヘンリー・ゲイツ三世 KBE(William Henry GATES III、1955年10月28日 - )は、実業家でマイクロソフト社の共同創業者であるアメリカ人。称号はイギリス女王より名誉騎士(名誉大英勲章ナイト・コマンダー)、早稲田大学及び立教大学より名誉博士を贈られています。左利き。
Wikipediaの#REDIRECT機構を利用して表記ゆれを集約しているのがミソですが、それ以外は何も工夫していません。「だ」「である」を「です」「ます」に変換していますが、形態素も解析せずにやっているので、ちょっと、かなりいい加減です(JAI-Parser 改め Jay の復活、待ってます!)。知識ベースと呼ぶには超ナイーブですが、一応、意味のある受け答えができるようになったので、ここからどのように発展させていくか考えようと思っています。

チャットの会話文を解釈しようとすれば、当然、ウィキペディアの解説文を解釈できるぐらいのエンジンは必要になります。このような文から構造を持った知識を抽出できれば、チャットボットは一気に賢くなるはずです。「応答文の生成」という問題も、文書のサンプルを真似させるようにすれば、なんとなく上手くいきそうな気がしてるんですが、ま、そんなに甘くはないですよね。まだまだ先は長いです。

チャット・ボットのアドレスが変わりました。takezou2007@gmail.com です。チャットの受け入れ承認は自動的にするはずなので、Googleトークにアカウントを作って話しかけてみてください。

投稿:竹形 誠司[takegata]/2007年 04月 28日 02時 32分 /更新:2007年 04月 28日 03時 23分
Re:知識ベース
by KILROY[KILROY]
> EDRという有償のデータがありますが、とても個人の研究で買えるような値段ではありません。

 EDR (株式会社日本電子化辞書研究所。2002年3月31日に解散)のシソーラス、覚えてますよ。たしか 1994 年の三月に開かれた発表会(場所はたしか原宿かどっかの東京ガスかなんかの関連のホール)には行きました。会場には春遍雀来さん(ジャック・ハルペンさんといって、『新漢英辞典』の著者です。日本一輪車協会の会長さんでもあります)もいらっしゃいました。

 会場の質疑応答では、やはり値段のこと(というか、「どういう使い方をしたときにいくら払うか」)が議論になっていて、相当に生臭い話(「こういう使い方だったら払わなくていいのか?」みたいな抜け穴的な話)がされていて、 EDR 側からは「シソーラスを作るのにはかなりの労力と費用がかかるので、それも考慮に入れたうえで、営利目的で使用される場合はちゃんと対価を支払っていただきたい」みたいな説明(というか、お願い)がありました。基本的には「企業にお金を出してもらい、同時に運用で叩いてもらって“枯らした”結果を、シソーラスを作ってくれた研究者に対して(研究費および研究用の基盤データとして)還元する」という思惑があったようです。

 残念ながら、その後の経緯としては時期的にバブル崩壊とも重なったこともあってなかなかお金を払ってもらえず、シソーラスを維持する費用(というか、運用で叩いてシソーラスを実用的なものに“育てる”のにかかる費用)が捻出できずに結局尻すぼみ、みたいな話だったようです。バブル崩壊後の不景気もあって自然言語処理のような基礎寄りの開発案件がほとんどなかった点、その結果シソーラスを使うような知識ベース寄りの自然言語処理システムが商用ベースで動いていなかった点も影響していると思います。

 ただ、景気が回復しつつあることと、検索エンジンが普及したことで、学会などでは論文の自動インデクシングの需要があり、そのために独自に専門分野のシソーラスを作っている学会がいくつかあるようです(生化学学会とか)。

 なお、企業向けの使用料は一件・一辞書あたり百二十万円とかいう話ですが、研究者向けということであれば一件五万円(リリース当時はたしか十五万円)だったので、「大学等の研究機関との共同研究ということであれば、十五万円でいいのか?」みたいな質問が出て担当者が苦笑いしていた記憶が……
投稿:KILROY[KILROY]/2007年 04月 29日 00時 05分 /更新:2007年 04月 29日 09時 38分
Re:知識ベース(おまけ)
by KILROY[KILROY]
> たしか 1994 年の三月に開かれた発表会
 もとえ、 1995 年でした。地下鉄サリン事件のあった年です。

 1994 年にはたしか地名辞書の編集をやっていて、読みのチェックだけで延べ二十六日かかった覚えがあります。四十七都道府県で午前・午後に一都道府県づつ片付けたのですが、それぞれまる一日かかったのが北海道と京都。

 北海道は「××番」というのが無闇に多く(番外地もある)、読みの五十音順に並べると番号順に並ばないという悩ましい問題が生じました。

 京都の場合は、「××町寺町」「××町門前町」「××町東町」「××町西町」「××町北町」「××町南町」とバリエーションが多いために地名の数が多くなるのが原因でした。

 ようやくチェックを終えてリリースしたものの、その年のうちに会社が乗っ取られて製品は市場から消え、 1995 年に就職した会社では日本マイクロソフト社向けにリリースした地名データのために同じ作業をもう一度やる破目になったという……ちゃんちゃん。
投稿:KILROY[KILROY]/2007年 04月 29日 09時 24分 /更新:2007年 04月 29日 09時 28分
広汎性発達障害者向けの辞書
by KILROY[KILROY]
 ごく私的なものですが、一時期、「広汎性発達障害を持つお子さん」(以下、「広汎性発達障害」を「自閉症」、「広汎性発達障害を持つお子さん」を「自閉くん/自閉ちゃん」と表記します)のお母さん向けに辞書を作ったことがあります。

 自閉くんの中には、「転ばぬ先の杖」というのは「転ぶ前に杖」ではないのかとか、「舌切り雀」「瘤取り爺さん」というのはそれぞれ「舌切られ雀」「瘤取られ爺さん」ではないのかとか、そういう疑問を持つ子がいたりするのだな。そういうときにお母さんが自閉くんにちゃんとした説明ができるように、という意図で辞書を作っていたわけです。で、これがまんま「知識ベースの構築」でした。

 「前」というと「自分が進む向き」のことであって「前方参照」といえば「まだ読んでいない(=これから読む部分)」を参照すること(反対語は「後方参照」)ですが、「食べる前」というと「食べる」という行為の前、すなわち「食べる以前」のことであって、「食べ終わった後」ではありません。
 「右」「左」というのも、商店のカウンターのように向かい合った場合では、「カウンターの右」というのは「カウンターの中にいる人から見て右」ではなくて「自分から見て右」、すなわち「向かって右」です。

 ところが自閉症の中心症状は“他者”概念の発達の遅れですから、「自分(話者)」「他者(相手)」という概念がいまひとつ掴めないわけで、結果として前後左右の概念が混乱してしまうわけです。また、「こっち」「そっち」「あっち」も「話し手側」「聞き手側」「話し手と聞き手の双方から遠い側」だということを踏まえて説明しなければなりません。

 あるいは「恥ずかしい」というのは「私をして“恥ずかしい”と感じせしめる」の意味だったりします。ですから、「彼は恥ずかしい奴だ」というのは「彼は恥ずかしいと感じている奴だ」という意味ではありません。

 知識ベースを作る場合には、これと同様に「自分が分っていることをどう言語化するか」という困難が待ち受けています。

 ついでながら、「一応」というのは、「身分としては××でありながら、××の本分である○○をサボッている」という意味です。ですから、「一応、学生です」というのは「身分としては学生でありながら、学生の本分である勉学をサボッています」という表明だったりします。また、「責任」というのは「義務と権利の関係」であって、「権利の行使して義務を果たさない」、すなわち「やらずぶったくり」のことを「無責任」といいます。

 ……知識ベース作りっていうのは人生勉強になるなぁ(^_^!)。
投稿:KILROY[KILROY]/2007年 04月 29日 09時 46分 /更新:2007年 04月 29日 10時 15分