Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #26
06.04.2003 02:07

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 89
Вебсайт

Re: Идеальный русский парсер.

У каждого шаблона есть указатель на имя функции и порядок следования параметров (передаваемых существительных, которые указаны в падежах). Эти параметры определяются исходя из имён объектов парсером и передаются в качестве ссылок на объекты. А функция уже сама "решает", что ей делать с переданными объектами.

Неактивен

0    0    #27
06.04.2003 11:17

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

Re: Идеальный русский парсер.

Тогда, как я понял, автору игры нужно будет для команды "Надень на голову тролля горшок со сметаной" (точнее для глагола "надень") задать несколько шаблонов для корректного распознавания фраз:
"Надень на голову тролля горшок со сметаной"
"Надень горшок со сметаной на голову тролля"
"Надень горшок со сметаной на тролля"
"Надень горшок на голову тролля"
"Надень горшок на тролля"
и т.д.

Во что тогда превратится сам процесс разработки игры?..

Неактивен

0    0    #28
07.04.2003 21:33

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 89
Вебсайт

Re: Идеальный русский парсер.

Примерно так. А куда денешься? Хотя, ты подал очень интересную идею этим примером. Если действительно конструкции вроде "голова тролля" и "горшок со сметаной" рассматривать как единой целое, то фраза вообще упрощается. Надо подумать... Просто шаблоны - это метод Inform, я взял его за основу.

Неактивен

0    0    #29
22.04.2003 12:28

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Идеальный русский парсер.

Ой, прошу прощения. Ошибочка вышла. RTADS не понимал "прилагательные" идущие после определяемого слова. Для этого необходимо наличие связующего предлога "of". Например, "sheet of paper", что по-русски "лист бумаги". Таким образом, как и в случае творительного и дательного падежа, родительный падеж эквивалентен комбинации предлога и слова. Теперь это введено, а также я нашёл путь распозновать предложения типа:
"взять кольцо из золота", "подарить средство от блох, "кинуть разделочный нож для рыбы в ящик". Как и в предыдущих случаях, для поддержки этого автору необходимо ввести слова "золота","блох","рыбы" в список прилагательных и их копию с пометкой на конце ("золота#r","блох#r","рыбы#r"), что скоро можно будет сделать моим "генератором".
Теперь всё поддерживается, даже "бросить горшок со сметаной в голову тролля"
(надеть горшок со сметаной на голову тролля - реально, но муторно для реализации, так как придётся менять глагол "одеть", который пока не знает, как одевать других,
а отдельную часть тела - тем более).

Всё это теперь есть в новой версии библиотек RTADS.

Неактивен

0    0    #30
21.03.2004 14:07

Ермолаев Дмитрий
Гость

Re: Идеальный русский парсер.

у меня есть анализатор русского текста. .www
У АОТ есть еще лучше анализатор. .www
А кто какие еще знает парсеры ЕЯ текстов?

0    0    #31
23.03.2004 02:41

Gray_Flannel_Armor
Участник
Зарегистрирован: 26.01.2004
Сообщений: 45

Кто хочет найти зло - найдет его. Авраам Линкольн.

Re: Идеальный русский парсер.

>troll:create ("troll_head", "troll head")
>player:create ("pot", "pot with_smetana")


>parse "Надень на голову тролля горшок со сметаной"

Пре-парсинг:
with_smetana = со сметаной

wear = надень, надеть, одеть
on = на
head = голов*
troll = трол*
pot = горшок

wear on head troll pot with_smetana
verb = wear
prep1 = on

obj1 = head troll pot with_smetana
prep2 = with
obj2 = nil

head troll pot with_smetana не найден
head troll pot - не найден, with_smetana - найден pot with smetana
head troll найден, pot with_smetana - найден
Ok, let's see

verb = wear
prep1 = on
obj1 = head troll   -> troll_head
obj2 = pot with_smetana -> pot

troll_head:wear {preps = {"on"}, obj = pot, names = "pot with_smetana"}

Неактивен

0    0    #32
25.04.2005 09:21

Дима
Гость

Re: Идеальный русский парсер.

"Надень на голову тролля горшок со сметаной"
"Надень горшок со сметаной на голову тролля"
"Надень горшок со сметаной на тролля"
"Надень горшок на голову тролля"
"Надень горшок на тролля"

Всё это разбирает мой парсер. На выходе структура семантическая, по которой легко распознать компу что к чему происходит. Тут уже для движка, который генерирует действия идёт работа - если в действиях есть "голова" некоего объекта, то делаем действие "на голову", если нет то надеваем на сам объект. видимо горшок не налезет на самого тролля smile

Powered by PunBB
© copyright 2001–2024 iFiction.Ru