Умный русский язык УРЯ


#1

Проект семантической паутины развивается и показывает признаки жизни.
живой пример русскоязычного Semantic Web можно посмотреть на http://feofan.com
проект, который я сейчас начинаю - это совмещение в одной онтологии описание языка и добавление фактов и правил на этом языке в онтологию

язык, который я предлагаю “онтологизировать” - это русский язык, а мир, который будет добавлен (описан в качестве примера) - это, например, мир смертного Сократа, феофановский мир Незнайки и его друзей или мир джентельменов из загадки Эйнштейна про “кто разводит рыбку?” (см. http://feofan.com )

особенностью этого проекта является то, что онтология сразу запускается на резонёре, который делает логические выводы, обнаруживая таким образом неявные логические следствия из описания языка, фактов и правил

поэтому я решил выделить эту особенность в названии УРЯ - умный (думающий, рассуждающий) русский язык, имеющий понятия об окружающей действительности

естественно, что сколько тех, кто пишет УРЯ - столько и миров, столько и языков

как сказал Витгенштейн - мир совпадает с языком (типа того) - поэтому приступим к сотворению мира, не откладывая в долгий ящик

итак, для создания умного языка-мира нам понадобится инструмент (выберем для удобства Протеже) и место, где “свёрнутый” мир (онтология) будет хранится

я сейчас проверю, сколько времени понадобится для создания простейшего мира с нуля, а потом порошу коллег (Алекса Шкотина и Дмитрия Усталова) проверить как он живёт в семантической сети

но сначала создадим самое простое, что можно придумать

сначала было слово - поэтому создадим класс “слово”

подклассами класса слова сделаем классы “предлог”, “жильё” и введём сюда для начала “в” “на”, “дом”, “хрен”

потом введём отношение “(буква)стоит_на_позиции(число)”

потом добавим несколько записей (“в” “на”, “дом”, “хрен”) и проверим, как наш умный русский язык УРЯ сообразит, какие изних - предлоги, какие - “жильё”, а какие - ни то и ни сё (пока что)

начали?

я, наверно, сейчас использую десктопный Протеже, который только что загрузил, но со временем можно будет использовать какой-нибудь ощий инструмент для написания совместных онтологий (типа WebProtege или семантической вики)

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

до встречи!


#2

ну вроде начепятал онтологию (заняло полчаса) и загрузил на сервер первый вариант УРЯ - по аглицки звучит SRULANG - smart russian language :slight_smile:

грузим онтологию в Протеже отсюда http://bb.feofan.com/srulang.owl и делимся впечатлениями

жду ответа как слолвей лета :slight_smile:


#3

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

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

вот такой проект только что начался на глазах тех, кто читает

а кто это читает???

Алекс, Дмитрий - что скажете? Где такое делается? Кто готов финансировать и участвовать? хм… похоже, что тут без Феофана не разберёшься :slight_smile:


#4

ЮМ, с феофаном можно пообщаться, wiki Tobias’a имеем подсказывающий редактор предложений на GF многоязычной грамматике.
Жду процессор с которым можно пообщаться о КРЯ.
А онтологию всякий может наваять. Кроме того у меня на OWL2 аллергия :smile:


#5

раз аллергия - то это простительно :smile:

процессор, с которым можно пообщаться о УРЯ - это машина вывода + онтология УРЯ

и это уже работает (правда в очень примитивной форме)

запускаешь какой-нибудь резонёр (HermiT, Pellet или Fact++) под онтологией http://bb.feofan.com/srulang.owl b и с удивлением обнаруживаешь, что “каракуля_в” где бува “в” стоит на первой позиции - это предлог, а “каракуля_дом”, где буква “д” - на позиции 1, о - на позиции 2, а м - на позиции 3 - это жильё!

остальное - дело техники

теперь просвети меня - где ещё есть продвинутые на логических языках машины вывода, легко адаптируемые к бесплатным сетевым серверам - типа гуглевсого облака?

ну вроде есть такое для сетевого Пролога (там тоже работает логический вывод вроде)

что ещё?

для описательных задач (типо описания языка и мира в первом приближении) - дискрипционной логики вроде вполне хватает

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

а мы народ простой - хотим, чтобы машины понимали нас так, как мы сами друг друга понимаем - без переводчика, хотя и не без проблем (приходится иногда долго объяснять)

ладно, у вас там ночь уже, а я пока почитаю новости, поразмышляю о вечных философскихпроблемах - может парсер напишу, чтоб не мучать некоторых всякими Протеже и OWL-ами

Пусть у Феофана появится дополнительная способность узнавать части речи, к примеру :smile:


#6

из википедии (сорри)

ну в принципе можно и с Прологом это всё делать

теперь о языке Хорна - ничего не понял :slight_smile:

  • чему равен один предикат математической логики дизъюнктов Хорна?
    лучший ответ:
  • 220 : 4 и умножить на мех хворой мыши… и всё разделить на 3,14

YAFOLL тоже об этом? и какая логика нам нужна, чтобы начать общаться с сетью по-человечески (т.е. по-русски)? может таки хватит для начала описательной?


#7

Онтологии строятся не по буквам, а по понятиям. При всей красоте идей Semantic Web, его практическое использование создаёт больше проблем, чем пользы. Быть может, попробовать посмотреть, что пишут исследователи по тематике natural language inference и natural language reasoning? Такие вещи следует начинать с обзора литературы.

Есть разные фонды, которые дают разные деньги на разных условиях: РФФИ, РГНФ, ФСРМФП в НТС, IT-START, и другие. Для студентов и аспирантов часто доступны именные стипендии при образовательных учреждениях.


#8

Дмитрий, это всё здорово (по очереди, начиная с литературы), но только времени маловато :smile :frowning:

я онтологию (мааленькую) построил - то есть доказал, что поняте имею, и буквы, кстати, тоже понятия (я далл ссылку на примитивную онтологию, в которой бува “в” - это понятие)

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

без обид - вы можете “дорисовать” идею и затравочную модель в “будущее”?

ведь всё-равно когда-ибудь станет понятно, как “смесь” понятий о мире и описания языка в понятиях работает на DL (успешно!) под “formal language reasoning” (которым и является УРЯ - и в попугаях он звучит гораздо приличней, ага? :slight_smile:

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

но сама идея будет работать - второй зуб даю :smile:

и спасибо за ответ - рад познакомиться

Юрий


#9

Время — очень дорогой ресурс, да. Очень приятно.


#10

ну раз так - буду продолжать :smile:

исхожу из того, что пока тут никто из присутствующих Протеже и резонёр под онтологию не запустил и выводы (выделены жёлтеньким) не увидел

придется пересказывать длинно и по-русски

задача - побуквенно вырастить простейшую онтологию, которая на резонёре проявит “сообразительность” и по ходу ввода буков выдаст некий логический вывод (то, что не было ей рассказано явно)

для этого нужно будет сделать парсер, чтобы растить (достраивать) онтологию - хотя там в интрументе (в Protege и в OWL API) есть такая возможность - merge ontologies

кстати, Дмитрий, вы на Java программируете?


#11

отвкрываем в Протеже онтологию http://bb.feofan.com/srulang.owl

если запустить там резонёр, то обнаружим (жёлтеньким), что “в” и “на” (индивидуалы) - это предлог (класс), а “дом” - это жильё (класс)

то есть, по мре введения знаний о мире и языке (в общую онтологию), Феофан будет узнавать слова, предложения и т.п. лингвистические вещи (т.е. понимать свой “русский” язык) и заодно логически выводить из всего ранее ему сказанного “скрытое” знание о мире

причём “достройка” онтологии будет осуществляться путем введения в неё последовательности букв и знаков и корреции проблем, несоответствий или представлений о том, как всё это устроено