LINUX.ORG.RU
ФорумTalks

Интеллектуальные экспертные системы

 


1

3

Огромный багаж знаний накоплен человечеством. Все эти знания неявно закодированы в книгах, статьях и прочих текстовых и графических представлениях. И самое главное в носителях - людях. В большей или меньшей степени носители имеют адекватные и объективные знания о различных предметных областях.
Может ли программирование в будущем перейти в форму разработки объектов, представляющих знания с четкой и формализованной семантической структурой? Тогда программы будут трактоваться как обработчики знаний. Возможно сами программы будут представлены в той же форме, что и сами знания.
К примеру, знания представлены в виде семантической сети. Программа тоже представлена в виде семантической сети.
Тогда появляется возможность некоторый определенный алгоритм представить в виде фрагмента семантической сети, которым смогут воспользоваться другие разработчики, при условии что язык представления знаний (семантическая сеть) унифицирован. Тогда отпадет необходимость в велосипедостроении в какой-то степени. Появиться возможность интегрировать знания, создавая все более интеллектуальные, мощные и гибкие системы как для работы со знаниями, так и для обычных вычислительных задач.

Ну и ?
Давно уже.

Или ты ждал опенцурц, чтобы на блюдечке алгоритмы и базы выдали всем?


аиТунец таки лососнет пустеца.

Deleted
()
Ответ на: комментарий от Deleted

Или ты ждал опенцурц, чтобы на блюдечке алгоритмы и базы выдали всем?

OpenCOG

feofan ★★★★★
()

А потом прилетели вогоны и снесли этот гигантский компьютер к херам.

MageasteR ★★★★★
()

Представим, что мы уже имеем систему для анализа структуры документа, имеем синтаксический анализатор, способный разбирать предложения. Мне не очень понятно, как должны выглядеть структуры, по которым такой алгоритм будет строить модели знания. Я понимаю, можно сделать тернарные классификаторы языковых единиц по разным параметрам: добро/-/зло, тепло/-/холод и т.д. А дальше?

Sadler ★★★
()
Ответ на: комментарий от Sadler

Это вопрос автоматического извлечения знаний из текста. Сами знания представимы в виде семантической сети. См. «Базы знаний интеллектуальных систем» (Гаврилова Т.А., Хорошевский В.Ф.)
Для начала можно «руками» формализовывать предметные области, по аналогии как программист пишет программу. Т.е. без автоматизации.

nerdogeek
() автор топика
Последнее исправление: nerdogeek (всего исправлений: 1)
Ответ на: комментарий от nerdogeek

Если руками формализовать, то смысла это не имеет. Плюс семантическая сеть — это лишь структура, а не алгоритм. Я не очень понимаю, как можно формализовать, например, теорию графов или матан в виде семантической сети. Да даже писанину Донцовой бы оно научилось анализировать на предмет, кто когда куда пошёл и что сделал, уже был бы прорыв.

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 3)
Ответ на: комментарий от Sadler

Что-то вроде pattern matching'а может сработать.
Семантическая сеть — данные, а программа — просто их преобразование в какие-то другие знания, которые автор хотел получить из исходных.

blexey ★★★★★
()

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

Web 3.0? Ну, тот, что юзает SWI Prolog. Фишка в том, что это за

некоторый определенный алгоритм

А вообще - правильно уже IBM Watson помянули

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от blexey

Ну я и говорю, сделать синтаксический анализатор, который будет разбирать части речи и формы. Типа «сущ. м.р. 1 скл. р.п.», «прил. ...». А потом шаблоны предложений рассмотреть для разбора по частям предложения (подлежащее-сказуемое-второстепенные). Это всё не очень просто реализовать, нужны соответствующие базы. Но главный вопрос, как отсюда получить полезные сведения в автоматическом режиме.

Sadler ★★★
()
Ответ на: комментарий от Sadler

Плюс семантическая сеть — это лишь структура, а не алгоритм.

Спасибо, что хоть добрый ЛОР мне объяснил :D

Я не очень понимаю, как можно формализовать, например, теорию графов

Очень хорошо формализуемая предметная область

nerdogeek
() автор топика
Ответ на: комментарий от Sadler

А потом шаблоны предложений рассмотреть для разбора по частям предложения (подлежащее-сказуемое-второстепенные). Это всё не очень просто реализовать, нужны соответствующие базы.

А еще это все разнится от языка к языку. А в некоторых одно слово может иметь разный смысл и слова могут идти в практически произвольном порядке. И вообще в сети по всей этой штуке (nlp, который natural language разумеется) книг хватает

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 2)
Ответ на: комментарий от upcFrost

А еще это все разнится от языка к языку.

Мы, наверное, говорим про русский всё-таки.

А в некоторых одно слово может иметь разный смысл и слова могут идти в практически произвольном порядке.

Это как раз несложно фиксить. Если слово может иметь два смысла, то форкаемся, парсим всё предложение/весь текст, а затем решаем, какой из смыслов подходит под контекст. Порядок слов в русском тоже ограичен, хоть и не столь существенно, как, скажем, в английском.

Sadler ★★★
()
Ответ на: комментарий от Sadler

Если слово может иметь два смысла, то форкаемся, парсим всё предложение/весь текст, а затем решаем, какой из смыслов подходит под контекст

И еще вводим флаг «сарказм»

upcFrost ★★★★★
()
Ответ на: комментарий от Sadler

Там же, где и квантовая физика среди неандертальцев

nerdogeek
() автор топика

Все эти знания неявно закодированы в книгах, статьях и прочих текстовых и графических представлениях. И самое главное в носителях - людях. В большей или меньшей степени носители имеют адекватные и объективные знания о различных предметных областях.

Знания не имеют никакого значения. В контексте ИИ важна интерпретация знаний а не сами знания (информация).

Тогда программы будут трактоваться как обработчики знаний.

Это сейчас они трактуются (и являются по факту) таковыми. В контексте ИИ программы должны не обрабатывать знания, а самостоятельно принимать решения, в том числе и по поводу того, какие знания, исходя из текущей задачи, а возможно и с учетом перспективы, обрабатывать, или передать на обработку, а какие выбросить на помойку.

anonimous
()
Ответ на: комментарий от Sadler

Да даже писанину Донцовой бы оно научилось анализировать на предмет, кто когда куда пошёл и что сделал, уже был бы прорыв.

Писанину Донцовой (естественный язык) как-раз формализовать на порядок трудней, чем существующие математические формализмы, если вообще возможно, скорее нет чем да.

на предмет, кто когда куда пошёл и что сделал

К примеру, возьмем случаи: пошел на хоккей, пошел на повышение, пошел нах, пошел быстро... Это только одна словоформа, не считая: подошел к куртке (по цвету), подошедший день недели, тысячи их. Как мы будем это выражать? От контекста, в каждом случае отдельное правило? Это смешно. Если бы это было возможно, гугл уже разговаривал бы с нами на нашем языке. Единственная перспектива тут - системы с самообучением, которые долго будут набивать шишки, и сами анализировать свои ошибки. А вот редукция графов — это для компа, как раз, плевое дело.

anonimous
()
Ответ на: комментарий от anonimous

? От контекста, в каждом случае отдельное правило?

Просто не надо быть идеалистом. Заранее принимаем долю ошибок и реализуем только основное. Ошибку можно минимизировать позднее. Системы с самообучением — это хорошо, но такие алгоритмы всё равно должны оперировать сложной аналитической системой, чтобы быть эффективными. В противном случае потребуется очень сложная нейросеть или другая система, которая будет обучаться.

То есть я предлагаю всё-таки иметь некую составленную вручную базу, а уже поверх неё пусть накапливается информация в автоматическом режиме. Я над такой системой работаю уже некоторое время. Неделю назад вот парсил википедию для части этой системы.

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 1)
Ответ на: комментарий от Sadler

Кроме того, основными семантическими единицами в естественных языках являются предложения, фразы, словосочетания. Даже если предположить, что все идеоматические выражения можно было бы структурировать в хеш-таблицу, вроде {Как гром среди ясного неба: внезапно}, невозможно предсказать игру слов, и юмор, которые составляют процентов 30-40 естественной речи, как минимум. Значительная часть выражений, вообще конструируется на лету, от сложившейся ситуации, например: «Возьми вот эту х-ету, и брось в ящик», может означать «возьми бумажку и брось в мусорную корзину», а может, «возьми большое полено, и брось в печку », а также, «возьми этого мудака за шиворот и посади в обезьянник» а значит компьютер, вообще должен понимать смысл происходящего, во время употребления фразы. Не думаю, что возможно этого добиться, хотя бы на 1%, с помощью синт. анализа.

anonimous
()
Ответ на: комментарий от anonimous

Я понял с первого поста посыл: идеальной системы не получится. Я это прекрасно знаю. У меня задача поскромнее, мне нужна практически полезная система, а не идеальная.

Sadler ★★★
()
Ответ на: комментарий от Sadler

Я не возражаю, что возможно создать синтаксический анализатор, с ограниченными (ну о-о-очень) возможностями. Но стоит ли тратить силы на написание системы, которая имеет очень слабые перспективы в отношения развития в сторону сложности. Основная проблема, еще более сложна: развитие языка, не подчиняется правилам логики, оно хаотично, а следовательно, ограничение тут лежит на концептуальном уровне, естественный язык не может быть формализован в принципе.

anonimous
()

в форму разработки объектов, представляющих знания с четкой и формализованной семантической структурой?

С добрым утром! Этим с 50х годов занимаются. Даже язык такой придумали - лисп называется.

Xellos ★★★★★
()
Ответ на: комментарий от feofan

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

nerdogeek
() автор топика
Ответ на: комментарий от nerdogeek

Ну, для нечеткой логики, есть, например, http://ffll.sourceforge.net/

К тому же, она элементарно реализуется. Темпоральную логику, например, реализовать сложнее, но ничего запредельного — наработки существуют.

feofan ★★★★★
()
Ответ на: комментарий от feofan

Хорошо бы чтоб сама либа была формализована, вместе с алгоритмами вывода и всем остальным. Для интеллектуальной системы это так же важно, как написание компилятора ЯП на самом этом ЯП. Я имею ввиду зрелость.

nerdogeek
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.