ユーザーがルールを定義し、質問をして、一連のルールに従ってステートメントが合法か違法かを確認できる Web アプリケーションを実装しようとしています。私が考えているドメインは、小さなコミュニティやクラブのルールです。
たとえば、考えられるルール セットに次のルールが含まれているとします。
Only cars with valid registration tags may park anywhere indefinitely.
Cars without valid registration tags may only park in a visitor spot for up to 3 days.
そして、誰かが尋ねます"Can I park my Honda here?"
システムは、最初に次のような質問と回答ツリーに従って回答を試みます。
"Is a Honda a car?"
=>Yes
"Does it have a valid registration tag?"
=>Yes
"Yes"
=>No
"Are you parking in a visitor spot?"
=>Yes
"Have you parked in that spot for more than 3 days?"
=>Yes
"No"
=>No
"Yes"
=>No
"No"
=>Define "visitor spot"?
"A visitor spot is a parking spot. A parking spot is spatial rectangular area of asphault with a width of 8 feet and a length of 15 feet with a variation of 1 foot. It has either another parking spot or a curb adjacent to it. It has the words "Visitor" painted on it. It ressembles <img>."
=>Define "parking"?
"Parking is the act of placing a vehicle within the spatial area of a parking spot. The state of a parked image ressembles <img>."
=>Define "valid registration tag"?
"A valid registration tag ressembles <img>"
=>No
"No"
=>Define "car"?
"A car is a 4 wheeled vehicle weighing less than 3 tons."
ユーザーが各ノードで回答を選択すると、システムは「最終」回答を表すリーフ ノードに到達するまで、回答に従って次の質問をします。
各ノードで、ユーザーはシステムに、質問で使用される用語の説明または定義を求めることができます。説明は、用語を含む一連のステートメントであり、それ自体でさらに説明または定義できます。
十分な経験が得られると、システムは最初の「ホンダは車ですか?」などの特定のノードを自動的にスキップできます。「駐車場」の文脈で「ホンダ」は常に「車」を意味することを学習したとき。
このツリーには示されていませんが、一部のツリーには「未定義」のリーフ ノードが含まれる場合があります。これは、ルールがツリーを完全に作成するのに十分な範囲を提供しなかった場合を表し、明確化または修正のために質問を人間の専門家にリダイレクトする必要があります。ルール。
目標は、データベースでルールを定義し、必要に応じてこれらの Q&A ツリーを動的に生成することです。
ここに示されているルールと質問は自然言語として表されていますが、初期システムは代わりに記号論理を使用します。この論理解析に加えて NLP を実行すると、初期システムが非常に複雑になるためです。ルールは最初は自然言語として起草されますが、システムに入力される前に手動で個別のルールに変換されます。質問は単純な自然言語のステートメントとして表示され、回答は多肢選択式になります。
これは実用的なプロジェクトのように見えますか? 先行技術はありますか?これまでのところ、このようなものについて読んだことはありませんが、どの検索キーワードがこのシステムを適切に説明しているかわかりません.
どのツールを使用すればよいですか? 質問をルールに一致させ、質問の範囲を絞り込むために、意思決定ツリーまたはある種のエキスパート システムを使用する必要があるかどうかはわかりません。