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

Объявление

Открыт сайт tom2-game.ru.


Последнюю версию платформы можно скачать здесь.

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

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



прототип

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

1

Пока хвастать нечем, но очень хочется:
http://s3.uploads.ru/vEZ1q.png
Язык разработки - JavaScript.

2

Ого! ИИ пишем? Что-то типа экспертной системы? Или это такое крутое продолжение движка ТОМ?

3

Скорее это переложение движка ТОМ с C++ на JS.
Но попутно, раз всё равно всё заново переписывать и чтоб 2 раза не вставать - меняется концепция.
Игра будет писаться как набор фактов и правил - т.е язык будет не алгоритмическим, а описательным.

Что из этого получится - посмотрим...

На примере ТОМ2 уже было видно, что уязвимость не в распознавании языковых конструкций, а в слабой "соображалке" движка.
Будет продукционный вывод по набору правил, ради него всё и затевается.
ИИ тут скорее всего не получится, но как маркетинговый термин вполне допустим.

4

Факты и правила... типа Пролога? Программы на нём труднее писать (перестроиться на описание правил, вместо описания алгоритма) будет. Ну может текстовых игр это не касается, посмотрим. А вот на счёт JS странный выбор. На счёт алгоритмического языка я бы ещё понял, но система логического вывода из фактов и правил... это слишком для чистого JS. Не слишком ли тормозить будет?

5

Пролог основан на математической логике и мозги выворачивает наизнанку.
У меня будет симбиоз логики и лингвистики - должно быть удобочитаемо.

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

JS хорош по многим причинам =)

6

Прототип v.0.0.2
Пока что там ничего нет кроме грамматики.
Грамматика мне будет нужна на следующем этапе, на её основе будет строиться логика.

7

Прототип v.0.0.3
Опять только грамматика, но чуть более проработанная.
Логика и парсер в зачаточном состоянии.
Зато есть всплывающая расшифровка примененных ключей:
http://forumuploads.ru/uploads/000b/f0/69/2/39160.png

8

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

Для проверки гибкости грамматики можно попробовать:
> 4 #Сщ
> 4 #Пв
> 4 #Нв
> 4 #Бв
> 4 #Ив
> 4 #Пщ
> 4 #ПвСз
> 4 #НвСз
> 4 #БвСз
> 4 #ИвСз
> 4 #ПщСз
Это всё различные формы одного отношения. Взгляд на ситуацию с разных сторон.

9

Давно не проверял форум, пропустил сообщения.

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

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

Словарь ещё не сделан? Могу попробовать слепить что-нибудь на основе словаря АОТ и старого плагина для ТОМ.
В каком формате словарь будет удобнее? JSON, или прямо js файл, создающий описание слов? Не помню там то ли 60, то ли 100 тысяч слов... в общем много чтобы вот так просто описывать их на JS.

10

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

Словарь ещё не сделан?

Мне надо просто переделать словарь от ТОМ2.
Я нацеливался на онлайн-словарь. Где-то будет развернут сервис; обращаясь к нему GET-запросом в ответ получаешь JSON с описанием слова. Ну и на локальном IP это можно будет запустить с чем-то вроде переделанным .exe от ТОМ2.

И на JS всё очень гибко. Будет функция, на вход передаёшь произвольную словоформу, на выходе получаешь JSON с описанием словарной статьи. Реализовать можно по-разному.

11

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

Где-то будет развернут сервис; обращаясь к нему GET-запросом в ответ получаешь JSON с описанием слова.

В таком случае обязательно надо сделать пакетные запросы. Чтобы одним запросом десятки и сотни словоформ проверять.

Код:
ASBer написал(а):

Будет функция, на вход передаёшь произвольную словоформу, на выходе получаешь JSON с описанием словарной статьи. Реализовать можно по-разному.

А как быть с одинаковыми словоформами? "есть" от слова "ешь" и от слова "быть"... очень много словоформ совпадают в разных словарных статьях.

12

Про пакетные запросы я не думал... звучит разумно.
Но десятки и сотни слов сразу - это излишне. Достаточно все слова в команде запросить одним запросом.

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

А как быть с одинаковыми словоформами? "есть" от слова "ешь" и от слова "быть"... очень много словоформ совпадают в разных словарных статьях.

Так же как это реализовано в ТОМ2 - все пересекающиеся слова группируются в кластеры. Словарная статья содержит все слова из одного кластера.

13

Прототип v.0.0.4
Версия довольно лохматая, выкладываю как есть для ознакомления.

Особо далеко не продвинулся.
- почистил вёрстку веб-страницы, добавил возможность вывода различной доп.информации на отдельные вкладки.
- немного усовершенствовал формирование форм =)
- есть небольшие продвижения по всем фронтам, но нет ничего прорывного.

14

Посмотрел v.0.0.4
Мысли:
1. В Firefox 68.7.0 не работает. Public class fields пока эта версия Firefox не поддерживает. Потому: SyntaxError: fields are not currently supported в файле tom-AI.js:143:8
2. Запускается в Vivaldi (клон Хрома). Но при попытке ввести команду 30 пишет:
>30
TypeError: testKettle.addStatement is not a function
test20 (file:///home/vvb/vvb/work/vvb/tom/tom_js/0.0.4/tom-AI.js:1586:13)
А так -- да, что-то пашет. Буду тестировать дальше.

15

Мультибраузерность пока не поддерживаю. Сам запускаю на хроме, и всё новое в JS что хром умеет - использую.
Тестил на опере, но это тот же хром по сути.

>30 - тупиковая ветвь, надо бы вычистить её из кода.

16

Да, это правильно и понятно, что в приоритете -- быстрое получение первой рабочей версии.
Вопрос -- какие планы? Скоро ли ожидать рабочей версии ТОМ 3.x.x.x на JS?

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

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

Как успехи с этим?

17

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

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

Как успехи с этим?

Продвигаюсь в этом направлении =)

Технология записи фактов (статика) по большей части готова. Там сейчас основное затруднение в отсутствии словаря.
В конечном итоге всё строится на словах (class Word); - даже для самого простого описания слов нужно много, описывать их вручную долго и муторно.

Технология обработки правил (динамика) всё еще в зачаточном состоянии. Общая картинка в голове сложилась, сейчас пытаюсь всё это реализовать. От того как получится, зависит дальнейшее развитие всей системы, поэтому это в приоритете.

версия 3.x.x.x - за горизонтом событий, о ней ничего неизвестно...