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

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

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

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

бот разбирает предложение и строит(согласно правилам) дерево:

дальше что?
Принцип работы немного не такой
1.Фраза – > Гл., Гр. Сущ.
2.Гр. Сущ. – > Прил., Сущ
3.Гр. Сущ. – > Гр. Сущ., Предл., Гр. Сущ.
4.Гл. – > положить/взять
5.Сущ. – > стул/стол
6.Предл. – > в/на/под
7.Прил. – > синий/желтый

Допустим есть стек, куда кладутся лексемы
Считываем по словам, при этом анализируя содержимое стека:
Положить - Гл. (по правилу 4)
стек пустой, больше правила не применимы, значит
push (Гл.)
желтый - Прил. (7)
В стеке Гл., правил вида Гл., Прил. не существует, значит
push (Прил.)
стул - Сущ. (5)
На вершине стека Прил. -> применимо правило 2, значит
pop(),
Прил., Сущ. - Гр. Сущ.

смотрим стек, видим что можно применить правило 1, но на данном примере видим, что будет ошибка, соответственно не учли при построении грамматики у нас должно было быть дополнительное ограничение о применимости правила 1 (например, если след слово - не предлог)
с учетом этого условия, больше правила не применимы, значит
push (Гр. Сущ.)
и т.д.
в итоге стек: Гл. Гр. Сущ. Предл.
текущая лексема - Гр. Сущ.
Извлекаем из стека, получается Гр. Сущ. Предл. Гр. Сущ. - Гр. Сущ.
Затем Гл. Гр. Сущ. - Фраза
Т.е. предложение свернулось и значит фраза построена верно...
Значит можно включать мозги по распознанию смысла (т.е. синтаксический анализатор)... С этим вопросом я конечно уже не продумывал все как следует. Там по подобному принципу разбирается фраза, но при разбитии на лексемы уже делаются дополнительные действия, которые будут связаны с конкретными значениями слов, формирование внутренних таблиц и скорее всего формирование внутреннего представления значения данной фразы... Т.е. формирование однозначно определенной последовательности действий. Пример из теории компиляторов, это на уровне синтаксического анализа часто идет построение Польской Формы записи, которая как раз однозначно определяет всю дальнейшую последовательность действий.
Aries вне форума   Ответить с цитированием
Старый 05.04.2011, 21:42   #2
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Aries Посмотреть сообщение
Принцип работы немного не такой
какая нафик разница как это происходит.

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

Цитата:
Сообщение от destructor Посмотреть сообщение
какая нафик разница как это происходит.

опять ты про компиляторы
эта последовательность действий разбирается и выполняется без проблем.
тут не нужно ничего похожего на мозги.
видимо кто-то кого-то не понял))))
а я говорил про мозги?
Я говорил, что прежде чем писать мозги, нужно построить грамматику языка и разобраться с этим, а не начинать сразу с "восприятия мира"

А общий принцип создания в любом случае 1 в 1 с компилятором... Разница будет заключаться в том что при разборе текста на этапе синтаксического анализа в случае компилятора мы сразу формируем форму которая грубо говоря будет потом исполняться, а вот при разборе естественного языка тут уже нужен более сложный анализ (и только начиная с этого момента нужно задумываться о смысловой его составляющей). Хотя в любом случае надо строить какую-то внутреннюю форму представления фразы с жесткими правилами (так что и тут отличия от компилятора заключаются только в наличии большего количества правил и ограничений).

ЗЫ а ты надеялся, что я тебе раскрою секреты построения искусственного интеллекта? xD
Aries вне форума   Ответить с цитированием
Старый 05.04.2011, 20:13   #4
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

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

Ну тогда все таки советую внимательнее посмотреть что я написал и подумать еще 500 раз хотя бы о самом принципе построения.
Пока это единственный известный мне способ, который используется при распознании и генерации речи в робототехнике

ЗЫ Если все таки согласишься с данным методом, то мб и помогу в чем-то (хотя пока времени свободного практически нет)
Aries вне форума   Ответить с цитированием
Старый 05.04.2011, 20:23   #6
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

думаю сейчас вся моя работа будет заключатся в наступаниях на грабли
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 05.04.2011, 22:58   #7
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

в любом случае фразу нада сначало привести в программно-понятный вид, так сказать структуру. потом уже обработать и дать ответ. в идеале переварив его еще и мозгами (это уже последнее что стоит делать)
__________________
читернуть бы ништяг
mira вне форума   Ответить с цитированием
Старый 05.04.2011, 23:04   #8
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Цитата:
Сообщение от mira Посмотреть сообщение
в любом случае фразу нада сначало привести в программно-понятный вид, так сказать структуру. потом уже обработать и дать ответ. в идеале переварив его еще и мозгами (это уже последнее что стоит делать)
по-моему единственный человек, который сейчас понял меня, да?)))))
Aries вне форума   Ответить с цитированием
Старый 06.04.2011, 09:44   #10
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

для определения глаголов я хз сам недопер как их определять. Для существительных проще. Выполняетса поиск в пространстве имен бота- имена, названия лок, предметов, умений а также определеные системой шаблоны типа - инвентарь , перс

Добавлено через 18 минут
этот обьект будет имет свойства и методы. Методы это посути применые глаголы а свойства прилагательные. Методы и свойства должны быть виртуальные так как скажем метод move для предмета и перса будет реализован иначе.
А свойство возраст для обьекта 'инвентарь' вообще должен вернуть null

Добавлено через 2 минуты
часть обьектов окружения следует создавать заранее а часть создавать налету и удалять при процедуре очистки мусора движка.

Добавлено через 4 минуты
удобно использование интерфейсов. Но свойства придетса обернуть в методы что тоже неочень
__________________
читернуть бы ништяг

Последний раз редактировалось mira, 06.04.2011 в 09:44. Причина: Добавлено сообщение
mira вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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