|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
||||
|
||||
Интересная тема. Я как-то в "годы молодости" тоже озадачивался такой проблемой. Даже тетрадь завел, где писал мысли, факты и все что может помочь. Потом как-то за учебой в универе и прочими более приземленными делами забросил.
Могу поделиться своими мыслями, может они помогут. 1. Я предположил сначала. что надо писать хотя бы для одного языка (примитивный переводчик делать не стоит, хотя в данном случае он не помешает и будет нужен), иначе это будет чисто думалка для ... (..русского, ...английского и пр.), то есть локальная. Так вот я начал изучать учебник русского языка Розенталя и первоначально создал правила для выделения слов, а также их написаний. Классический пример. "елка" "Ёлка", "олка", "иолка", "елга" ну и т.п. В общем все это свелось к элементарной словарной базе, но с расширением по признакам. = глагол = деепричастие = существительное = прилагательное = частица = и так. далее. Так же в базу я ввел связи, типа "это слово МОЖЕТ быть связано с ТЕМ словом" Так же ввел базу основных окончаний типа "ой" "ай" "ий" и т.п. и что-то типа правила, к каким словам они могу лепиться. типа "существ." у глагола "ать" "ять" "ить" Кроме того слова хранились не просто, а в ввиде уже разобранного слова "корень" "суффикс" "окончание" Кроме того для слова были связи его неправильных форм, типа "Шурик - Александр - Саша - Саня" "Петр - Петя - Петро - Петян" "Санкт-Питербург - Ленинград" Ну и т.п. Скажем - так это было начальной базой. 2. По мере развития мысли я сделал вывод, что этого мало и надо хранить правила русского языка. Ну например, по аналогии с той же проверкой в Ворде орфографии. То есть хранение структуры предложений - простый, сложные, сложносочиненные, сложноподчиненные и прочее. Правила хранил как-то так (поиск по глаголу) глагол=1: глагол существ прилаг - ПРАВИЛО1 глагол=2: существ глагол частича глагол и .... ПРАВИЛО2 (поиск по существ) сущ = 2: глагол существ прилаг - ПРАВИЛО1 сущ = 1: сущ прилаг глагол ПРАВИЛО3 ...... 3. Этап - смысловой. Я помучился и сопоставил. словам их "эмоциональные определения". и ВЕСА их в зависимости от употребления. Например 1- злой (пошел ты // рожа // оружие и т.п.) 2- положительный (любовь // свет // еда и т.пр. 3- холодный (снег // дождь // ...) 4- мокрый (дождь // вода // ... ) Ну естественно база выглядела что-то типа дождь = существ // 3=холодный=50%: // 4 =мокрый=100% ..... Это скажем так - основная база знаний. Чем больше ассоциаций и связей построено, тем "точнее" понимание машиной языка. Естественно попытался придумать какие-то правила выделения определения слова, если его нет. Были и нейтральные слова, типа "шел" "прыгал" "стоял" В итоге база слов усложнилась на признаки.... первая базаэ тип смысл 1. холодный 2. мокрый 3. нейтральный 4. мягкий 5. жидкий 6. твердый ..... слово определения снег (1 / 2 / 4 / 5 / 6 ) вода (2 / 4 / 5) и т.п. При этом возникла проблема со списками неограниченной длины. Для одного слова может быть 20 определений. для другого 3-4. Как это все хранить, да еще эффективно искать и "понимать". Тогда я еще не все знал и плохо понимал, особенно базы данных. Мало того возникла проблема "взаимоисключающих определений". Снег может быть и твердый, и жидкий. и мокрый. Пришлось вводить что-то типа "уточнений" и состояний вещества... чуть ли не физику. 4. Самое сложное, на чем я запоролся - это "анализ" фразы. Нет, логически я понимал, а программно сложно (тем более, что я и тогда и сейчас не очень понимал нейронные сети просто потому. что не занимался изучением, что это и как?). Так вот, разбор типа глагол - частица - сущ - прилаг - сущ - прилаг получался. даже получалось, что-то типа нейтрал - нейтрал - (холодный мокрый жидкий) - (возвышенная степень) - (мокрый твердый) - (определение) А вот генерить ответ было сложно. Первое решение было что-то вроде такого Шел - (куда - место действия) Ищем по глаголу ответ с признаком (место действия). Уточняем существительным..... Вообщем тут я застрял... 5. Проблема встала русской генерации ответа. Фразы типа "идти в школа понял ты" - это жуть...... а надо было "шел в школу, понятно тебе" Вообщем окончания, формы слова и прочее - тоже не цветочки, особенно в русском языке. собственно проект можно продолжить бы... только что плохо "исходники" остались на бумаге в тетради. Единственное, что осталось из того проекта - это программа подсчитывающая число слов в предложении по двум направлениям - выборка из базы подобного и подсчет по признакам, хотя были "обломы", когда по признаку "ать" ловился не глагол, а существительное "МАТЬ". Нет, его можно занести в базу (просто этот пример пришел в голову, но смысл понятен). А еще был тормоз с поиском, я использовал метод сортировки "золотым сечением" и поиск отсечением типа "в правой" или "левой" части списка слово? А задумка была глобальная. - не просто "говорилка", "понимающая говорилка" - "понимающая" имелось ввиду - отвечающая по смыслу и сама предлагающая темы. В идела была задумка заставить "писать стихи" на тему.... буду рад, если кто-то это доведет до ума. |
#17
|
||||
|
||||
http://ar.aiassistant.info/doc/about.html - вот случайно наткнулся
|
#18
|
||||
|
||||
Кстати, Тоже любопытный сайт по теме http://www.iss.ru/
|
#19
|
||||
|
||||
Цитата:
Делаю курсовые и лабораторные на Delphi, GPSS, Assembler, C++. Заказать и почитать отзывы можно на сайте, который указан в этой теме Дешево! |