воскресенье, 21 июня 2015 г.

Новые правила

В голове созрел новый подход к определению языка. Он основан на высказанных ранее идеях. Больше внимания уделено простоте реализации. (Ибо у меня сейчас очень скромные ресурсы.) Платой за простоту кода выразилась в том, что текст стал сильнее отличаться от естественного языка. Посыл прежний - научиться вводить информацию так, чтобы её можно было удобно находить. Если повезёт, научиться писать инструкции для компьютера.

Начну с примера. Так выглядит простое предложение с одним глаголом, значение которого поясняется уточнениями.

созреть
    что: подход
    в чём: голова

Правда похоже на определение объекта в JavaScript?


Правило 1. Все значимые слова указываются в неопределённой форме.

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

Похоже на именование переменных.

Правило 2. Для обозначения связи слов используются вопросы от названия действия.

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

Похоже на указание типа.

Правило 3. Последовательность действий определяется в явном виде.

Поскольку глаголы используются в неопределённой формы, категории времени естественной речи утрачиваются. Время обозначается теперь явно наречиями времени либо ссылками на названное ранее действие. Например:

сделать
    что: дело
    когда: всегда

гулять
    как: смело
    после чего: сделать (ссылка)

Похоже на обработку событий.

Правило 4. Все слова являются именами собственными внутри описываемой ситуации.

Местоимения не используются. Вместо них указываются прямые ссылки на слова, употреблённые рассказчиком ранее.

Похоже на передачу аргумента по ссылке.

Правило 5. Связи носят языковой, а не понятийный характер.

Поясню примером. Вопросительное слово "когда" может значить и время и условие. Если учитывать понятия, из которой построена модель мира отдельного человека, то следовало бы сделать для каждого значения вопроса свой вариант: "когдаВремя" и "когдаУсловие". Есть исследователи, выбравшие этот путь, однако в рамках данных правил следует придерживаться языковых, а не понятийных связей.

Если в список вопросов включить союзы подчинённых предложений, то текст станет более точным: "когда", "если".

Открыт вопрос о порядке слов и определении подлежащего.

везти
    что: машина
    что: поезд

Хотя этот случай решается тестом из двух предложений.

ехать
    что: машина

везти
    что: машина (ссылка)
    что: поезд

Открыт вопрос с использованием существительных внутри вопроса: "в каком случае". Есть ощущение, что они будут мешать.

Требования к разработчику искусственного интеллекта

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