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

Объявление

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

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

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



Стандартная библиотека

Сообщений 1 страница 4 из 4

1

Ну вот наконец вырисовалась глобальная проблема.
Суть проблемы как всегда в природе естественного языка, а именно в исключениях и особенно в количестве этих исключений.
Платформа позволяет обрабатывать исключения, прописывая определённый код и создавая вспомогательные объекты для каждого типа исключений, или для каждого конкретного исключения. Каждое исключение требует отдельного исследования и поиска решения его нейтрализации.

Но проблема в том, что это совершенно не прозрачно! 

Библиотека наполняется неким кодом, смысл и назначение которого со временем забывается, а объем кода растёт как раковая опухоль...
Для 20-30 глаголов еще возможно всё это как-то задокументировать, но в идеале хотелось бы гораздо больше!

Решение видимо будет таким:
Для версии 2.0 ограничиться этими самыми 20-30 глаголами, а  дальше искать более стройную систему управления словарём и кодом стандартной библиотеки...

2

Можно пару примеров исключений с разными путями их решения?
Неужели не найти способ разделить все исключения на несколько типов и описывать способ их устранения кратко набором правил, а не кодом?
Исключения только с глаголами?

Можно узнать формат файла словаря .dic (уже "скомпилированного" из БД)? А то в исходниках редактора словаря нет модуля, описывающего этот формат.

Отредактировано Alexandr (2013-10-14 21:42:16)

3

Я имею ввиду формат словаря в виде какого-нибудь неформального описания, наподобие такого:

8 байт - версия ("2.a.3.3" + #0)
? байт - заголовок
? байт - начала
? байт - оконания
? байт - матрица
? байт - лист
? байт - ентриес

------------ заголовок -----------
4 байта - ???
4 байта - ???
4 байта - макс длина окончаний (6)
4 байта - кол-во окончаний? (254)
4 байта - макс длина начал? (5)
4 байта - кол-во начал? (254)
4 байта - ???
4 байта - ???
4 байта - ???
4 байта - ???
4 байта - ???

------------ начала --------------
N байт - начало (остаток заполняется нулями). N берётся из "максимальной длины начала"

------------ окончания -----------
N байт - окончание (остаток заполняется нулями). N берётся из "максимальной длины окончания"

------------ матрица -------------
...

4

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

Можно пару примеров исключений с разными путями их решения?
Неужели не найти способ разделить все исключения на несколько типов и описывать способ их устранения кратко набором правил, а не кодом?
Исключения только с глаголами?

Ну вот то над чем сейчас ломаю голову: слова типа "ножницы", "штаны", "сани" не имеют форм е.ч.
Было бы просто, если бы можно было заменить формы е.ч. формами м.ч., но при согласовании с другими словами нужно использовать именно множественное число! "стальные ножницы", "штаны надеты", "сани поехали". При этом на объектном уровне эти предметы ни чем не отличаются от всех прочих... Приемлемый путь решения пока не нашел =)

Платформа позволяет вести классификацию слов параллельно с классификацией объектов. Т.е. описать грамматические классы и распределить по ним слова. Видимо это единственно правильный путь.

Исключения конечно во всех частях речи =)