- new HELIC-IIとは何ですか? 何と読むのですか?
- 「法的推論」とは どのようなものですか?
- new HELIC-II で何ができるのですか?
- どんな問題が解けるか、もう少し具体的に教えて下さい。
- new HELIC-II は法律エキスパートシステムなのですか?
- new HELIC-II はどのようなものからなっていますか。
- new HELIC-II は 前の HELIC-II とどう違いますか?
- new HELIC-II は法律以外の用途に使えますか?
- new HELIC-II は どうすれば使えますか?
- 今後の予定は?
A1: 裁判官や弁護士が、法律を実事件に適用するときに行う推論を「法的推論」と言い
ます。法的推論をコンピュータ上で実現し、専門家の思考過程を分析するための
道具としてまとめたものが new HELIC-II です。
new HELIC-II は「ニユー ヘリックツー」と読んで下さい。「ヘ理屈生成」を持つ
システムなのでこのような名前をつけました。
A2: ある事件に法律を適用したいとします。ところが、法令文は、抽象
的に書いてあるので、その事件に適用できるかどうかが曖昧です。例えば、
「正当防衛で行った行為は罰しない」
という法令文があったとしても、どのような場合に正当防衛になるかどうかの
基準がありません。そこで、法令文の解釈を行って、「正当防衛」の意味を明確
にしてから事件に適用しなくてはなりません。このように、ルールの解釈を伴う
のが法的推論の特徴です。
ルールの解釈は、社会感情や、慣習や、政策などの影響を受け、しかも、異なる
価値観の中で、どのような解釈が妥当なものかを判断しなければなりません。
従って、法的推論を実現することは見かけ以上に大変なことです。解釈によって、
結論が変わってしまうからです。しかし、判例を使うと、解釈が容易になります。
それは、「状況が似た事件は、同じような解釈がされ、同じような結論となる」
ことが経験的に認められるからです。
また、解釈の生成や選択の他に、弁護士や検察官は法廷で相手と論争をしなけれ
ばなりません。そのため、相手の理由づけ(論証)に反論するための論争戦略も法
的推論の構成要素となります。
A3: 法令文と判例を利用した論証生成、ある価値観に基づく論証選択、論争のシミュレー
ションなどができます。
new HELIC-IIには、論証生成や論証選択を提供するプログラム(DRS)と論争を提供する
プログラム(CUI、GUI)があります。
GUIはグラフィクユーザインタフェスをつかい快適な操作性を提供していますが、
motifが必要であり、大きなメモリやディスクを必要とします。
一方、CUIはグラフィクユーザインタフェスを使わず、キーボードのみの入力
で操作性はGUIに比べると劣っていますが、GUIにくらべて小さなメモリやディスク容量
で済みます。
以下は、使い方の一例です。
裁判官モードの使い方(DRS)
入力:
解きたい事件の概要
ユーザの価値観(例えば、「未成年者の保護を重視する」)
質問(例えば、「その基準のもとで、窃盗罪が成り立ちますか」)
出力:
その結論を正当化する論証
その論証に反論がある場合、どちらが強いかという情報
検察官・弁護士モードの使い方(CUI、GUI)
入力:
解きたい事件の概要
検察側の価値観(例えば、「社会秩序を重視する」)
弁護側の価値観(例えば、「未成年者の保護を重視する」)
質問(例えば、「その価値観のもとで、窃盗罪が成り立ちますか」)
出力:
その結論に関する双方の論争
(原告や被告の一方、または、両方をコンピュータや人間が担当ることができます。)
A4: 以下の刑法例題(昭和63年司法試験、刑法)で説明します。
甲は乙を痛めつけてやろうと、道端で待ち伏せをし、殴りかかった。
乙は、殴られたとき、ころんで失神してしまった。予想外の展開に、
甲は乙が死んでしまったと誤解した。
そこで、強盗の犯行に見せかけるため、乙のハンドバッグを盗んで
河に捨てた。
甲は、何罪になるか。
この問題には、以下の争点があって、これは刑法の法令文だけでは解くことができ
ません。
争点:殴った行為は、暴行罪か、傷害罪か?
(失神は傷害になるのか?)
争点:ハンドバッグを持ち去ったのは、強盗罪か、窃盗罪か、横領罪か?
( 強盗の故意があったことを認定できるか?
使うつもりがなくても窃盗になるか?
死者のハンドバッグは持ち主がないと認定できるか? )
そこで、過去の類似判例を引用しないと、論証(証明)を行うことになります。
これが「論証生成機能」です。
ところが、論証を生成しただけでは、答が何種類も出来てしまって、どれが正しい
のかわかりません。例えば、「暴行罪である」という論証も、「傷害罪である」と
いう論証も作り出すことができるのです。
そこで、価値判断を行って、どの論証が適切なのかを決めなければなりません。
これが「論証選択機能」です。
「論証生成機能」と「論証選択機能」があれば、裁判官の機能をシミュレートする
ことができます。しかし、検察官や弁護士の機能は、これだけでは足りません。
法廷で、検察官や弁護士は、自分の論証を通そうとして、論争を行います。これは、
相互に相手の論証に反論を行うことによって、なされます。これを「論争機能」と
いいます。
new HELIC-IIは、「論証生成機能」「論証選択機能」「論争機能」の3つを備えて
います。
A5: 違います。
今のところ、刑法の条文、判例、価値観、概念辞書、などを搭載して、刑法の試
験問題を解く評価実験をしています。しかし、現在の知識ベースは、刑法のエキス
パートシステムとしては不十分です。
われわれは、エキスパートシステム自体を作成するのではなく、その開発に必要な
知識表現や推論の仕組みを整えることと、その仕組みを使って法律家の推論の仕組
みを解析すること、を目標にしているため、法律エキスパートシステムを開発する
ことは考えていません。
当面のユーザとしては、
法学部の学生さんが、法解釈の勉強に使う。
(1つの法令文についてどのような解釈の対立があるかを調べる。)
法学部の先生が、法律知識の分析に使う。
(1つの法令文の解釈を厳密に表現したり、1つの判例に どのような
判断基準が関係しているかを記述したりした後で、その知識の検証
を行う。)
情報系の研究者が、高次推論の研究に使う。
(類推や非単調推論の実験に用いる。)
などを想定しています。
A6: new HELIC-IIとしてDRS(論証生成機能、論証選択機能を提供)、
CUI(論争機能を提供)、GUI(論争機能を提供)のプログラムが提供されています。
また、それぞれのプログラムには以下の知識ベースやマニュアルがあります。
知識ベース
刑法概念辞書 … 刑法に関する用語の辞書
刑法条文のルールベース … 刑法条文のルール
刑法判例のルールベース … 刑法総論、生命身体に関する罪、財産に関する罪、
に関する判例のルール
刑法の価値観データ … 価値判断をするための価値観のリスト
刑法の試験問題 … 事例問題の事実データ
マニュアル
括弧内は対応するファイルの名前です。
導入マニュアル(README(.j)) … プログラムの概要、動作環境など
インストール・マニュアル(INSTALL(.j)) … 自分のコンピュータにnew HELIC-II を
インストールするための説明
言語マニュアル(man/language(.j)) … 法令文や判例の書き方の説明
トランスレータ・マニュアル(man/translater(.j)) … 記述した知識をプログラムに取り込む
ための説明。DRSは操作マニュアルに書いてあります。
操作マニュアル(man/operation(.j)) … プログラムの操作方法に関する説明
A7: 前の HELIC-II (FGCS92で発表したもの)は、法令文を利用するルールベースエン
ジンと、判例を利用する事例ベースエンジンからなるハイブリッドシステムでした。
new HELIC-IIシステムは、これらの論証生成機能に加えて、新しく論証選択機能と
論争機能を加えたものです。
理論的にもルールベースと事例ベースを統合させて、すっきりさせました。
また、前の HELIC-II は 論理型言語 KL1 で書かれており、並列推論マシン PIM
の上でしか走らないものでした。new HELIC-II は KLIC で書かれており、UNIXや
DOS/Vの環境で動作します。
A8: はい。
搭載する知識を書き換えれば、法律以外の用途にも使うことができます。通常のルー
ルベース推論の機能だけでなく、
ルールだけで解けないときに事例を参照する。
互いに矛盾する解が存在するときには、優先順位をつける。
などの機能を持ちますから、応用範囲は広いのではないかと期待しています。
A9: new HELIC-II はICOTフリーソフト(IFS)の No.100 として登録されています。
どなたでも自由にコピーして、使うことができます。ただし、使用した結果、生じ
た損害などについては責任は負えません。
準備には、以下のものが必要です。
マシン: Unix の環境。
メモリは20MB以上、ディスクは40MB以上。
DOS/Vの環境でも、限定的に実行可能。
ソフト: KLIC (これもICOT Free Softです)。
日本語などの2byteキャラクタを使えるnew HELIC-IIをインストールするには
以下のgccのライブラリかヘッダファイルのどちらかが必要です。
ライブラリ(libfl.a)
ヘッダファイル(euc.h)
GUIを使う場合はこの他にmotifが必要。
まず、匿名FTPでicot.or.jpに入り、カレント・ディレクトリを
"/ifs/exper-apps/klic/helic2"にします。
次にhelic2の下にあるREADME(.j)をとってきて(binaryモードで)読んでください。
ここには、new HELIC-IIの概要や動作環境などがかいてあります。
次に自分の欲しいプログラム(DRSまたはCUIまたはGUI)のディレクトリ(drsまたは
cuiまたはgui)に入り、
ファイル名*.tgzをもってきて(binaryモードで)解凍してください。
解凍する(gtar xvzf *.tgz)と、その中にプログラムのインストール・マニュアル(INSTALL(.j))
がありますので、
それに従って、あなたのコンピュータにインストールします。
次に操作マニュアル(man/operation(.j))に従って、プログラムを立ちあげ、
「刑法の知識ベース」に関するファ
イルを読み込むと、用意された刑法の事例問題を解くことが出来ます。刑法の総論
の主要な条文、刑法各論のうちの殺人、傷害、暴行、過失致死、遺棄、強盗、窃盗、
横領、器物損壊、に関する条文、これらに関する常識ルール、学説、判例、などの
例が記述されているので、用意された事例問題以外に、あなたの用意した事例問題
も解いてみて下さい。
あなたとシステムが、検察と被告に分かれ、法廷での論争ゲームを体験してみてく
ださい。
これに飽きたら、自分で知識ベースを作ってみましょう。「new HELIC-II言語マニュアル」
(man/language(.j))に従っ
て、知識を概念、ルール、価値観、などに分けて記述し、ファイルに格納します。
もう一度、プログラムを立ちあげて、このファイルを読み込めば、あ
なたの応用システムが動きます。
A10: ICOTの研究グループは1995年3月に解散しましたが、研究自体は電子技術総合研究所におい
て継続され、システムの改良と拡張がなされる予定です。
システムに関する質問や相談は
ifs@icot.or.jp
にて受け付ています。
- new HELIC-II には どのような知識処理技術が使われているのですか?
- 汎化と類似判断についてもう少し説明して下さい。
- defeasible reasoning とは何ですか?
- ここで使われている法律知識記述言語の特徴は何ですか?
- new HELIC-IIの論争とは、何を争点とするのですか?
- defeasible reasoning の仕組みがあれば、ある論証が論
破されるかどうかを決定できるのだから、論争機能などは不要ではありません
か?
- 双方の価値観が異なるのだったら、双方が言いっぱなしで、論理が噛み合わないの
ではありませんか?
- 法律記述言語としてこれで十分なのですか?
- 原告と被告が異なる価値観を持つ、というのはわかるの
ですが、原告と被告が異なる概念階層を持つ、ということも考慮するべきでは
ありませんか?
- 論争戦略にはどんなものがありますか?
- 論争のモデルとしては、これで十分なのですか?
A1 : (a)「法令文を用いた推論」には、演繹推論が使われています。
(b)「法令文の解釈」「判例を用いた推論」には、ルールの汎化と類似判断が使わ
れています。
これは、類推の研究に使われる技術です。
(c)「論証の選択」には、非単調推論の一種である defeasible reasoning が使われて
います。これは、ルールの優先順位を利用して、論証間の強さを決定するもの
です。
これらの3つの機能が、法的推論用の言語としてまとめられています。
(d)「論争戦略」には、2つの論証のうちで一方の論証を他方より強くするための
ルールの優先関係を生成する 仮説生成が行われます。また、論争戦略全体は、
メタルールとして記述されています。
A2:例えば、
馬は通るべからず
というルールの条件部を
家畜は通るべからず
とか
動物は通るべからず
のように、一般的なものに置き換えていく操作です。法令文の拡張解釈や類推解釈
に、このような汎化が使われます。
また、
太郎は、息子の次郎を殴って負傷させた。医者の誤診で、次郎は死んだ。
と
花子は、娘の桂子を叩いて骨折させた。桂子は医者へ行く途中で事故で死んだ。
の2つのケースが似ているかどうかを判定するときに、両者の事例を一般化してい
くと
ある人が、自分の子供に暴行し、傷害を負わせた。子供は、正当な医療
行為を受けることなく、予想外の事件で死亡した。
という点で一致します。どこまで一般化すれば両者が一致するかで、両者の類似度
が計算できます。一般化の過程で、片方にしかない事実は無視されてしまうかもし
れません。
このように汎化は、解釈生成や類似判定に使うことができますが、汎化を制御する
ためのメカニズムが必要になります。
A3: 非単調推論(推論された結果が、後でくつがえる可能性のある推論方式)の1つで
す。
われわれが採用しているのは「ルールの優先順位に基づくdefeasible reasoning」
です。これは、主論証と反論があるときに、両方で使われているルールの優先関係
を比較し、例えば、反論で使われているルールの方が主論証のルールより強ければ、
反論が主論証を論破したと判断するものです。
ある論証に対して反論があって、反論の方が強くても、その反論に対して、さらに
再反論が存在して、反論自体が論破されてしまうかもしれません。従って、ある論
証が生き残るかどうかは、反論、再反論、再再反論、。。。などをすべて、チェッ
クしないと決定できません。
A4: 裁判官モード(論証生成+論証選択)をサポートす
る言語です。
型つき論理型言語
ルールの汎化機能
類似判断機能
defeasible reasoning
という特徴があります。法律知識を(1)型の階層、(2)ルール、(3)ルールの優先関
係、に分けて記述しておきます。
「〜という価値観のもとで、〜が成立しますか」という質問を入力すると、価値観
は、ルールの優先関係に還元され、論証を生成した後で、その価値観のもとで反論
との強弱関係を判定します。
例えば、
「太郎と花子は山田家の人間である」「次郎は人である」。。。
などの知識は、
太郎 < 山田家, 花子 < 山田家, 山田家 < 人,
次郎 < 人, 三郎 < 人,
のようにオブジェクト型の包摂関係と
殴る < 対人行為をする
のようにイベント型の階層関係と
飛ぶ性質がある < 移動する性質がある
のように属性型の階層関係として記述しておきます。これが概念辞書です。シス
テムで使われる概念は、あらかじめ辞書に登録しておかなくてはなりません。
次に、 「人に暴行したら暴行罪である」「人を殴る行為は暴行である」という
ような法令文や常識的知識は
r1::暴行罪(agent=X)
<- 対人行為をする(agent=X/人, object=Y/人)|@action,
暴行行為である(a_object= @action).
r2::暴行行為である(a_object= @act)
<- 殴る(agent=X/人, object=Y/人)|@act,
different(X,Y).
のようにルールで記述し、「太郎が次郎を殴った」「花子は次郎を蹴った」とい
う事実は
f1::殴る(agent=太郎, object=次郎).
f2::蹴る(agent=花子, object=次郎).
と記述します。
このとき、「太郎は暴行罪ですか」という質問を
暴行罪(agent=太郎).
のようにすると、「YES」 という答が以下の論証とともに返ります。
{ 暴行罪(agent=太郎) <- 殴る(agent=太郎, object=次郎),
暴行行為である(a_object=
殴る(agent=太郎, object=次郎)).
暴行行為である(a_object=殴る(agent=太郎, object=次郎))
<- 殴る(agent=太郎, object=次郎),
different(太郎, 次郎).
殴る(agent=太郎, object=次郎). }
また、r2 について汎化機能を使うと、r2は、例えば、
r2'::暴行行為である(a_object= @act)
<- 痛めつける(agent=X/人, object=Y/人)|@act,
different(X,Y).
のような事実に抽象化されますので、「花子は暴行罪ですか?」という質問を
?- 暴行罪(agent=花子)
のようにすると、答えは「YES」となります。
次に、r1 と r2 に加えて、「14歳未満の人が暴行しても暴行罪にはならない」
というルール r3 と 「10歳の花子は次郎を殴った」という事実 f3 を考えて
みます。ルール r3 の「-暴行罪」のようにマイナス記号があるものは、否定を
表していると思って下さい。
r1::暴行罪(agent=X)
<- 対人行為をする(agent=X/人, object=Y/人)|@action,
暴行行為である(a_object= @action).
r2::暴行行為である(a_object= @act)
<- 殴る(agent=X/人, object=Y/人)|@act,
different(X,Y).
r3:: -暴行罪(agent=X)
<- 対人行為をする(agent=X/人[age=>[0..13],
object=Y/人)|@action,
暴行行為である(a_object= @action).
f3::殴る(agent=花子[age=>10], object=次郎).
このとき、「花子は暴行罪ですか」という質問をしても、「花子は暴行罪ではあ
りませんか」という質問をしても形式的には、どちらも「YES」となり、それぞ
れ論証が生成されます。
?- 暴行罪(agent=花子[age=>10]).
YES
?- -暴行罪(agent=花子[age=>10]).
YES
ここで、判断基準に関する知識として、「未成年者の保護ルールは主ルールより
優先する」という判断基準を
未成年者保護= { r3 > r1 }.
のように記述します。ここで、「未成年者保護の基準を使う」ということをシス
テムに入力して、同じ質問をしてみると、結論はいずれも「YES」ですが、「花
子は暴行罪になる」という論証には、「自分より強い反論がある」という情報が
追加されて出力されます。
また、常に r1 が r3 より優先度が低いのであれば、r1を
r1::暴行罪(agent=X)
<- 対人行為をする(agent=X/人, object=Y/人)|@action,
暴行行為である(a_object= @action),
not -暴行罪(agent=X).
と書いておくと、以下の質問に対して、答えは「NO」となります。
?- 暴行罪(agent=花子[age=>10]).
刑法の知識ベース例では判断基準が以下のように複数ありますから、
罪刑法定主義、犯罪要件のバランス、結果重視、行為重視、
法の機能性重視、行動の自由の保証、最高裁の判例重視、
新しい法律重視、。。。。
これらの全部または一部の間の優先順位を
価値観1 = { 罪刑法定主義 < 犯罪要件のバランス < 行為重視 }
価値観2 = { 法の機能性重視 < 犯罪要件のバランス< 結果重視 }
のように定義して あらかじめ 登録しておきます。実行時に、使用する優先順位
を指定して、質問を与えると、この優先順位を用いて defeasible reasoning が
行われます。
A5: 「ある条文の解釈がAとBの2種類あるとき、どちらが適切か」と「ある事実の認定
が不完全でAとも -A ともとれるが、どちらが信用できるか」の2種類が対象です。
ただし、後者については、非常に限定された場合にだけ争点にすることができます。
論争機能を、前に紹介した刑法例題を使って詳しく説明しましょう。
甲は乙を痛めつけてやろうと、道端で待ち伏せをし、殴りかかった。
乙は、殴られたとき、ころんで失神してしまった。予想外の展開に、
甲は乙が死んでしまったと誤解した。そこで、強盗の犯行に見せかけるため、
乙のハンドバッグを盗んで、しばらくしてから河に捨てた。
甲は、何罪になるか。
例えば、「ハンドバッグを持ち去った行為は窃盗になるか」を考察すると、
解釈A: 他人の物を持ち去ったら窃盗になる(持ち去る意図=窃盗の故意)。
解釈B: 他人の物を持ち去っただけでなく、自分の物であると他人を欺く意図がない
と窃盗にならない
(持ち去る意図+不正入手の意図=窃盗の故意、
不正入手の意図=欺く意図)。
解釈C: 他人の物を持ち去っただけでなく、自分で使う意図がないと窃盗にならない
(持ち去る意図+不正入手の意図=窃盗の故意、
不正入手の意図=使用する意図)。
という学説や判例が対立しています。解釈Aを採用すれば、この例題は窃盗罪に
なり、 解釈BやCを採用すると、窃盗になるかどうかは微妙です。
解釈A は「窃盗に関する法令文に忠実な解釈」であり、解釈BやCは「窃盗と器物損
壊などとのバランスを考慮した解釈」であります。また、解釈Bは「所有権を重視し
た解釈」であり、解釈Cは「占有権を重視した解釈」であります。解釈Bでは、「自
転車の無断使用は窃盗になりません」が、解釈Cでは「窃盗になります」。従って、
「社会感情」では解釈Cが支持されることが多いと思われます。 このように個々の解
釈には、 背景として「何を重視するか」という価値観が反映されています。
想定される論争の1つの展開は以下のようになります。
検察: 「窃盗である」という論証を解釈Aを引用して生成します。
弁護: その論証中に現れる「窃盗の故意が成立する」という中間結果を争
点に選びます。
「窃盗の故意が成立しない」という論証(反論)を解釈Bを引用して
生成します。
この反論の方が有効であることを主張するため、「窃盗と器物損壊
とのバランスをとる方が、窃盗に関する法令文に忠実であることよ
り重要である」ことを主張します。
検察: この反論には「不正入手の意図がなかった」という中間結果がある
ので、それを争点に選びます。「不正入手の意図があった」という
論証(再反論)を解釈Cを使って、「ハンドバッグを捨てるまでに時
間がかかったのは、自分で使う意図があった」というように生成し
ます。
解釈Bより解釈Cが有効であることを主張するため、「社会感情が重
要である」ことを主張します。
。。。。。
このようにnew HELIC-IIの論争は、双方が論争手段を交互に繰り返すことで進行し
ます。論争手段としては、以下の6種類があります。
makeGoal ユーザに指定された争点の論証を生成する。
pose 現在の論証を相手に提示する。
justify 自分の論証が相手より強くなるように、判断基準を提示する。
notice 自分の論証が相手より強いと主張する。
cancel 自分の論証を棄却する(この争点については負けを認める)。
finish 相手の論証に対して反論しないことを通知する。
A6: defeasible reasoning の前提条件は、
ルールの優先順位が固定していること、
反論、再反論、再再反論、。。。などがすべて計算できること
の2つが成り立っていることです。これは、裁判官のモデルとしては妥当な前提で
すが、現実の裁判では、
原告と被告の価値観が違う(従ってルールの優先関係が2種類ある)、
論争の最中に価値観が変動する、
従って、反論、再反論、。。。などを計算しても意味がない、
原告と被告が争う意思のないことは争点にならない、
などがあるので、検察官や弁護士のモデルにはなりません。
そのため、論争機能を追加し、論争機能が defeasible reasoning を限定した使い
方で制御することにしました。われわれの論争での前提は、
2種類の価値観(原告と被告)を利用する、
価値観は論争途中で変動する、
反論はチェックするが、再反論や再再反論、。。。はチェックしない、
というものです。
A7 : 全く価値観が噛み合わなかったら、いろいろな争点で、双方の意見が対立し、未
決着のまま、争点を替えていくことになります。その場合には、裁判官が(自分の
価値観で)どちらがもっともらしいかを判断することになります。
現実には、かなりの部分では、
双方のルールの順位は一致するはずです。
A8 : 時間情報の記述、義務や権利情報の記述、信念の記述、などには不十分です。
これらの情報の記述は、法律のみならず、一般的な知識表現言語の課題と言えます。
また、価値観の表現を単にルールの優先関係に置き換えるだけで良いかという問題
や、ルールの汎化と類似判断の関係の分析や、価値観がルールの汎化に与える影響
や、ルールを汎化した場合のルールの優先関係の変化の問題、など多くの課題が残
されています。
また、現在の defeasible reasoning の定義では、比較できる論証のタイプが限ら
れてしまうという問題があります。
われわれは、ひとまず、価値判断や論争などの仕組を一通り統合したツールを開発
することを目標にしました。それぞれの部分モジュールが改良されたら順次置き換
えていく予定です。
A9 : はい、現在のnew HELIC-IIでは、原告と被告で異なる概念階層やルールベースを持たせる
ことは可能です。
A10: まず、基本機能を列挙します。
論証生成:自分のゴールを達成するための論証を生成する。
それについての反論を生成する。
論証選択:ルールの優先関係を使って、主論証と反論の強さを決定する。
優先関係の生成:主論証が反論より強くなるためには、どのようなルールの
優先関係が必要かを求める。
争点の選択:相手の論証から争点となるものを抽出し、1つをサブゴールと
して選択する。
初めに、検察側に初期ゴールを入力すると、検察側が論証を生成し、予想される
反論より、その論証が強くなるようにルールの優先関係を補強して、被告側に
渡します。被告側は、争点を検出し、1つを選んで反論を生成し、主論証より
反論の方が強くなるように、ルールの優先関係を補強して検察側に渡します。
検察側か弁護側が有効なルールの補強ができないときは、その争点に関しては
どちらが勝ちか決着がつきます。ともに有効な補強ができたときには、その争
点については、決着を保留して、争点を替えていきます。
A11 : まだ、考えられる論争の原因をすべて網羅しているわけではありません。現在の
機能は、最も基本的なものを備えた段階です。
例えば、「相手の引用した判例が、この事件と類似していない」という主張がで
きません。現在の仕組みでは、「この判例が似ている」という評価ができても、
「この判例が似ていない」という評価機構がないからです。
また、現在の仕組みでは、ルールはあらかじめルールベースに存在していなくて
はなりません(汎化されて生成されるルールは例外です)。しかし、現実には、
論争途中で「あなたのルールは間違っている。こんな解釈もあるではないか」と
言って、新たなルールを入力する機能も欲しいところです。
さらに、「こんな事実があれば、自分の希望どおりの結論になったはず」という
ような、仮定の事実を生成する機能もほしいところです。(単純な abductionで
は仮説が山のように生成されてしまうので、何らかの制御機構が必要)
- new HELIC-II で用いられている法律知識にはどのようなものがありますか?
- 法令文の解釈はどのように行われますか?
- 価値判断はどのように行われますか?
- 現在の刑法の知識はどのくらい記述されていますか? それで実用になりますか?
- 専門家の評価を受けたことはありますか?
- いわゆるリーガルマインドとの関係は何ですか?
- 価値観について、もう少し詳しく教えて下さい。
- 自分の価値観を記述しきれるものですか?
- 刑法と民法は同じ推論の仕組みで良いのですか?
- 法的推論においては、「意欲」という要素も考慮しなく
てはならないのでは?
- 法的推論においては、価値判断が重要であるとのことで
すが、論証選択と価値判断との関係は?
A1: 以下の5種類です。
概念辞書: 「人」「法人」「自動車」「権利」などの名詞的概念、
「殴る」売る」「死ぬ」などの動詞的概念、
「生きている」「所有している」などの形容詞的概念など
システムで使う概念は辞書に登録しておかなければならない。
法令文: 法律の条文をルールとして記述したものです。
判例: 判例から抽出した論理をルールとして記述したものです。
常識: 「物を売ったら、所有権が移転する」というような常識をルールとして
記述したものです。
価値観: 「一般法は特別法に優先する」「最高裁の判例は、高裁の判例に優
先する」「犯罪要件の判断には、結果よりも行為を重視すべきである」
などの様々な判断基準と、各ルールと判断基準の関係の定義からなり
ます。
A2: 1つは、ルールの汎化機能を使って法令文を抽象化します。これは、拡張解釈や類
推解釈によるルール生成に相当します。もう1つは、類似判例の引用によるルール
生成です。
A3: 価値観のデータは、ルールの優先関係に展開され、それが defeasible reasoning
で用いられます。従って、1つの論証とそれに対する反論が与えられたとき、双方
に用いられたルールの優先関係を比較し、いずれの論証が強いかを決めますが、そ
のプロセスが価値判断に対応すると考えています。
A4: 刑法概念辞書は、約500概念からなっています。刑法の法令文は、刑法総論のう
ちの「犯罪の不成立」「観念的競合」と、各論のうちの「暴行罪」、「傷害罪」、
「殺人罪」、「遺棄罪」、「強盗罪」、「窃盗罪」、「横領罪」などの法令文をルー
ル化してあります。また、これらの条文に関係する判例データが約80あります。
これでは、とても足りないので、法律の専門家の方にお願いして、データを増やし
ているところです。3月までに、約150の判例と刑法各論のほぼ全条文からなる
知識ベースを作ろうとしています。
いろいろな問題を解くには判例数が不足しています。しかし、これだけで実用かど
うかを判断する以前に、誰が使うか、ニーズがあるか、が問題です。専門家が刑法
の解釈を今さら問題にすることはないと思いますし、刑法においては、法解釈より
も事実認定の方が重要な意味を持っています。むしろ対象は、法学部の学生さんへ
の法学教育と、法学部の先生方の法律理論の整理と検証だと思っています。その意
味では、条文や判例のデータを増やして、解ける問題の数を増やすことも重要です
が、それよりも、重要な条文や判例のルールの品質を高くすることも重要です。
ただし、法律の専門家の方が、刑法、民法、商法、税法などの知識を搭載していた
だければ、実用的なものができるかもしれません。現在のわれわれの刑法データは
記述例の提示にすぎませんが、今後、法律の先生との共同研究ができればと思って
います。
また、このシステムは、情報処理の研究者からは、類推や事例ベース推論の研究の
ツールとして使っていただくことを期待しています。
A5: 旧 HELIC-IIシステムは弁護士の方、裁判官の方、法学部の先生、などに見ていた
だきました。その評価は、
専門家の思考モデルとしては、価値判断ができないから不十分。
判例の類似検索の機能はニーズもあり今後が期待できる。
推論機能をコンピュータが持つ必要はない。
証拠採用の判断機能が欲しい。
などでした。new HELIC-IIは、最初の点については、かなり改善されたと思います。
新システムも、一応、専門家の方に見ていただきましたが、
出力が見にくい。論証の木を見ても、その意味がわからない。
というのが今のところの最大の問題となっています。今後、いろいろなご意見を
専門家の方からいただけるものと期待しています。
A6: リーガルマインドが、「全く新しいタイプの法律事件に遭遇したとき、適切な価値
判断を行い、万人が納得できる理由をつけて結論を出す能力」であるとします。
new HELIC-II は論証生成と論証選択の機能がありますから、リーガルマインドを
実現するための機能を一部有しています。しかし、過去の類似判例が見つからない
ときに、新しい理由つけを生成することは ほとんどできません。
A7: 法律学においては、「まずルールありき」ではありません。法が守るべき、いくつ
かの判断基準があって、それを実現するためにルールがあります。判断基準の代表
的なものは
人は平等に扱われなければならない。
新しい法は古い法より優先する。
公共の福祉は保護されなければならない。
責任のないことは処罰されない。
。。。。
などです。これらは、欧米では、法格言や法的トポスなどの形で呼ばれ、約200
程度が文献にまとめられているようです。
われわれの扱っている刑法でも、
罪刑法定主義 (ルールにないことは、自由に活動して良い)
刑法全体の体系性の維持 (犯罪間のバランスをとる)
行為無価値 (おきた結果よりも、行為そのものを着目すべき)
。。。
などの基準があります。しかし、これらには、互いに矛盾することがあり、矛盾が
生じたときに、どれに重きをおいて解決するかが問題です。これには、人それぞれ
の価値観が影響します。しかし、全くそれを自由にしてしまうと裁判官の個人的な
感情で裁判が進行してしまいます。そこで、なるべく客観的に判断基準を整理しよ
うとする昔からの法哲学の試みがあるようですが、なかなか困難なようです。
new HELIC-IIでは、
判断基準をルールの優先関係で定義する、
価値観を判断基準の優先順位で定義する、
という方法で、価値観を記述することにしています。
A8: 今のところ、価値観の記述に必要な判断基準の数が多くないのですが、それでもそ
れらの順序付けには苦労します。記述はむずかしいと思います。
しかし、価値観データが不十分であっても、論争の過程で価値観が次第に補充され
ていきますから、それほど心配ありません。論争が終った段階で、「自分の価値観
がこのようなものであったか」と再認識する可能性もあります。
A9: 刑法には罪刑法定主義があるため、類推解釈が制限されています。また、刑法の方
が民法に比べて、体系バランスが重視されます。その意味で、違いがありますが、
いずれも new HELIC-II の仕組みでシミュレートできると思います。
両者の相違は、推論の仕組みではなく、類似度の制御パラメータと知識の書き方で
吸収できるからです。
A10: 現在のところ、論証機能における推論の方向が
事件とゴールの入力
--> そのゴールを達成する論証の生成 + 反論の生成
--> 論証の選択
となっています。
ここでは、「意欲」は最初のゴールを入力する時点で、ゴールに反映されていると
考えていますが、今後の検討が必要です。
Q11: 法的推論においては、価値判断が重要であるとのことですが、論証選択と価値判断との関係は?<
/h2>
A11: 論証選択は価値判断の1つですが、そのすべてではありません。
法律の価値判断には、
与えられた論証(結論)の中から妥当なものを1つを選択する。
与えられた事件の中から重要な事実を発見し、妥当な結論を求める。
などがあって、価値判断と論証生成が複雑に情報を交換しながら問題を解決して
います。new HELIC-II の現在の機能は、最も、典型的な場合のみを実現したも
のです。
- 世界の他の法的推論の研究に比べた位置付けは?
- 法的推論に興味を持ったのでもっと勉強したいのですが、
何を調べれば良いですか?
A1: AI and Law というコミュニティにおいて、いろいろな法的推論システムの研究
がなされています。
法令文と判例による論証生成は、Branting (USA), Rissland(USA),
判例による論争は、Rissland(USA), Ashley (USA),
ルールによる論争は、Gordon (Germany), Loui(USA),
defeasible reasoning は、Prakken(Netherland), Sartor (Italy)
らが研究しています。new HELIC-IIは Branting, Loui, Prakken, Sartor らの
研究成果を拡張し、統合して、1つのシステムにまとめたものです。
1つにまとめることによって、裁判官や検察官や弁護士の推論過程を総合的に
解析することができます。例えば、論争が進展すると、争点が変わり、注目すべ
き事実や観点も変化して、論証生成におけるパラメータが動的に変化する実験が
行えるはずです。このように、法的推論の深い分析のツールとしての利用価値が
高まるのではないかと期待しています。
また、new HELIC-IIでは、価値観を価値判断の優先順序の仮説として定義し、
それを推論の制御に使っています。このように価値観を正面から研究対象にした
システムは他にないはずです。
また、一般に知識表現言語を与えられても、法律知識をどのようにその言語で記
述するかは、人によって異なります。new HELIC-IIでは、刑法の知識を記述する
のに、専門書の勉強や専門家のアドバイスをいただいているので、「法律知識の
ルール化の研究」としての意義もあると考えています。
参考文献
Karl Branting, Integrating Rules and Precedents for Classification and
Explanation: Automatic Legal Analysis, ph D. thesis, Univ. Texas,
1991.
Thomas Gordon, The Pleading Game - An Artificial Intelligence Model of
Procedural Justice, ph D. Thesis, GMD,1993.
Ronald Loui, Computing Specificity, Research Report, WUCS-92-46,
Washington Univ., 1992.
Henry Prakken, Logical Tools for Modeling Legal Argument, Ph D. thesis,
Vrije Universiteit, 1993.
Edwina Rissland et al., A Case-Based System for Trade Secrets Law,
Proc. Int. Conf. on Artificial Intelligence and Law, 1987.
pp. 60 - 86.
Giovanni Sartor, A Simple Computational Model for Nonmonotonic and
Adversarial Legal Reasoning, Proc. Int. Conf. on AI and Law, 1993.
pp. 192 - 201.
A2: 国内では、情報処理学会や人工知能学会などに論文が掲載されることがありますが、
特に、法的推論に限定した論文誌などはありません。文部省重点領域研究「法律エ
キスパートシステム」(代表:吉野一明治学院大学法学部教授)が毎年、開催して
いるシンポジウムの資料が参考になると思います。
国際的には、Proceedings of International Conference on Artificial
Intelligence and Law が参考になると思います。過去に5回(87, 89, 91, 93, 95)、
開催されています。
また、Journal of AI and Law には、この分野の主な研究者が論文を発表していま
すので、効率良く論文を調べることが出来ます。
- new HELIC-II のインストールはどのようにしますか?
- new HELIC-II の立ちあげかたと使い方はどのようにしますか?
- 附属の刑法の知識ベースを使ってみたいのですが。
- 自分で知識ベースを書いてみたいのですが。
- 実行例を見せて下さい。
- 現在のシステムの問題点は何ですか?
A1:new HELIC-II(DRS または CUI または GUI)を入手したら、
最初に「導入マニュアル(README(.j))」を読んでください。
これには、プログラムの概要や動作環境が書いてあります。
動作環境としては以下のものが必要です。
マシン: Unix が動く環境。
メモリは20MB以上、ディスクは40MB以上。
DOS/Vの環境でも、限定的に動きます。
ソフト: KLIC (これもICOT Free Softです)。
日本語などの2byteキャラクタを使えるnew HELIC-IIをインストールするには
以下のgccのライブラリかヘッダファイルのどちらかが必要です。
ライブラリ(libfl.a)
ヘッダファイル(euc.h)
GUIを使う場合はこの他にmotifが必要。
次に、new HELIC-II を、インストール・マニュアル(INSTALL(.j))に従って、
あなたのコンピュータにインストールしてください。
A2: new HELIC-II(DRS または CUI または GUI)を立ちあげます。次に知識
ベースを読み込み、質問(ゴール)を入力すると実行を開始します。
詳しくはそれぞれのプログラムの操作マニュアル(man/operation(.j))をお読み下さい。
A3:「操作マニュアル(man/operation(.j))」に従って
立ちあげた後で、あらかじめ用意された刑法知識ベースを読み込んでください。
その後の手順も操作マニュアルに従って下さい。
A4: new HELIC-II は、あらかじめ用意された知識ベースを利用する場合を除き、知識
ベースを以下の3種類のファイルに分けて用意しておかなければなりません。
概念辞書(概念名と概念間の関係)
ルール (2種類のルールと事件の記述)
価値観 (ルールの優先度に関する情報)
それぞれの知識の記述方法については、「言語マニュアル(man/language(.j))」を
読んで下さい。
A5: DRSの実行例を示します。なお、以下の知識ベースのファイルは全てeucコードでwrite
しなければいけません。
(1) 以下の「概念辞書」を用意し、exm21.type というファイルにしまっておきます。
人([age:integer]).
太郎 < 山田家.
花子 < 山田家.
山田家 < 人.
次郎 < 人.
三郎 < 人.
殴る < 対人行為をする.
暴行罪 < 罪.
暴行行為である < 行為.
(2) 以下の「ルールベース」を用意し、exm21.rule というファイルにしまいます。
&define_absolute_rule.
&define_RBR_rule.
{
f1::殴る(agent=太郎,object=次郎).
f2::殴る(agent=花子[age=>10],object=三郎).
r1::暴行罪(agent=X)
<- 対人行為をする(agent=X/人,object=Y/人)|@action,
暴行行為である(a_object=@action).
r3::-暴行罪(agent=X)
<- 対人行為をする(agent=X/人[age=>[0..13]],
object=Y/人)|@act,
暴行行為である(a_object=@act).
r2::暴行行為である(a_object=@act)
<- 殴る(agent=X/人,object=Y/人)|@act,
different(X,Y).
}
&define_CBR_rule.
(3) ルール,判断基準,価値観の情報を以下のように書いて、exm21.pomとします。
&define_unit.
fact:= {f1,f2}.
rule:= {r1,r2,r3}.
未成年者保護:= {r3}.
社会秩序維持:= {r1}.
&define_sp.
教育重視:= { 社会秩序維持 < 未成年者保護 }.
秩序重視:= { 未成年者保護 < 社会秩序維持}.
&define_view.
view1 := {教育重視 < 秩序重視}.
view2 := {秩序重視 < 教育重視}.
これで知識ベースの登録は終了です。
なお、CUI,GUIインタフェースを使用する場合はルール,判断基準,価値観の情報を
異なるファイルにまとめ、一括して読み込みます。
(4) 以下の手順で実行します。
(4.0) 前準備
emacs の中で、
M-x shell
を実行し、shell にはいります。
C-x C-k p
を実行し、プロセスの入出力をeuc-codeにします。英数字だけしか使用しない
場合は、この操作は不要です。
(4.1) 起動
次にカレント・ディレクトリを以下のようにします。
これは、知識ベースのファイルの指定を簡素化するためです。
cd drs/data
drs
を入力して、DRSを立ちあげます。
(4.2) 知識ベースの読み込み
以下で、DRS> はシステムからのプロンプトです。
また、% はコメントです。
DRS>compile type exe21.type % 概念辞書の読み込み
ok
DRS>compile rule exe21.rule % ルール(事実データも含む)の読み込み
ok
DRS>compile pom exe21.pom % 価値判断情報の読み込み
ok
DRS>set unit fact rule % 参照するルールの範囲をfactとruleに限定する。
ok
DRS>set view view1 % 価値観をview1に設定。
ok
(4.3) 実行
DRS>solve 暴行罪(agent=太郎) % 質問の入力。
yes % 質問に対する論証が生成された。
DRS>ab % 論証がいくつあるかを表示せよ。
Goal : 暴行罪(agent=太郎)
0 : j >:1!:0<:0 % 論証が1つである。
Please input number > 0 % その論証を出力せよ。
ArgJudge : justify % 以下の論証は、有効な反論がない。
RuleInfo({RuleName,TopRuleRel}) : {r1,nil}
0 : >J (1) 暴行罪(agent=太郎)
1 : 殴る(agent=太郎,object=次郎)
2 : 暴行行為である(a_object=殴る(a......
3 : 殴る(agent=太郎,object=次郎)
UseCommand: : [end,'show counter']
>end
ok
DRS>set view view2 % 価値観をview2に変更
ok
DRS>solve 暴行罪(agent=太郎) % 質問の入力。
yes % 質問に対する論証が生成された。
DRS>ab % 論証がいくつあるかを表示せよ。
Goal : 暴行罪(agent=太郎)
0 : d >:0!:0<:1 % 論証が1つである。
Please input number > 0 % その論証を出力せよ。
ArgJudge : defeated % 以下の論証には、有効な反論がある。
RuleInfo({RuleName,TopRuleRel}) : {r1,nil}
0 : end
ok
DRS>quit
A6:まだ試作段階なので、使い勝手は良いとは言えません。これは、少しずつ改良して
いきます。実行速度も満足いくものではないので、高速化を目指して改良していき
ます。
機能面では、価値観の記述方法の拡張、非類似であるという反論方法、観点に基
づく類似判断、実行中の事実データの追加変更、実行中のルールの追加変更、など、
改良すべき課題はたくさんあります。
インターフェースでは、論証の日本語による表示が残されています。
これらを採り入れてバージョンアップをしていきます。
www-admin@icot.or.jp