Skip to content

Новый алгоритм ассоциирования и конвертации

Konstantin Polyakov edited this page Nov 14, 2015 · 16 revisions

Словосочетание, его состояние и ассоциирование. Глагол

Словосочетание - https://ru.m.wikipedia.org/wiki/Словосочетание Цитата из вышеприведённой ссылки: "Словосочета́ние — это соединение двух или нескольких самостоятельных слов, связанных по смыслу и грамматически, служащее для расчленённого обозначения единого понятия (предмета, ка­чества, действия и др.)." Другими словами, словосочетание - это несколько взаимосвязанных членов, обозначающих единое понятие. Единое понятие - это и есть объект (абстрактный или вещественный). Объекты могут закрепляться как за словами, так и за словосочетаниями.

Состояние словосочетания - это состояние объекта, закреплённого за словосочетанием. Для получения состояния используется конкретная для данного словосочетания безглагольная функция. Состояние некоторых объектов нельзя менять (курс валюты), а некоторых - можно (лампа). Состояния могут быть самые разные, но пока будем считать, что есть основное состояние. Все типы состояний имеют различный приориритет в зависимости от обстоятельства и других причин (не обязательно указанных в предложении, но также полученные из других источников - датчиков, пользователей, книг)

Примеры состояний:

  • "курс доллара по российскому банку" - 62.75 рублей;
  • "настольный светильник в комнате" - включена / выключена (определяется уровенем напряжения на её входе, уровенем фактического излучаемого света (в люменах)), светимость (уровень излучения света).
  • "адрес компьютера" - ip, mac, 192.168.0.101, aa:bb:cc:dd:ee:ff
  • "синоним такого-то слова" - ?

Глаголы могут ассоциироваться с функциями:

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

Примеры

Ассоциации "функция и глагол"

montru - $ToUser

Ассоциации "функция и глагол-обстоятельство"

montru на очках Google - GoogleGlass.ShowOnGoogleGlass

Ассоциации "функция и словосочетание, функция и глагол-словосочетание "

dolara: monero # аргументные слова
rusia: lando, nacio # после точки с запятой можно указать другое слово из другой абстр. группы.
dolara cambio de rusia banko - CurrenciesLoader.GetCourse # получение состояния

tabla: meblara; *
dormcxambro: cxambro # banko и lampo - это константные слова
tabla lampo en dormcxambro - smart_home.LightStatus # получение состояния
                           - smart_home.LightOn (sxaltu)# изменение состояния. Нужно указать дополнительный аргумент - новое сотостояние.

adreso de computilo - smart_home.showAddress

Ассоциации "функция и предложение" (с константным глаголом)

dolaro: monero; * # то есть можно подставлять любое слово из любой абстр. группы
bakso: monero; *
dolaro estas sinonimo de bakso
# estas и sinonimo - это константы. Так как в этом предложении есть глагол-константа, то указывать другие глаголы - нет смысла. В будущем можно указать функции для других наклонений и времён этого же глагола.

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

Пути преобразования предложений


  1. "montru dolaran cambion de rusia banko" - исходное предложение
  2. "montru '61.46' " - вызвали функцию CurrenciesLoader.GetCourse('dolar', 'rusi') для получения состояния.
  3. Вызываем функцию $ToUser(61.46) с передачей ей состояния объекта.

  1. "montru tablan lampon en dormcxambro"
  2. "montru 'вкл' " - вызвана функция smart_home.LightStatus('tabl', 'dormcxambr') для получения статуса
  3. Вызываем функцию $ToUser('вкл') с передачей ей состояния объекта.'

  1. "sxaltu tablan lampon en dormcxambro"
  2. Вызываем функцию smart_home.LightOn('tabl', 'dormcxambr') с передачей ей аргументов.

  1. "montru dolaran cambion de rusia banko, ke tabla lampo en dormcxambro estas 'вкл'" - исходное предложение
  2. "montru '61.46', ke 'вкл' estas 'вкл' " - вызвали функцию CurrenciesLoader.GetCourse('dolar', 'rusi') для получения состояния. Вызвали функцию smart_home.LightStatus('tabl', 'dormcxambr') для получения состояния.
  3. Если " 'вкл' estas 'вкл' ", то вызываем функцию $ToUser(61.46) с передачей ей состояния объекта.

  1. "montru adreson de computilo kaj euxran cambion de belarusia banko"
  2. "montru '192.168.0.101' kaj '70.76' " - вызваны smart_home.showAddress('computil') и CurrenciesLoader.GetCourse('euxro', 'belarusi')
  3. $ToUser(192.168.0.101, 70.76)

  1. " dolaro estas holonimo de monero "

  1. " dolaro estas sinonimo de bakso "

Все дефолтные функции должны принимать неограниченное количество аргументов. Все словосочетания должны иметь краткую формулу, по которой оно будет искаться в БД.