Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Словарь концептуальных терминов тестирование #14

Open
audetv opened this issue Apr 23, 2023 · 61 comments

Comments

@audetv
Copy link
Collaborator

audetv commented Apr 23, 2023

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

демон > дтсп
демонический > дтсп
демонизм > дтсп
животный тип строя психики > жтсп
животное > жтсп
полная функция управления > пфу
гпшный > гп
глобальный предиктор > гп
предиктор глобальный > гп
всевидящее око > гп
солоха > симоньян
марго > симоньян
хутор > симоньян
хуторок > симоньян
посиделки > симоньян

Не спрашивайте почему такой выбор, так выбрал.
Файл wordforms (синонимов и исключений) это строго левая часть — это то, что запускает алгоритм исключений в тексте, правая часть — результирующая лексема. map-from-tokens => map-to-token
Демон стал > дтсп

Как работает под капотом для справки:
https://procodings.ru/dev-ru/formy-slova-protiv-isklyucheniy-v-manticore-search/
https://dev.to/sanikolaev/wordforms-vs-exceptions-in-manticore-search-256n

Через 20 минут, можно вводить эти слова и посмотреть, что происходит, какие будут мысли? Пока происходит индексация второй таблицы со словарем.

2023-04-23_22-06-00 (2)

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

У меня уже работает, поиск ищет оба варианта, например запрос ПФУ даёт обе словарные формы.

image

Пока на первый взгляд буквально то, что у меня подразумевалось в первых обсуждениях вопроса — первое слово работает как ключ, а «синонимы» подтягиваются в выдачу. По деталям будем смотреть.

Например вопрос — если у нас такая запись в словаре (первой версии):
ДТСП, демон, демонический, демонизм

То в нём только ДТСП является «ответом». Можно ли прямо в этой записи обозначить, что «ответом» должен также быть, например, демон, и «ДТСП» должен отдавать в том числе результаты с «демон»?
ДТСП, демон, демонический, демонизм

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

Или всё ещё хуже, и нам строка нужна не только для каждого ключа, но и для каждого синонима, так как символ перевода > у нас только один на строку?

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

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

демон > дтсп
дтсп > демон

то давало 2 варианта, или не будет искаться по этим словам вообще (будет 0 результатов), или просто правило не применится, ничего не произойдет, обычно ломалось и переставало искаться, это лечится только удалением таблицы и созданием заново.
Это так жестко неудобно, и я не нашел ни в доках, ни в инете пока ничего, чтобы давало описание как сделать так сказать реал тайм перезагрузку словаря. Только удаление таблицы и заново наполнять, на боевом сервере это прим 20-30мин.

С демоном там
демон > дтсп
демонический > дтсп
демонизм > дтсп
И на демонический будет подсвечены слова : демон, дтсп, демонический, демонизм но это все один ключ - ДТСП. У меня не получилось заставить это работать по-другому, только как в тех статьях по ссылкам.

Или всё ещё хуже, и нам строка нужна не только для каждого ключа, но и для каждого синонима, так как символ перевода > у нас только один на строку?

кажется у нас этот вариант. вот тот фай, что приложил это рабочий файл, который читает мантикора.

И еще например вводим: марго, все вроде бы ок, но там нет ничего про марго, которая с мастером.. т.е часть выдачи теряется

UPD: индекс со словарём заполнился, теперь полный на момент 23.04.2023 22:00 по МСК, там не будет обновлений онлайн, только в ручную могу обновлять.

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

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

Тогда всё просто  — для первичного словаря в каждой записи ищем число вхождений, и выбираем в качестве ключа тот вариант, который… чаще встречается? Или реже встречается?

И еще например вводим: марго, все вроде бы ок, но там нет ничего про марго, которая с мастером.. т.е часть выдачи теряется

Это не решается добавлением синонима к ключу «марго» — «мастер» и «МиМ», «Булгаков», «Мастер и Маргарита» и так далее?

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

Тогда всё просто  — для первичного словаря в каждой записи ищем число вхождений, и выбираем в качестве ключа тот вариант, который… чаще встречается? Или реже встречается?

Да, наверное вариант чаще встречается выбрать логичнее, но возможно и нет.

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

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

Это не решается добавлением синонима к ключу «марго» — «мастер» и «МиМ», «Булгаков», «Мастер и Маргарита» и так далее?

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

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

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

А почему просто хутор исчезает?

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

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

надо побольше идей набрать и сделать файл поинтереснее с разными вариантами

@grigorovsckaya-sandra Александра значительно увеличила количество строк. Просто продолжим работу по наполению вариантов и по переформированию словаря в технический файл для сервиса. Нужно понять, нам важнее пополнение вариантов, или продуманное форматирование?

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

А почему просто хутор исчезает?

а вот я не понял еще этого, ищу связь. Хутор со словарем 7 страниц, без словаря 8, надо просмотерть их поискать связь Возможно это и не критично, тем более если это опция, чек боксом)

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

Хутор со словарем 7 страниц, без словаря 8

341 против 356 результатов поиска. Куда-то пропадает 15 комментариев.

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

Я думаю можно и просто продолжить наполнять словарь, ведь он может пригодится и для других целей не только в этой задаче.
В этой задаче точно не в таком виде, нужен другой файл, из того файла надо сделать:
ключ > значение
на одной строке, и так много строк.

upd: читал, где-то в доках, что повторяющиеся значение не страшны, будет применено последнее.

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

просто так зол на эту мантикору

А какие есть альтернативы такого рода поиску текста?

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

Sphinx? Полное соответствие мантикоре за исключением того, что практически не документировано, в десять раз медленнее и наполнено багами до краюшка.

Redis? Там какая-то собственная возня с базой-не-базой. С мантикорой вам хотя бы можно работать через привычные SQL и PHP.

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

341 против 356 результатов поиска. Куда-то пропадает 15 комментариев

Ну и кончено такой поиск логичен только по комментариям, если подключать другие источники (Сайт Кремля и т.д.) хуторов может быть больше

Пользователь должен подключить опцию «словаря» и тем самым он переходит в другой режим поиска, связанного уже с «концептуальными синонимами».

Видимо у меня подобная мысль возникла, но я не смог сфорулировать ее так, а оформил сразу с чекбоксом вторым индексом).

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

Ну и кончено такой поиск логичен только по комментариям, если подключать другие источники (Сайт Кремля и т.д.) хуторов может быть больше

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

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

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

В словаре мантикоры есть эксепшены или какие-то стоп-слова?

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

А какие есть альтернативы такого рода поиску текста?

Вы все правильно написали, судя по всему нету альтернативы, я пока не знаю Всё, что вы перечислили, я рассматривал до запуска и выбрал мантикору. На самом деле «злость» это нормально, просто я не умею ещё готовить эту мантикору, вот и злость). Ну и доставляет дискомфорт, что порой ничего не понятно(почти всегда) и методом «тыка» двигаешься.
И надо подумать, возможно есть решение словарь плюс что-то еще надо. Мы просто это пока не знаем.

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

В словаре мантикоты есть эксепшены или какие-то стоп-слова?

По докам да, но что это, я не знаю еще.
https://manual.manticoresearch.com/Creating_a_table/NLP_and_tokenization/Ignoring_stop-words#stopwords

За такое яндекс банил )))

С яндексом понятно почему, как пошла коммерция, то они и начали вводить всякие надстройки над той мантикорой, что у них была. И там сейчас не полнотекстовый поиск, а нечто другое. Согласен, придется нам вводить свои условия и строить свой поисковик с ИИ. Попроще не получилось)

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

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

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

эх я сейчас навыдумываю, потом замучаюсь код писать

Рекомендую выдумывать исключительно лёжа, с руками подальше от клавиатур. Лень — двигатель прогресса. Выдумываешь лёжа — не делаешь лишнего, делаешь только необходимое и наиболее продуманное. Весь геоматрикс на этом. Ничего не было придумано сидя (с)

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

И там сейчас не полнотекстовый поиск, а нечто другое.

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

По докам да, но что это, я не знаю еще.
https://manual.manticoresearch.com/Creating_a_table/NLP_and_tokenization/Ignoring_stop-words#stopwords

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

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

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

Умножьте это на двадцать, и примерно представите мои ощущения от общения с этой системой.

@audetv
Copy link
Collaborator Author

audetv commented Apr 23, 2023

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

Согласен, посмотрю что это такое, будем двигаться потихоньку.

И еще замечал такое, и это надо будет проверить в след. тесте. Сейчас со словом демон, будут подсвечены демон и то что ДТСП, но не будут формы: демону, демоны, демонам и прочие формы. Т.е. если их описать в файле словаре (я так делал), то они становятся подсвеченными, но выдача как будто бы та же, т.е. как будто бы все эти формы уже были в выдаче до добавления форм, и по докам вроде пишут, что они должны учитываться, но похоже просто не подсвечиваются. Надо будет проверить этот вариант, влияет ли описание форм на кол-во/качество выдачи.

@iprst
Copy link
Collaborator

iprst commented Apr 23, 2023

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

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

Сейчас при обычном поиске «демон» будут показаны «демоны», «демона», «демонов», но не будут показаны «демонический» и «демонические», а вот при поиске концептуальном покажут и подсветят «демонических», но «демоны» или «демонов» подсвечены не будут.

@audetv
Copy link
Collaborator Author

audetv commented Apr 24, 2023

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

Да словарь есть.

Сейчас при обычном поиске «демон» будут показаны «демоны», «демона», «демонов», но не будут показаны «демонический» и «демонические», а вот при поиске концептуальном покажут и подсветят «демонических», но «демоны» или «демонов» подсвечены не будут.

Продолжение мысли про словоформы, если ввести «демону», то будет другая выдача.
Похоже, что в выдаче нет только слова демон, которое подключено в файле wordforms и имеет значение дтсп.
Т.е. все таки надо добавить различные формы слова демон в файл и посмотреть результат, точно попробую это на локальном.


Добавил файл в словарь wordforms.txt, обновил readme.md https://github.com/audetv/conceptual-dictionary
Предлагаю вносить изменения туда, следуя правилам и понимая, что этот файл уже для мантикоры в специальном формате для тестирования функции wordfirms.
https://manual.manticoresearch.com/Creating_a_table/NLP_and_tokenization/Wordforms#wordforms

В файл dictionary.txt продолжаем вносить изменения по той же схеме.

@iprst
Copy link
Collaborator

iprst commented Apr 24, 2023

Добавил файл в словарь wordforms.txt
Предлагаю вносить изменения туда

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

В файл dictionary.txt продолжаем вносить изменения по той же схеме.

Внёс с небольшими поправками всё, что вчера добавила Александра.

@audetv
Copy link
Collaborator Author

audetv commented Apr 24, 2023

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

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

upd: хаха, образы сложились, я сейчас как ИИ, обучаю свою нейросеть, ввожу данные получаю результат, откатываюсь, получаю ошибку, обрабатываю, получаю результат проверяю и так уже 2 неделю с перерывами, много результатов, много фэйлов) Обучение нейросети по мантикоре проходит, но не быстро.

@iprst
Copy link
Collaborator

iprst commented Apr 24, 2023

Ручное обновление, не подхватит.

Понял.

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

Стандартная процедура обучения. Всё нормально. Для ИИ эту схему не изобретали специально, лишь описали то что всегда существовало с появления нейронов.

@audetv
Copy link
Collaborator Author

audetv commented Apr 24, 2023

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

Finally, if a line starts with a tilde (~ ), the wordform will be applied after morphology, instead of before (note that only a single source word is supported in this case).

~демон > дтсп
дает гораздо больше результатов в выдаче и подсвечены все формы слов. И вот это настройка, именно из тех, что надо пересобрать таблицу, иначе не работает, где об этом в доках? )))

upd: надо попробвать это применить к хутору и марго

@iprst
Copy link
Collaborator

iprst commented Apr 24, 2023

если перед ключом поставить тильду, то описанию это должно применить фильтр после морфологии,

Супер.

И вот это настройка, именно из тех, что надо пересобрать таблицу, иначе не работает, где об этом в доках?

Внимание, идёт герметизация, порошок уходи.

@audetv
Copy link
Collaborator Author

audetv commented Apr 24, 2023

если перед ключом поставить тильду, то описанию это должно применить фильтр после морфологии,

Супер.

Кажется с тильдой - это то, что надо. Выдача не уменьшается по сравнению с обычным поиском, а стабильно больше по кол-ву, и комментарии не теряются вроде бы, выборочно проверял сравнивал, . т.е. одна из проверок: взял «посиделки», результат 629 на localhost против того, что сейчас на боевом «посиделки» выдают 341.
Это весь пул симоньян стал 629 против 341.

Глобальный предиктор не сильно изменилось состояние, какие-то космические цифры в обоих случаях более 24 000 комментариев.
А вот «всевидящее око» на мой взгляд надо исключить из ГП, если я захочу найти комментарий 330776 - это самый первый, если отключить концептуальный поиск, то при включенном поиске, у меня его терпение не хватило найти, все про ГП, а я хочу пост про всевидящее око.
Хотя конечно можно переключить поиск, галочку снять, обсуждаем) Тут именно, что сама фраза глобальный предиктор и ГП столько дают результатов, что туда подмешанное око с 48 записями, явно лишнее, на мой взгляд.

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

@iprst
Copy link
Collaborator

iprst commented Apr 24, 2023

А вот «всевидящее око» на мой взгляд надо исключить из ГП, если я захочу найти комментарий 330776 - это самый первый, если отключить концептуальный поиск, то при включенном поиске, у меня его терпение не хватило найти, все про ГП, а я хочу пост про всевидящее око.

Можно рассмотреть вариант, когда поиск по умолчанию будет выдавать «концептуальный словарь», а поиск по точной фразе будет отключать «концептуальный словарь».

@audetv
Copy link
Collaborator Author

audetv commented Apr 24, 2023

Можно рассмотреть вариант, когда поиск по умолчанию будет выдавать «концептуальный словарь», а поиск по точной фразе будет отключать «концептуальный словарь».

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

Сделал обновление:
405162b
Выгрузил этот файл на сервер, запустил обновление индекса, скоро будет доступен весь, сейчас в процессе индексирования 59% (ещё 10 мин)

По моему результат уже удовлетворительный.

upd: по некоторым словам появились соображения, позже напишу

@iprst
Copy link
Collaborator

iprst commented Apr 24, 2023

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

У кого виндовс достаточно свежая, можно использовать комбинацию SHIFT+WIN+S чтобы делать небольшие скриншотики, выбранные курсором после нажатия комбинации. Вот таким образом:

image

image

Что-то ДТСП мало?

@audetv
Copy link
Collaborator Author

audetv commented Apr 24, 2023

Это потому что данный функционал мантикоры не связывается с гитхабом и обновления там сюда не прилетают? Ну да, что-то типа лога наверное имеет смысл дублировать здесь. Может быть заставить мантикору отдавать лог строчкой даты и сбрасывать в файл, и файл обновлять здесь? Тогда будет видно автоматически, насколько понимаю.

Да. Чтобы было понимание, какой сейчас словарь на сервере и не задавать вопросы в issue выясняя это.
Сделал тему: terratensor/svodd#129
Выпустил версию словаря: v.0.1.0
В принципе, правило такое, если версию выпустили новую https://github.com/audetv/conceptual-dictionary/releases, значит словарь поменялся на сервере. Но продублирую это в дискуссии.

@iprst
Copy link
Collaborator

iprst commented Apr 24, 2023

В принципе, правило такое, если версию выпустили новую https://github.com/audetv/conceptual-dictionary/releases, значит словарь поменялся на сервере.

Вот и отлично.

@audetv
Copy link
Collaborator Author

audetv commented Apr 24, 2023

Подумал, надо похоже подытожить то, что мы тут в 37 комментариях обсуждали, сделать выжимку и положить в первый пост темы terratensor/svodd#129 или здесь terratensor/svodd#112

@iprst
Copy link
Collaborator

iprst commented Apr 26, 2023

Иногда подсветка подглючивает вот таким образом, ищу «гпшный», ищется ГП, но в некоторых случаях (не везде!) подсвечивается ИНВОУ:

image

@iprst
Copy link
Collaborator

iprst commented Apr 26, 2023

Иногда подсветка работает спорно. Например сейчас у нас есть блок слов, которые синонимируются на «иерархически наивысшее всеобъемлющее управление»:

~инвоу > иерархически наивысшее всеобъемлющее управление
~Бог > иерархически наивысшее всеобъемлющее управление
~господь > иерархически наивысшее всеобъемлющее управление
~вседержитель > иерархически наивысшее всеобъемлющее управление
~творец > иерархически наивысшее всеобъемлющее управление
~Аллах > иерархически наивысшее всеобъемлющее управление
надмирная реальность > иерархически наивысшее всеобъемлющее управление

Проблема заключается в том, что любой ключевой запрос типа «господь» или «творец» даст в результатах выдачи подсветку отдельных слов из синонима «иерархически наивысшее всеобъемлющее управление», например засветит одно слово «управление»:

image

Или «всеобъемлющая»:

image

И хотя весь набор слов:

  • иерархически
  • наивысшее
  • всеобъемлющее
  • управление

— в целом соответствует понятию Бог и не является оффтопом, тем не менее возникает некоторое удивление.

Пусть будет? Не мешает, вроде?

@audetv
Copy link
Collaborator Author

audetv commented Apr 26, 2023

«иерархически наивысшее всеобъемлющее управление» Я намеренно поставил справа, что бы посмотреть как это будет. В самом начал я сделал так
иерархически наивысшее всеобъемлющее управление > инвоу
И все слова по теме инову вели на > инвоу, но возникла идея поменять местами, посмотреть, что будет.

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

@iprst
Copy link
Collaborator

iprst commented Apr 26, 2023

Отлично, значит так и будем делать — в «синонимах» отдаётся предпочтение варианту из одного слова или аббревиатуры, то есть в wordforms это слово ставим справа:

иерархически наивысшее всеобъемлющее управление > инвоу
полная функция управления > ПФУ

@iprst iprst transferred this issue from terratensor/svodd Jun 12, 2023
@iprst
Copy link
Collaborator

iprst commented Jul 1, 2023

У меня по словарю есть ОС — спрашивают, почему поиск по «пфу» с концептуальным словарём содержит 391 запись, а поиск «полной функции управления» без концептуального словаря 486 записей.

Логично было бы предполагать, что подключение концептуального словаря должно давать 486+ записей, поскольку будут показаны все они плюс «синонимы».

Возможно, что-то отключилось при переезде словаря на поддомен?

@audetv
Copy link
Collaborator Author

audetv commented Jul 2, 2023

Это потому что вордвормы для словосочетаний так работают. Во прямо в лоб, как форма звучит, так и ищет соответствия(для отдельных слов это работает лучше, есть тильда перед словом) , поищите поиском на странице с результатами другие формы слова полная - полной функции, полную функцию и. Тд. Все эти формы прошли мимо. Плюс последовательность слов, вроде бы тоже, имеет значение. Я ранее на это обращал внимание при составлении словаря, что что-то не то) и вот сейчас хороший пример у нас. Но теперь мы имеем способ быстрого обновления словаря (словарь коб на сервере обновляется за 20-30 сек, а поиск по фкт 15 минут) теперь можно поэкспериментировать с формами слов в словосочетания, ранее это было очень долго, а на малых выборках сложно увидеть отследить варианты. Можем начть с пфу. У нас много в словаре подобных сочетаний. Супер полезная обратная связь!

https://manual.manticoresearch.com/Creating_a_table/NLP_and_tokenization/Wordforms#wordforms

Upd: с вектором состояния такая же история, ищется только форма - вектор состояния

@audetv
Copy link
Collaborator Author

audetv commented Jul 2, 2023

Надо проверить, что значит этот параграф по ссылке выше:

You can map several source words to a single destination word. The process happens on tokens, not the source text, so differences in whitespace and markup are ignored.

Как то ранее мы решили, в значениях не использовать словосочетания, ну, т. е. Пфу > полная функция управления, мы пишем : полная функция управления > Пфу, возможно есть смысл откатиться назад и ещё раз проверить, что даёт перестановка, во всяком случае, у меня появилась потребность освежить это в памяти.

@iprst
Copy link
Collaborator

iprst commented Jul 2, 2023

Это потому что вордвормы для словосочетаний так работают. Во прямо в лоб, как форма звучит, так и ищет соответствия

Правильно я понимаю, что решением может быть добавление всех склонений и спряжений для словосочетаний?

Тогда для ПФУ весь список будет таким:

полная функция управления > пфу
полной функции управления > пфу
полную функцию управления > пфу
полной функцией управления > пфу
полная функция > пфу
полной функции > пфу
полную функцию > пфу
полной функцией > пфу
функция управления > пфу
функции управления > пфу
функцию управления > пфу
функцией управления > пфу

Надо проверить, что значит этот параграф по ссылке выше:

You can map several source words to a single destination word. The process happens on tokens, not the source text, so differences in whitespace and markup are ignored.

Можно прикрепить несколько источников к целевому слову, но процесс относится к токенизации, не к тексту-источнику, таким образом различия в «пробелах» и «разметке» игнорируются. Здесь под пробелами идут полагаю все символы, которые по умолчанию приравнены к пробелу, это плюсы, минусы, тире, дефисы, знаки равенства и тому подобное; а разметка это кажется буквально разметка, например html теги в треугольных скобках.

@audetv
Copy link
Collaborator Author

audetv commented Jul 2, 2023

Правильно я понимаю, что решением может быть добавление всех склонений и спряжений для словосочетаний?

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

Тогда для ПФУ весь список будет таким:

Хорошо.

но процесс относится к токенизации, не к тексту-источнику,

Я вот это и не понимаю, что значит. Пока не дошло)

@iprst
Copy link
Collaborator

iprst commented Jul 2, 2023

Ещё заметил форму: управление по полной функции, интересно, как это сработает, будет игнор? Проверим.

Она перечислена в форме «полной функции» без предлога. Думаю будет искаться.

Я вот это и не понимаю, что значит. Пока не дошло)

Как я понял — они говорят что нужно обращать внимание на то, что словосочетания это не просто «текст», а токенизированный: во-первых в нём несколько слов, поэтому во-первых имеются пробелы (или другие знаки в том числе разметка), а во-вторых каждое слово токенизируется по своему алгоритму, то есть в работе не одна токенизация, а несколько (предлоги, спряжения, склонения, и тд).

@iprst
Copy link
Collaborator

iprst commented Jul 2, 2023

Сайт переодически не работает, это вы тестируете новые формы, или у меня проблемы?

@audetv
Copy link
Collaborator Author

audetv commented Jul 2, 2023

Нет я не тестирую. Пока не знаю что это. У меня сейчас работает и ранее час - полтора назад работал. Позже посмотрю логи, были ли падения. А что пишет, когда не работает?

@iprst
Copy link
Collaborator

iprst commented Jul 2, 2023

Ничего не пишет, хром показывает обычную заглушку как в ситуации с несуществующим доменом:

This site can’t be reached
Check if there is a typo in address
If spelling is correct, try running Windows Network Diagnostics
DNS_PROBE_FINISHED_NXDOMAIN

Раза три такое было за сегодня. Но быстро прекращалось, в течение минуты.

@audetv
Copy link
Collaborator Author

audetv commented Jul 2, 2023

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

@iprst
Copy link
Collaborator

iprst commented Jul 2, 2023

Да, я думаю это где-то с провайдерами. Другие сайты ошибок не давали, видимо где-то ближе к селектелу дело.

@audetv
Copy link
Collaborator Author

audetv commented Jul 2, 2023

Обновил словарь, добавил:

полная функция управления > пфу
полной функции управления > пфу
полную функцию управления > пфу
полной функцией управления > пфу
полная функция > пфу
полной функции > пфу
полную функцию > пфу
полной функцией > пфу
функция управления > пфу
функции управления > пфу
функцию управления > пфу
функцией управления > пфу

Результатаов стало больше:

У меня по словарю есть ОС — спрашивают, почему поиск по «пфу» с концептуальным словарём содержит 391 запись, а поиск «полной функции управления» без концептуального словаря 486 записей.

@iprst
Copy link
Collaborator

iprst commented Jul 2, 2023

Результатаов стало больше

Так точно. Значит всё правильно распознали. Нужно теперь просклонять весь словарь, верно?

@audetv
Copy link
Collaborator Author

audetv commented Jul 2, 2023

Похоже на то, но я еще почитаю, поищу информацию, может есть какой-то еще способ.

Те примеры что в документации они чисто коммерческие, вот нужен запрос коре 2дуо, и понято, что если у нас магазин, то все формы которые мы употребляем в именительном падеже, ну или во всяком случае мы знаем, как у нас написан текст, его можем написать под словарь, а туту ситуация обратная)

Мне даже интересно , рассчитывали мантикору на такие сценарии, как наш... но выход мы нашли, а если найдем выход лучше, то изменим.

Видимо да, надо просмотреть словарь и просклонять фразы, те которые имеет смысл склонять

@iprst
Copy link
Collaborator

iprst commented Jul 2, 2023

Можно программой просколнять типа https://morpher.ru

Вопрос падеж единственное число множественное число
кто, что? И: полная функция управления полные функции управления
кого, чего? Р: полной функции управления полных функций управления
кому, чему? Д: полной функции управления полным функциям управления
кого, что? В: полную функцию управления полные функции управления
кем, чем? Т: полной функцией управления полными функциями управления
о ком, о чём? П: о полной функции управления о полных функциях управления

@audetv
Copy link
Collaborator Author

audetv commented Jul 2, 2023

Да, хорошо, воспользовался:

Склонение по падежам
Пример вызова функции склонения через HTTP GET:

https://ws3.morpher.ru/russian/declension?s=вектор состояния

просклонял вектор целей и вектор состояния со множественным числом, не уверен, что надо множественное число, но результат сейчас такой, еще больше совпадений: https://svodd.ru/dkgrvNgS

Потихоньку просклоняю словарь)

@iprst
Copy link
Collaborator

iprst commented Jul 2, 2023

Быстро вы.
Отлично.

@iprst
Copy link
Collaborator

iprst commented Sep 7, 2023

Юрий напомнил синоним соловью — дуче
Сейчас дуче работает как уточняющее слово и обрезает огромную кучу результатов по «соловью» с 2700 до 30.

@audetv
Copy link
Collaborator Author

audetv commented Sep 7, 2023

ага, хорошо, надо будет добавить.

Просклонять словарь надо будет, вообще забыл) так и не сделано.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants