[Модуль] phpMorphy (morphy)
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
[Модуль] phpMorphy (morphy)
В маркет дополнений добавился пакет поддержки библиотеки phpMorphy -- библиотека морфологического анализа (включены словари русского и английского языков).
Из прикладого использование на данный момент релизовано использование этой библиотеки в шаблонах поведения. Если этот модуль установлен, то в шаблонах поведения появляется новая галочка в настройках шаблона:
Как оно работает
При включении этой галочки, совпадение шаблона проверяется не только по исходному тексту, но и по тексту состоящему из базовых форм каждого из слов. Если у какого-то из слов несколько базовых форм, то в поиске учавствуют фразы со всеми комбинациями этого слова.
Покажу на примере. Имеем шаблон: "закрыть дверь". В обычном случае от пользователя требуется точное совпадение формулировки (использование регулярных выражений для подмены окончаний здесь не рассматриваем). В случае же включения галочки использования морфологии, пользователь может сказать "закрой двери" и система всё равно найдёт совпадение по шаблону "закрыть дверь" (слово "закрой" преобразуется в базовую форму "закрыть", а "двери" в "дверь").
В качестве бонуса, при использовании морфологии в коде обработки шаблона на ряду с массивом $matches становится доступен массив $bases, который представляет собой базовые формы слов, входящих в $matches.
P.S. Базовые формы слов можно получить на демо-странице проекта phpMorphy
Из прикладого использование на данный момент релизовано использование этой библиотеки в шаблонах поведения. Если этот модуль установлен, то в шаблонах поведения появляется новая галочка в настройках шаблона:
Как оно работает
При включении этой галочки, совпадение шаблона проверяется не только по исходному тексту, но и по тексту состоящему из базовых форм каждого из слов. Если у какого-то из слов несколько базовых форм, то в поиске учавствуют фразы со всеми комбинациями этого слова.
Покажу на примере. Имеем шаблон: "закрыть дверь". В обычном случае от пользователя требуется точное совпадение формулировки (использование регулярных выражений для подмены окончаний здесь не рассматриваем). В случае же включения галочки использования морфологии, пользователь может сказать "закрой двери" и система всё равно найдёт совпадение по шаблону "закрыть дверь" (слово "закрой" преобразуется в базовую форму "закрыть", а "двери" в "дверь").
В качестве бонуса, при использовании морфологии в коде обработки шаблона на ряду с массивом $matches становится доступен массив $bases, который представляет собой базовые формы слов, входящих в $matches.
P.S. Базовые формы слов можно получить на демо-странице проекта phpMorphy
- За это сообщение автора sergejey поблагодарили (всего 7):
- Alien (Вт май 17, 2016 5:54 pm) • Amarok (Ср май 18, 2016 7:58 am) • nick7zmail (Ср май 18, 2016 10:55 am) • olehs (Сб май 21, 2016 10:33 am) • Otto (Вт июн 07, 2016 6:01 am) • savenko_egor (Ср окт 05, 2016 6:37 am) • Denis_k (Чт авг 17, 2017 9:34 pm)
- Рейтинг: 8.14%
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 110
- Зарегистрирован: Вт апр 29, 2014 9:16 pm
- Благодарил (а): 7 раз
- Поблагодарили: 13 раз
Re: Библиотека phpMorphy
Сергей, не получается установить из маркета. После нажатия кнопки "Добавить" что то исполняется, но также остается кнопка "Добавить" и модуль отсутствует.
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Библиотека phpMorphy
Похоже он всё-таки устанавливается, но в виду того, что на самом деле это не модуль в обычном понимании, а библиотека, то система маркета не распознаёт то, что он устанавливается. В общем, надо посмотреть появляется ли описанная галочка в модуле шаблонов поведения и папка с файлами по пути /lib/phpmorphy/Smolalex писал(а):Сергей, не получается установить из маркета. После нажатия кнопки "Добавить" что то исполняется, но также остается кнопка "Добавить" и модуль отсутствует.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- m-malva
- Сообщения: 291
- Зарегистрирован: Чт фев 26, 2015 1:38 am
- Откуда: Санкт-Петербург
- Благодарил (а): 16 раз
- Поблагодарили: 66 раз
- Контактная информация:
Re: Библиотека phpMorphy
А можно чтоб в качестве бонуса $bases был доступен вsergejey писал(а): В качестве бонуса, при использовании морфологии в коде обработки шаблона на ряду с массивом $matches становится доступен массив $bases, который представляет собой базовые формы слов, входящих в $matches.
По истечении времени выполнить: ?
- Рейтинг: 1.16%
- m-malva
- Сообщения: 291
- Зарегистрирован: Чт фев 26, 2015 1:38 am
- Откуда: Санкт-Петербург
- Благодарил (а): 16 раз
- Поблагодарили: 66 раз
- Контактная информация:
Re: Библиотека phpMorphy
у меня в голове:
Хорошо бы проводить разбор при выходе в «неизвестная команда»
Упала фраза в «неизвестная команда»
Нашли глагол, «базовую форму» закинули в словарь схожих действий
Нашли существительное , закинули в словарь синонимов
Сравнили с шаблонами, нашли ветку где встречается «действие» и «существительное»
Хорошо бы проводить разбор при выходе в «неизвестная команда»
Упала фраза в «неизвестная команда»
Нашли глагол, «базовую форму» закинули в словарь схожих действий
Нашли существительное , закинули в словарь синонимов
Сравнили с шаблонами, нашли ветку где встречается «действие» и «существительное»
- Рейтинг: 1.16%
-
- Сообщения: 110
- Зарегистрирован: Вт апр 29, 2014 9:16 pm
- Благодарил (а): 7 раз
- Поблагодарили: 13 раз
Re: Библиотека phpMorphy
Да , спасибо! всё установилосьsergejey писал(а):Похоже он всё-таки устанавливается, но в виду того, что на самом деле это не модуль в обычном понимании, а библиотека, то система маркета не распознаёт то, что он устанавливается. В общем, надо посмотреть появляется ли описанная галочка в модуле шаблонов поведения и папка с файлами по пути /lib/phpmorphy/Smolalex писал(а):Сергей, не получается установить из маркета. После нажатия кнопки "Добавить" что то исполняется, но также остается кнопка "Добавить" и модуль отсутствует.
- Amarok
- Сообщения: 1427
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Библиотека phpMorphy
После установки phpMorphy перестали отрабатываться подобные шаблоны:
Удаляю модуль - работают.
позвониПоказать
Код: Выделить всё
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
-
- Сообщения: 51
- Зарегистрирован: Чт май 12, 2016 9:13 am
- Благодарил (а): 22 раза
- Поблагодарили: 11 раз
- Контактная информация:
Re: Библиотека phpMorphy
Если включить Use morphology и в коде использовать $original - на выходе получается примерно так: Что именно Включи@@@@ВКЛЮЧИТЬть?
Алиса живёт на нубуке с закрытой крышкой в Docker контейнере, соседствует с контейнерами nextcloud, plex, mosquitto, и т.д.
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz