Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #26
17.06.2002 14:50

stalker
Участник
Откуда: Сургут
Зарегистрирован: 09.05.2002
Сообщений: 41
Вебсайт

wbr.

Re: Люди-люди, человеки!!!!!!

Не согласен. Нельзя объединять и так довольно общие пункты, нужно дробить-дробить и еще раз дробить.  8)

Например:

1. Интерфейс
1.1. Получение информации с устройства ввода
1.2. Разбить команду на составляющие
1.3. Составить шаблон для дальнейшей обработки
....

и т.д.

Подсказки по словарю не делают из соображений "секретности"  wink Т.е. да бы исключить прямой перебор. Хотя, в принципе, я считаю, что при достаточно большом словаре в этом нет необходимости. Некоторы, возможно, таким образом скрывают бедность словаря.

Моделирование состояний различных объектов - это сама жизнь. smile Любую систему можно представить совокупностью объектов и взаимосвязей между ними (практически одно из определений системы в системном анализе).

Создать среду для работы с такими объектами и их связями и есть задача "движка".

Собственно можно начать с продумывания интерфейса, парсера, объектного пространства, объектов (комнат, предметов, персонажей и т.п.).

Неактивен

0    0    #27
18.06.2002 10:28

Ar.A.B.
Участник
Откуда: Moscow
Зарегистрирован: 30.05.2002
Сообщений: 49

Все Боги были бессмертны.....

Re: Люди-люди, человеки!!!!!!

stalker написал:

Не согласен. Нельзя объединять и так довольно общие пункты, нужно дробить-дробить и еще раз дробить.  8).

Предпочитаю идти сверху вниз.

stalker написал:

Собственно можно начать с продумывания интерфейса, парсера, объектного пространства,
объектов (комнат, предметов, персонажей и т.п.).

Не все столь линейно.

Начнем с парсера?

В целом, чтобы не топтать зазря клавиатуру, можно за рабочий вариант принять идеи,
изложенные в статье Olegus t.Gl. https://ifiction.ru/a/ifparser.html.
(прочитать, что-ли...)

Что хочется иметь на выходе подпрограммы анализа (того, что я называю интерфейсом в целом?)

Какую часть работы по взаимодействию с пользователем следует возложить на анализатор, а какую - моделингу?

Наверно, возможно написать парсер, достаточно интеллектуально объясняющий игроку почему нельзя "открыть свечу" или "зажечь дверь" wink
Но, если уж приспичит big_smile вдруг сделать именно это - все прийдется переписывать.
Вообще, не стоит забывать про маштабируемость (и непредсказуемость творчества) big_smile.

Анализатор - занятная задачка.
Нужно ли учитывать порядок слов в обрабатываемой фразе? А как на счет предлогов?
Можно ли допустить присутствие неопознанных слов?
Стоит ли замахиваться на сложные предложения или ограничиться короткими?

А?

Неактивен

0    0    #28
18.06.2002 15:02

Ar.A.B.
Участник
Откуда: Moscow
Зарегистрирован: 30.05.2002
Сообщений: 49

Все Боги были бессмертны.....

Re: Люди-люди, человеки!!!!!!

Вот думал-думал... и чем больше думал, тем больше вопросов возникало.

Посоветуйте. Мнение выскажите. Вразумите чайника.

Нужны ли на самом деле развесистые словестные конструкции ? (и какой минимальный набор необходим)?

Насколько целесообразно заставлять пользователя применять жесткие (like English) правила грамматики и следования слов?

Настолько ли действительно необходим этот идеальный парсер? Недоумеваю! :-/

Неактивен

0    0    #29
18.06.2002 21:31

stalker
Участник
Откуда: Сургут
Зарегистрирован: 09.05.2002
Сообщений: 41
Вебсайт

wbr.

Re: Люди-люди, человеки!!!!!!

Что хочется иметь на выходе подпрограммы анализа (того, что я называю интерфейсом в целом?)

На мой взгляд на выходе мы в идеале должны получить ссылки на объекты. Глагол  и предметы упомянутые в команде. Т.е.  я ввожу "укусить змею с помощью вставной челюсти моей пра бабушки" - на выходе получаем:

объект - глагол - укусить, кусать, ...
объект - предмет - змея, аспид, гад ползучий, ...
объект - предмет - челюсть, вставная челюсть, ...

и еще нужно как-то связать объекты между собой. Т.е. выдать на выходе, что глагол применяется на объект1, а объект2 - это параметр.

Какую часть работы по взаимодействию с пользователем следует возложить на анализатор, а какую - моделингу?

ИМХО, они должны быть переплетены и взаимосвязаны, идея самодостаточного парсера, на мой взгляд ошибочна.

Наверно, возможно написать парсер, достаточно интеллектуально объясняющий игроку почему нельзя "открыть свечу" или "зажечь дверь" wink
Но, если уж приспичит big_smile вдруг сделать именно это - все прийдется переписывать.
Вообще, не стоит забывать про маштабируемость (и непредсказуемость творчества) big_smile.

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

Анализатор - занятная задачка.
Нужно ли учитывать порядок слов в обрабатываемой фразе?

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

А как на счет предлогов?

Нужны. Так же как и местоимения. Должны учитываться в действиях игрока.

"положить иголку на шкаф" и "положить иголку в шкаф"

Это разные вещи.

Можно ли допустить присутствие неопознанных слов?

На мой взгляд, нельзя.

Стоит ли замахиваться на сложные предложения или ограничиться короткими?

Для начала, думаю, что не обязательно.

Неактивен

0    0    #30
18.06.2002 21:39

stalker
Участник
Откуда: Сургут
Зарегистрирован: 09.05.2002
Сообщений: 41
Вебсайт

wbr.

Re: Люди-люди, человеки!!!!!!

Нужны ли на самом деле развесистые словестные конструкции ? (и какой минимальный набор необходим)?
Насколько целесообразно заставлять пользователя применять жесткие (like English) правила грамматики и следования слов?
Настолько ли действительно необходим этот идеальный парсер? Недоумеваю! :-/

На мой непосвященный взгляд, идеальный парсер приятен, но далеко не необходим. Вспомним времена Z80 - Spectrum, Commodore, Amga... Парсер никакущий, словарь маленький, НО какие игры!!!!  roll

Неактивен

0    0    #31
19.06.2002 03:08

dyx
Участник
Зарегистрирован: 15.12.2001
Сообщений: 99

Re: Люди-люди, человеки!!!!!!

  Красяво говорите, но я мало чего понимаю. Поэтому отвечу на последний вопрос.
   Идеальный парсер - это великая вещь! Лично мне неприятно, когда парсер программы сделан на манер "тяп-ляп - и вышло что-то" (ха, теперь я понял, почему сайт так называется!). Да и вообще - идеальный парсер - это отличный повод поднапрячь мозги. А если хотите - то делайте парсинг а-ля "Adventure"

   Отчаянный Дух (ОДИН)

Неактивен

0    0    #32
19.06.2002 09:51

Ar.A.B.
Участник
Откуда: Moscow
Зарегистрирован: 30.05.2002
Сообщений: 49

Все Боги были бессмертны.....

Re: Люди-люди, человеки!!!!!!

Сорри за вольное цитирование..
>> на выходе мы в идеале должны получить ссылки на объекты.
Легко. По падежу определяешь главный(назовем его так) член предложения (см ниже) и просто передаешь всю последовательность ему.
Пусть он разбирается, применимы ли к нему глаголы - предлоги - второстепенные члены... И отвечает об этом пользователю.

>> учитывать порядок слов можно, но закрепостит игрока.
"ящик" "сундук" "поставь" "на" wink а в этом случае как? Оба предмета в винительном падеже. smile И размера похожего wink

Неактивен

0    0    #33
19.06.2002 10:14

Ar.A.B.
Участник
Откуда: Moscow
Зарегистрирован: 30.05.2002
Сообщений: 49

Все Боги были бессмертны.....

Re: Люди-люди, человеки!!!!!!

>> >> Можно ли допустить присутствие неопознанных слов? 
>> На мой взгляд, нельзя

Парсер способный вычленить главное и правильно обработать фразу с лишними словами (естественные языки избыточны, кроме всего прочего) - большой плюс.

Надо поразмыслить....

Неактивен

0    0    #34
20.06.2002 10:34

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Люди-люди, человеки!!!!!!

    Что касается порядка слов, то если использовать предложенный мною алгоритм, то в самом упрощённом его варианте, жестко задана только позиция глагола (он идет первым, но фразу "яблоко возьми" употребляют гораздо реже чем "возьми яблоко"). Остальные члены предложения выискиваются по падежу и предлогу. То есть "поставь ящик на сундук" и "поставь на сундук ящик" на выходе будет одним и тем же, если прописать, что для глагола "поставь" основной объект (что ставим) должен находится в Вин. падеже и не иметь предлога, а вспомогательный (на что ставим) - в винительном падеже и иметь предлог "на".
     Что касается лишних слов, то если не планируется дёргать игрока фразами "я тебя не понимай", то можно просто в процессе обработки предложения пропускать незнакомые слова. Если же под конец основные объекты, необходимые для выполнения какого-то действия, отсутствуют, выдавать предупреждение или же производить действие "по умолчанию". Например, фразой "привяжи лошадь к забибулине" (слово "забибулина" компьютеру неизвестно), можно привязать лошадь к чему-либо, сопровождая это фразой типа: "Посмотрев по сторонам и не найдя ничего лучшего, вы привязали лошадь к забору."

Кстати, если в одной теме будете обсуждать все ньюансы: и парсер, и структуру локаций, и т.п., то она разбухнет так, что работать с ней будет тяжеловато. Пользуйтесь (или создавайте) смысловыми темами.

Неактивен

0    0    #35
20.06.2002 15:05

Etev
Участник
Откуда: Piter
Зарегистрирован: 03.04.2001
Сообщений: 36

Со всем своим, Этев

Re: Люди-люди, человеки!!!!!!

Господа, вот уже год, как здесь ведуться разговоры о концепциях "будущей" самой лучшей платформы, её алгоритмах, устройстве, парсере и т.д. и т.п... Ораторы гордо надувают щёки, морщат лбы, вставляют умные слова и, надо сказать, напоминают мне повозку-тройку из знаменитой басни.
Конечно, если начинающие программисты собираются оттачивать базовые умения школьного курса и показать всем, как они круты, то можно и дальше, в частности, выкидывать меговые поделки на флеше или в нцатый раз пережёвывать избитые темы...
К чему это я? Сейчас объясню, дело в том, что я не теоретик, а практик. По ходу моей нынешней работы (и учёбы) мне приходиться заниматься компьютерной лингвистикой. Это, в общем, и проблемы АИ, и говорилки, и базы знаний, и многое другое очень интересное. В частности к иф, компьютерная лингвистика может (и уже, поверьте, года два как в одном Питере) применятся в вопросах парсера. Причём, ХОРОШЕГО парсера! Понимаете? Это вам не мутя, и даже не инфокомовские игры.
Я никогда не вмешивался в обсуждение на форуме алгоритмов и новых подходов к платформам. 0: мне лениво; 1: отслеживаю (а вдруг?!!) появления гениального самородка; 2: "не мешайте молодым умам учиться думать"; 3: получаю наслаждение и хорошую дозу смеха.... Можно продолжать список.
Но, господа, вы же умные люди!!! Да просто почитать публичные наработки в инете, скачать уже выложенные модули разбивки, взять словари лексем... Боже, у вас отпадут 95% нынешних проблем! Ну неужели так сложно понять, что существуют и другие люди, кроме вас? Нельзя работать каждый раз с самого начала пути!
Тут половина умеет общаться с сями, дельфями, дотнетами - значит вы как-бы программисты (пусть не высшие профи, но всё же!). Так вспомните о существование сторонних библиотек и разработок...
Всё сказаное относилось только к парсеру, теме, с которой я точно сталкивался. Знаю, что разработки скриптовых языков и механизмов локаций тоже есть и, вроде, вполне рабочие. Неужели так сложно зайти в поисковик и уделить час внимания интересной вам теме?
Извиняюсь, за столь эмоциональный тон. Надеюсь, никого не обидел и заставил хоть чуть задуматься.

Неактивен

0    0    #36
21.06.2002 02:01

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Люди-люди, человеки!!!!!!

Большая часть того, что удаётся найти в течении первого часа, относится либо к SQL, либо к компиляторам, либо ещё к чему-нибудь, столь же далёкому.
Своё же создается не для выпендрёжа, а из соображений контроля над ситуацией, чтобы не приходилось подстраивать свои желания под что-то...

Что касается пунктов Etev'а:

Я никогда не вмешивался в обсуждение на форуме алгоритмов и новых подходов к платформам.
0: мне лениво;
1: отслеживаю (а вдруг?!!) появления гениального самородка;
2: "не мешайте молодым умам учиться думать";
3: получаю наслаждение и хорошую дозу смеха....
Можно продолжать список.


то было бы очень интересно увидеть продолжение списка...

Неактивен

0    0    #37
21.06.2002 05:21

WildWizard
Участник
Откуда: Россия, Красноярск
Зарегистрирован: 01.03.2001
Сообщений: 450
Вебсайт

Nobody expects the Spa.. Oh, never&&mind.

Re: Люди-люди, человеки!!!!!!

Да, словари лексем это круто! Пара мегабайтов бесполезной х. К тому же 10% - ошибки.
А исходники существующих систем, хоть каким-то боком относящихся к разбору, это мегабайты исходников, большинство из которых заброшены их авторами году эдак в 82 (пусть даже в 97).
Одним словом, что-то в этой идее есть, только достежимый (пока, насколько я понимаю, только теоретически) уровень анализа совершенно не нужен в IF. Да и размеры этого хозяйства вызывают опасение.

Неактивен

0    0    #38
21.06.2002 10:22

Ar.A.B.
Участник
Откуда: Moscow
Зарегистрирован: 30.05.2002
Сообщений: 49

Все Боги были бессмертны.....

Re: Люди-люди, человеки!!!!!!

Etev написал:

Господа

Любезный!...
Вам следует, на мой взгляд, заниматься не компьютерной лингвистикой,
а родной устной речью. С целью научиться выражать Ваши мысли связно,
понятно и не противоречиво.

Не могли бы Вы попробывать объяснить еще раз, что же Вы хотели сказать, да так, чтобы даже полный придурок, вроде меня, Вас понял?
Сделайте одолжение!

Теперь мой ответ на Ваш читаемый между строк вопрос "Зачем?"... Даже если его и небыло, думаю Вам полезно будет знать, что я - полная серость, посредственность и бездарность. И потому любые мои "достижения" имеют хоть какой-то вес только для меня.
А потому все что я делаю - я делаю исключительно для своего собственного удовольствия.

Неактивен

0    0    #39
21.06.2002 14:40

JackCL
Участник (+55, -24)
Зарегистрирован: 03.03.2001
Сообщений: 416

Re: Люди-люди, человеки!!!!!!

Etev, если я сплю, это не значит, что я ничего не вижу!  tongue

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

А посему, ритуально плюсую: [glb]+[/glb]

Впредь просьба быть корректней. Это относиться ко всем участникам данного треда поскольку страсти я вижу несколько накалились.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru