Автоматизированная юридическая система вопросов и ответов - PullRequest
3 голосов
/ 10 марта 2011

Я пытаюсь реализовать веб-приложение, которое позволит пользователям определять правила и задавать вопросы, чтобы увидеть, являются ли утверждения законными или незаконными в соответствии с набором правил. Домены, которые я имею в виду, будут правилами для небольших сообществ или клубов.

Например, допустим, набор правил содержит правила:

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."

Пользователь выбирает ответ на каждом узле, и система будет задавать следующий вопрос в соответствии с ответом, пока не будет достигнут конечный узел, представляющий «окончательный» ответ.

На каждом узле пользователь может попросить систему объяснить или определить термины, используемые в вопросе. Объяснения будут представлять собой ряд утверждений, содержащих термины, которые сами могут быть дополнительно объяснены или определены.

После получения достаточного опыта система может автоматически пропускать определенные узлы, например первый «Является ли Honda автомобилем?» когда он узнает, что в контексте «парковки» «Honda» всегда будет означать «автомобиль».

Хотя это дерево не показано, некоторые деревья могут иметь «неопределенные» конечные узлы, представляющие случаи, когда правила не обеспечивают достаточного охвата для полного создания дерева, что требует перенаправления вопроса специалисту-человеку для разъяснения или исправление правил.

Цель состоит в том, чтобы определить правила в базе данных, а затем динамически генерировать эти деревья вопросов и ответов по мере необходимости.

Хотя правила и вопросы, показанные здесь, представлены как естественный язык, исходная система вместо этого будет использовать символическую логику, поскольку выполнение НЛП в дополнение к этому логическому анализу очень усложнит исходную систему. Правила могут быть первоначально разработаны как естественный язык, но они будут вручную преобразованы в дискретные правила перед вводом в систему. Вопросы будут отображаться в виде простых выражений на естественном языке, а ответы будут с несколькими вариантами ответов.

Это похоже на практический проект? Есть ли какой-либо уровень техники? До сих пор я не читал ни о чем подобном, но я не уверен, какие ключевые слова для поиска адекватно описывают эту систему.

Какие инструменты мне следует использовать? Я не уверен, стоит ли мне использовать деревья решений или какую-то экспертную систему для сопоставления вопросов с правилами и сужения объема вопроса.

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Для создания правил, основанных на вашей цели, вам понадобится программа «Дерево решений».Если вы используете открытый исходный код, я бы предложил использовать пакет "R" с расширением rpart.Я также предлагаю вам использовать пакет анализа текста, чтобы начать классифицировать ваши документы.«R» также имеет расширение tm, которое может помочь с этим.Вот некоторые из вариантов с открытым исходным кодом.Есть также много хороших вариантов для коммерческого программного обеспечения.

-Ralph Winters

0 голосов
/ 10 марта 2011

IBM потратила 3 ​​года и сотни людей на программирование суперкомпьютера , который мог бы играть и выигрывать в Jeopardy.

На мой взгляд, вы не предлагаете практический проект.

То, что IBM сделала и что вы пытаетесь в меньшем масштабе, называется семантической обработкой.

...