|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Искусственный интеллект...
Думаю, почти каждый пробовал сделать свой "искусственный идиот"... Вот и я собрался. Куча мыслей, идей... Но с нуля никогда ничего не пишу - у кого что есть, алгоритмы, исходники, идеи: я вас жду Да, программы-болталки я уже изучил, они идут прямиком в dev/null
|
#2
|
||||
|
||||
Цитата:
|
#3
|
|||
|
|||
У меня нет желания изобретать велосипед... Если у тебя другое мнение - ради бога...
|
#4
|
|||
|
|||
...судя по хвосту и лапам, будем все таки с нуля. В общем идея такова: слово мы понимаем только когда есть ассоциации. То есть, когда слово имеет связи... Отсюда можно сделать вывод, что любой объект в мозгу - облако ассоциаций (то есть, оно связано с кучей других слов. Булева алгебра здесь не катит, придется расставлять веса связей.) Соответственно, если построить сеть слов, то программа сможет понять вопрос и дать ответ. Она разберет вопрос на понятия, выделит ключевые слова и собственно по ним даст ответ... Следующий вопрос - а как строить эту сеть? Не вручную же... И слово, для нее незнакомое(а для нее сначала они все незнакомые) лишь тупая строка... Тут приходит на помощь курс русского языка средней школы:-) Мы можем разобрать слово. Понять часть речи, выделить суффиксы, приставки, окончания... Они в любых словах имеют одно и то же значение. В общем выдираем из слова все, что можем, и вот! Оно уже несет какой то смысл!
Затем можно программу натравить на, скажем, библиотеку Мошкова... Будет круто! В общем, пока я переписываю весь этот бред на Дельфях, Вы, уважаемые форумчане, попробуйте сходу найти десять ошибок. Или больше |
#5
|
||||
|
||||
У меня к тебе вопрос - ты собираешься писать бота для чата(ICQ) ?
Просто под искуственным интеллектом обычно подразумевают нечто другое, а не примитивную болталку. Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#6
|
||||
|
||||
ИМХО, дело хорошее... но ты задолбаешься сети делать. + прога врят ли поймёт беблиотеку... она ж даже начальных понятий не будет знать... и даже если ты это сделаешь, прога будет тупить, каждый раз перебирая много(мега/гига/ТЕРА(!))байтную базу... хотя, если ты всё оптимизируешь, наладишь, и ещё введёшь процесс обучения - нобелевка твоя.
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#7
|
||||
|
||||
Цитата:
Программа должна говаривать, это факт. Они и стихи писать умеют. В Анализе слова на самом деле есть большой смысл. Можно попробовать с примитивного Hello World! Создать класс Слово - Приветствие - Перечень Синонимов, так не нужно будет каждому слову давать свое значение, они будут объектами класса Приветствие. |
#8
|
||||
|
||||
Есть программа ChatMaster (копирую часть введения)
ChatMaster — это самообучающаяся программа, которая поддерживает диалог с человеком. В ее основе лежат прецедентные методы, которые обеспечивают самообучение и подстройку под собеседника. ChatMaster ведет контекстно-зависимый разговор, то есть понимает смысл реплики, которая опирается на предшествующие. Диалог может вестись на любом неиероглифическом языке (все европейские и некоторые азиатские). Пока база знаний программы существует только на русском, но может быть легко пополнена.(она уменя пылится на ж.диске где-то лет 5 могу выложить но где?) |
#9
|
||||
|
||||
если надумаешь создавать то у ChatMaster есть свои базы
вопросов и ответов с разширением dat(внутри они тот же тхт) можно с ними по эксперементировать. |
#10
|
||||
|
||||
Интересная тема. Я как-то в "годы молодости" тоже озадачивался такой проблемой. Даже тетрадь завел, где писал мысли, факты и все что может помочь. Потом как-то за учебой в универе и прочими более приземленными делами забросил.
Могу поделиться своими мыслями, может они помогут. 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. Проблема встала русской генерации ответа. Фразы типа "идти в школа понял ты" - это жуть...... а надо было "шел в школу, понятно тебе" Вообщем окончания, формы слова и прочее - тоже не цветочки, особенно в русском языке. собственно проект можно продолжить бы... только что плохо "исходники" остались на бумаге в тетради. Единственное, что осталось из того проекта - это программа подсчитывающая число слов в предложении по двум направлениям - выборка из базы подобного и подсчет по признакам, хотя были "обломы", когда по признаку "ать" ловился не глагол, а существительное "МАТЬ". Нет, его можно занести в базу (просто этот пример пришел в голову, но смысл понятен). А еще был тормоз с поиском, я использовал метод сортировки "золотым сечением" и поиск отсечением типа "в правой" или "левой" части списка слово? А задумка была глобальная. - не просто "говорилка", "понимающая говорилка" - "понимающая" имелось ввиду - отвечающая по смыслу и сама предлагающая темы. В идела была задумка заставить "писать стихи" на тему.... буду рад, если кто-то это доведет до ума. |
#11
|
||||
|
||||
http://ar.aiassistant.info/doc/about.html - вот случайно наткнулся
|
#12
|
||||
|
||||
Кстати, Тоже любопытный сайт по теме http://www.iss.ru/
|
#13
|
||||
|
||||
Цитата:
Делаю курсовые и лабораторные на Delphi, GPSS, Assembler, C++. Заказать и почитать отзывы можно на сайте, который указан в этой теме Дешево! |