Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 05.04.2011, 14:20   #1
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Цитата:
Сообщение от destructor Посмотреть сообщение
база вопросов -> база ответов
если грамотно разрулить, все ваши нейросети пролетают.
Если так, то это скучно))))) Надо что-то более глобальное))))))

Цитата:
Сообщение от supernewbie Посмотреть сообщение
причем тут какая граматика
При том, что это основа любого языка, и если хотите чтобы генерировались хотя бы правильно построенные фразы, то все начинается именно с посторения предложения, а не с какого-то там восприятия мира... А построение предложенния возможно только на основе грамматики... То бишь нужно сначала научиться генерить фразы, хотя бы не осмысленные, но как минимум правильно построенные... А потом уже дальше всякие анализаторы добавлять...
Хотя если действильно нужно банальные несколько десятков-сотен фраз, то это не стоит того))))

Последний раз редактировалось Aries, 05.04.2011 в 14:22.
Aries вне форума   Ответить с цитированием
Старый 05.04.2011, 14:29   #2
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Цитата:
Сообщение от Aries Посмотреть сообщение
При том, что это основа любого языка, и если хотите чтобы генерировались хотя бы правильно построенные фразы, то все начинается именно с посторения предложения, а не с какого-то там восприятия мира... А построение предложенния возможно только на основе грамматики... То бишь нужно сначала научиться генерить фразы, хотя бы не осмысленные, но как минимум правильно построенные... А потом уже дальше всякие анализаторы добавлять...
Хотя если действильно нужно банальные несколько десятков-сотен фраз, то это не стоит того))))
как он будет генерировать фразы не зная значения слов, граматика будет складыватся сама, по логике значения слов, воообщем уже дня 2 размышляю над этим, сегодня\завтра буду начинать 100%
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 05.04.2011, 14:44   #3
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
как он будет генерировать фразы не зная значения слов
А вот это уже должен быть второй или третий шаг построения)))

Цитата:
Сообщение от supernewbie Посмотреть сообщение
граматика будет складыватся сама
грамматика сама не сложится, если ты ее не опишешь...

Ты когда-нибудь пытался писать компилятор, интерператор или что-нить такое? Если да, то принцип построения будет аналогичным...

То бишь порядок такой: сначала мы составляем список слов, выбираем синтаксические категории и соответсвующие им слова... Описываем грамматику, т.е. принцип построения фраз в языке, а потом уже на основе этого например через конечные автоматы или любым другим способ начинается разбор фраз, разбитием на лексемы и т.д... Потом уже строится синтаксический анализатор, в котором и должны быть все мозги, которые будут заставлять понимать его текст...
Aries вне форума   Ответить с цитированием
Старый 05.04.2011, 14:55   #4
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Aries Посмотреть сообщение
компилятор, интерператор или что-нить такое? Если да, то принцип построения будет аналогичным...
несогласен,
там четко определенные конструкции и можно ругатся "такого слова я не знаю"

Добавлено через 46 секунд
Цитата:
Сообщение от Aries Посмотреть сообщение
Описываем грамматику, т.е. принцип построения фраз в языке
можно пример?
__________________
Шожиделать.. ботить хочется..

Последний раз редактировалось destructor, 05.04.2011 в 14:55. Причина: Добавлено сообщение
destructor вне форума   Ответить с цитированием
Старый 05.04.2011, 14:21   #5
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
а главное сразу тест Тьюринга пройдет такой бот)
это не корректный тест,
+ хрень в том что нейросети будут фейлить его быстрее

Добавлено через 25 секунд
Цитата:
Сообщение от Aries Посмотреть сообщение
Если так, то это скучно))))) Надо что-то более глобальное))))))
согласен=)
__________________
Шожиделать.. ботить хочется..

Последний раз редактировалось destructor, 05.04.2011 в 14:21. Причина: Добавлено сообщение
destructor вне форума   Ответить с цитированием
Старый 05.04.2011, 15:46   #6
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Ок)
1 - все понятно, проблем нет)
2 - Если не нужна пунктуация, то ее можно и опустить... Хотя правильнее сделать на уровне описания правил, что-то типо
предложение -> фраза
предложение -> фраза!
предложение -> фраза.
предложение -> фраза?

3. Повторюсь. Я пока говорю о первом этапе, т.е. описание грамматики. Т.е. смысловая законченность, это уже дело синтаксического анализатора, который надо строить после описания грамматики. Про него, предлагаю говорить уже потом, т.к. там все куда более сложно) Ну а про интонацию... Тут я хз))) Если уж так глубоко копать и все это реализовать, то смело можно нобелевскую премию получать)))))
4. См. последнее предложенияпункта 3)

ЗЫ и вообще я всего лишь стал объяснять как правильно было бы строить язык... Но если бы все было настолько просто, то я хз чем бы ща занимались разработчики искуственного интеллекта и робототехники))))
ЗЫЫ готового решения у мну тож нет, есть только идеи, но и то не продуманные до конца... Т.е. первый шаг построения грамматики - легко, затем лексический анализатор - сложнее (хотя если конечные автоматы подойдут, то все отл, а если нет, то надо искать или придумывать свой механизм сравнения фразы с правилами грамматики), затем синтаксический анализатор (это вообще ипануться,т.к. тут идет уже не просто разбор, а осмысление фраз, тут я пока даж не пытался думать о реализации, есть только общее представление)

Последний раз редактировалось Aries, 05.04.2011 в 15:57.
Aries вне форума   Ответить с цитированием
Старый 05.04.2011, 15:55   #7
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Aries Посмотреть сообщение
Я пока говорю о первом этапе, т.е. описание грамматики.
ок. подожду понятный пример.
__________________
Шожиделать.. ботить хочется..
destructor вне форума   Ответить с цитированием
Старый 05.04.2011, 16:30   #8
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Кстати так на почитать для начала кому интересно
http://www.programmersclub.ru/%D0%98...8%D0%B7%D0%B0/
Aries вне форума   Ответить с цитированием
За это сообщение Aries нажился спасибкой от:
Старый 05.04.2011, 19:23   #9
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Таааакс… Маленький фейл с моей стороны))))
Хотел все показать на конкретном программном примере, но понял, что даже для простейшего случае надо не так уж мало времени, как показалось….

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

Для начала по теории… По сути грамматика состоит из 4 элементов:
- входной алфавит
- нетерминальные символы
- начальный символ (из нетерминальных)
- правила применения

Т.к. простейший, то словарный запас маленький, и описание языка тоже минимальное… Но дальнейшее усложнение – чисто дело техники, т.к. в плане понимания вопроса ничего не изменит уже.

Возьмем:
Входной алфавит: положить, взять, синий, желтый, стул, окно, в, на, под…
Нетерминальные символы – Фраза, Гл., Гр. Сущ., Сущ., Прил., Предл.
Начальный символ – Фраза.

Теперь правила:
Фраза – > Гл., Гр. Сущ.
Гр. Сущ. – > Прил., Сущ
Гр. Сущ. – > Гр. Сущ., Предл., Гр. Сущ.
Гл. – > положить/взять
Сущ. – > стул/стол
Предл. – > в/на/под
Прил. – > синий/желтый

На основе данной грамматики можно в принципе строить фразы любой сложности, т.к. есть рекурсия вида Гр. Сущ. – > Гр. Сущ., Предл., Гр. Сущ.
Про осмысленные фразы конечно пока не говорим, но с точки зрения грамматики фразы будут построены правильно
Например:
«Взять синий стол»
«Положить желтый стул под синий стол»

Конечно на моем примере много не построишь, надо куда больше правил (при этом если брать случай синтаксического анализатора, на правила применения накладываются дополнительные ограничения применения).
Дальше делается на основе конечных автоматов:
считывается строка по словам и на основе правил грамматики ее нужно свернуть к начальному символу. В случае если строка не свернулась, то с точки зрения грамматики строка заведомо неверная и разбор ее смысла уже не имеет значения.
А если свернулась, то надо переходить к синтаксическому анализу…

ЗЫ все это описываю в большей степени для supernewbie, чтобы не занимался всякой фигней и понял, что проще сделать конечный набор фраз))) Ну или хотя бы, чтобы попробовал понять, что без определения начальной грамматики языка все равно в итоге ничего хорошего не выйдет, если создавать бота хотя бы умеющего понимать не сложные, но уже более-менее естественные фразы.

ЗЫЫ если уж не понять настолько базовый момент, то про генерацию фраз я вообще молчу...
Aries вне форума   Ответить с цитированием
Старый 05.04.2011, 20:18   #10
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

приходит тебе в чат:
>>Положить желтый стул под синий стол

бот разбирает предложение и строит(согласно правилам) дерево:
Код:
Фраза = 
   Гл.[Положить]
   + 
   Гр. Сущ[желтый стул под синий стол]
       (
           Гр. Сущ.[желтый стул]
                 (
                      Прил.[желтый]
                      +
                      Сущ [стул]
                 )
           +
           Предл.[под]
           +
           Гр. Сущ.[синий стол]
                 (
                       Прил.[синий]
                       +
                       Сущ.[стол]
                 )
       )
дальше что?
__________________
Шожиделать.. ботить хочется..
destructor вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:44.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!