Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 20.09.2009, 21:46
Аватар для GrenLES
GrenLES GrenLES вне форума
Новичок
 
Регистрация: 12.05.2009
Сообщения: 51
Репутация: 13
По умолчанию

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

Могу поделиться своими мыслями, может они помогут.

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  
Старый 21.09.2009, 01:08
Аватар для GrenLES
GrenLES GrenLES вне форума
Новичок
 
Регистрация: 12.05.2009
Сообщения: 51
Репутация: 13
По умолчанию

http://ar.aiassistant.info/doc/about.html - вот случайно наткнулся
Ответить с цитированием
  #18  
Старый 21.09.2009, 01:10
Аватар для GrenLES
GrenLES GrenLES вне форума
Новичок
 
Регистрация: 12.05.2009
Сообщения: 51
Репутация: 13
По умолчанию

Кстати, Тоже любопытный сайт по теме http://www.iss.ru/
Ответить с цитированием
  #19  
Старый 22.09.2009, 11:24
Аватар для hkdkest
hkdkest hkdkest вне форума
Начинающий
 
Регистрация: 06.05.2008
Адрес: Рязань
Сообщения: 180
Репутация: 10
Плохо

Цитата:
Сообщение от GrenLES
Кстати, Тоже любопытный сайт по теме http://www.iss.ru/
где же он по теме?? про видеонаблюдение
__________________
Делаю курсовые и лабораторные на Delphi, GPSS, Assembler, C++.
Заказать и почитать отзывы можно на сайте, который указан в этой теме
Дешево!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter