ТОМ - платформа для текстовых игр

Объявление

Платформа ТОМ предназначена для создания текстовых игр на русском языке и имеет развитый парсер, позволяющий взаимодействовать с играми с помощью команд на близком к естественному языке. В данный момент активно разрабатывается версия ТОМ 2.
Последнюю версию платформы можно скачать здесь.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Плагин - Генератор лексем

Сообщений 61 страница 70 из 70

61

Продолжаем мучать генератор  :'(  :flag:
agl("сантехник Вова") выдаёт ошибку: словосочетание "сантехник Вова" содержит более одного существительного
Но в данном случае оба слова должны синхронно склоняться...

А по отдельности agl("сантехник") и agl("Вова") отлично работает.  :cool:

62

ASBer написал(а):

словосочетание "сантехник Вова" содержит более одного существительного

Ага. Если честно, словосочетания держатся на честном слове. Для их генерации сначала определяется главное существительное в словосочетании, а затем ищутся все прилагательные, согласующиеся с ним. Все корректоры применяются к существительному. Если существительных несколько или даже есть подозрения на несколько существительных, то генерация прерывается. Как-то так, на сколько я помню. :smoke:
Здесь же и вправду довольно интересная ситуация, которую я не учёл. А ведь таких словосочетаний довольно много. Надо будет потом посмотреть и попробовать что-нибудь исправить.

63

Alexandr написал(а):

Здесь же и вправду довольно интересная ситуация, которую я не учёл. А ведь таких словосочетаний довольно много. Надо будет потом посмотреть и попробовать что-нибудь исправить.

Еще гораздо больше подобных словосочетаний пишется через дефис: "дядюшка-крот", "ёлки-палки", "слесарь-сантехник"

64

ASBer написал(а):

пишется через дефис: "дядюшка-крот", "ёлки-палки", "слесарь-сантехник"

Дефис не проблема. Все символы, не являющиеся буквами, считаются разделителями. Все неразрывные группы букв считаются словами. Так-что хоть "дядюшка-крот", хоть "дядюшка крот" - разницы ни какой. Всё равно два существительных подряд :insane:

65

ASBer написал(а):

"сантехник Вова"

А вообще, здесь довольно спорный момент. Хоть как придётся определять главное слово. Ведь если написать "сантехник Лера", то "сантехник" имеет чисто мужской род, а "Лера" чисто женский. Какой подставлять в постоянные свойства? Тут какой-то корректор нужен для пометки главного слова.
В любом случае надо писать отдельную функцию для генерации чисто таких ситуаций с несколькими существительными. Ещё и как-то совмещать со старой для обработки прилагательных. Ведь можно написать "пушистый дядюшка-крот", "очень опытный и справедливый слесарь-сантехник Вова".

66

Alexandr написал(а):

Тут какой-то корректор нужен для пометки главного слова.

Ну так у нас уже есть один корректор для несклоняемого слова - '%'
Можно расширить набор корректоров, благо знаков для этого предостаточно - #$^&*~@

67

Перечитал темку. Видимо всё так и остановилось на "сантехнике Вове".
В ТОМ 2 намечается делать поддержку старого формата лексем или запись так и останется в столбик? Просто думаю попробовать сделать поддержку ТОМа 2 в этом генераторе, а прикручивать новый формат записи лексем не хочется.

68

Alexandr написал(а):

В ТОМ 2 намечается делать поддержку старого формата лексем или запись так и останется в столбик?

Нет, не планируется.
В старом ТОМе лексема хранилась как строка.
В новом ТОМе это отдельный объект - слово. Следовательно в строковом формате для лексемы необходимости больше нет.

Мне думается, что новый формат это далеко не самое страшно с чем придётся столкнуться при переделке...

69

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

Я что-то упустил?

70

Самое главное:
Словарь должен находить слова по любой словоформе, и делать это БЫСТРО. Иначе возможны страшные тормоза.