[Модуль] phpMorphy (morphy)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

[Модуль] phpMorphy (morphy)

Сообщение sergejey »

В маркет дополнений добавился пакет поддержки библиотеки phpMorphy -- библиотека морфологического анализа (включены словари русского и английского языков).

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

Изображение

Как оно работает

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

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

В качестве бонуса, при использовании морфологии в коде обработки шаблона на ряду с массивом $matches становится доступен массив $bases, который представляет собой базовые формы слов, входящих в $matches.

P.S. Базовые формы слов можно получить на демо-странице проекта phpMorphy

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Smolalex
Сообщения: 110
Зарегистрирован: Вт апр 29, 2014 9:16 pm

Re: Библиотека phpMorphy

Сообщение Smolalex »

Сергей, не получается установить из маркета. После нажатия кнопки "Добавить" что то исполняется, но также остается кнопка "Добавить" и модуль отсутствует.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Библиотека phpMorphy

Сообщение sergejey »

Smolalex писал(а):Сергей, не получается установить из маркета. После нажатия кнопки "Добавить" что то исполняется, но также остается кнопка "Добавить" и модуль отсутствует.
Похоже он всё-таки устанавливается, но в виду того, что на самом деле это не модуль в обычном понимании, а библиотека, то система маркета не распознаёт то, что он устанавливается. В общем, надо посмотреть появляется ли описанная галочка в модуле шаблонов поведения и папка с файлами по пути /lib/phpmorphy/

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Контактная информация:

Re: Библиотека phpMorphy

Сообщение m-malva »

sergejey писал(а): В качестве бонуса, при использовании морфологии в коде обработки шаблона на ряду с массивом $matches становится доступен массив $bases, который представляет собой базовые формы слов, входящих в $matches.
А можно чтоб в качестве бонуса $bases был доступен в
По истечении времени выполнить: ?
Снимок.PNG
Снимок.PNG (14.95 КБ) 13485 просмотров
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Контактная информация:

Re: Библиотека phpMorphy

Сообщение m-malva »

у меня в голове:
Хорошо бы проводить разбор при выходе в «неизвестная команда»
Упала фраза в «неизвестная команда»
Нашли глагол, «базовую форму» закинули в словарь схожих действий
Нашли существительное , закинули в словарь синонимов
Сравнили с шаблонами, нашли ветку где встречается «действие» и «существительное»
Smolalex
Сообщения: 110
Зарегистрирован: Вт апр 29, 2014 9:16 pm

Re: Библиотека phpMorphy

Сообщение Smolalex »

sergejey писал(а):
Smolalex писал(а):Сергей, не получается установить из маркета. После нажатия кнопки "Добавить" что то исполняется, но также остается кнопка "Добавить" и модуль отсутствует.
Похоже он всё-таки устанавливается, но в виду того, что на самом деле это не модуль в обычном понимании, а библиотека, то система маркета не распознаёт то, что он устанавливается. В общем, надо посмотреть появляется ли описанная галочка в модуле шаблонов поведения и папка с файлами по пути /lib/phpmorphy/
Да , спасибо! всё установилось
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Библиотека phpMorphy

Сообщение Amarok »

После установки phpMorphy перестали отрабатываться подобные шаблоны:
позвониSPOILER_SHOW

Код: Выделить всё

if (preg_match('/позвони/is',$original)) {
 $name = explode(" ", $original); $name = $name[1];
 $name = mb_strtolower($name, 'UTF-8');
 $objects = getObjectsByClass("Peoples");
 foreach($objects as $obj) {
  $n2c  = mb_strtolower(gg($obj['TITLE'].".name"),  'UTF-8');
  $n2c1 = mb_strtolower(gg($obj['TITLE'].".name1"), 'UTF-8');
  $n2c2 = mb_strtolower(gg($obj['TITLE'].".name2"), 'UTF-8');
  if ($n2c==$name or $n2c1==$name or $n2c2==$name) {
   $skypename = gg($obj['TITLE'].".Skype");
   say($skypename);
  }
 }
} 
Удаляю модуль - работают.
Моя Алиска живёт на Proxmox в Debian 12
eeak1
Сообщения: 51
Зарегистрирован: Чт май 12, 2016 9:13 am
Контактная информация:

Re: Библиотека phpMorphy

Сообщение eeak1 »

Если включить Use morphology и в коде использовать $original - на выходе получается примерно так: Что именно Включи@@@@ВКЛЮЧИТЬть?
Алиса живёт на нубуке с закрытой крышкой в Docker контейнере, соседствует с контейнерами nextcloud, plex, mosquitto, и т.д.
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Библиотека phpMorphy

Сообщение Amarok »

Ага. :( Как исправить?
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Библиотека phpMorphy

Сообщение Amarok »

up
Моя Алиска живёт на Proxmox в Debian 12
Ответить