Open audetv opened 1 year ago
Пока вернул сайт на сборку #345 Merge pull request #160 from audetv/placeholder #345 https://github.com/audetv/fct-search/actions/runs/4832111431 жизнь и бытие не выдают результат. В стоп словах?
Так как, по всей видимости, проблема не в фильтре, вернул на сборку #351 Merge pull request #163 from audetv/search-date-filter
https://github.com/audetv/conceptual-dictionary/blob/main/manticore/stopwords/ru В списке стоп слов: жизнь и быть. Похоже по этому списку надо пройти с «расчёской».
Похоже по этому списку надо пройти с «расчёской».
Конечно. Это неизбежно, ведь актуальные правила пополнения словаря не определены, поскольку (а) на момент начала работы не была известна технологическая часть и (б) основная часть правил проистекает из опыта использования, который требуется получить.
Сейчас, наверное, можно попробовать написать первый вариант правил.
https://github.com/audetv/conceptual-dictionary/blob/main/manticore/stopwords/ru В списке стоп слов: жизнь и быть. Похоже по этому списку надо пройти с «расчёской».
плюс Хорошее (смотрела это слово как синоним Добру, но думаю его резать к чёртовой матери, не дожидаясь перитонита ))
на все эти запросы вылезает один и тот же список записей https://svodd.ru/?search%5Bquery%5D=хорошее&search%5Bmatching%5D=&search%5Bmatching%5D=match_phrase&search%5Bdate%5D=&search%5Bdictionary%5D=0
собака
, кошка
, лебедь
, проверяется запросом:Удаление отдельных «синонимов» в окне ввода поискового запроса или добавление новых позволяет проверить размер выдачи и релевантность «синонимизирования».
Такие проверки предполагаемых результатов выдачи хороши тем, что отсутствует необходимость фактического пополнения словаря, достаточно просто смоделировать его будущее поведение.
ПРАВИЛО 1
Перед пополнением словаря проверяем предполагаемые «синонимы» методом «По совпадению слов». Так, сочетание предполагаемых «синонимов»
собака
,кошка
,лебедь
, проверяется запросом:svodd.ru/собака+кошка+лебедь
Удаление отдельных «синонимов» в окне ввода поискового запроса или добавление новых позволяет проверить размер выдачи и релевантность «синонимизирования».
Такие проверки предполагаемых результатов выдачи хороши тем, что отсутствует необходимость фактического пополнения словаря, достаточно просто смоделировать его будущее поведение.
не знаю, мне пока что удобнее вносить каждое слово/фразу по отдельности,
у меня вопрос в отношении понятий Добро-Зло (Хорошо-Плохо) - результаты поиска неадекватны = Добро-Доброе не регистрируется пока, = Зло выдаёт все предложения со словом "злой", в т.ч. Злой Кот, = Плохо - точно так же выдаёт все предложения с прилагательным "плохой" не в тему борьбы добра и зла (но "борьба добра и зла" выдаёт результат) === очень жаль, что тема "что такое хорошо и что такое плохо" не отражается, там есть интересные дискуссии
не знаю, мне пока что удобнее вносить каждое слово/фразу по отдельности
Правила это вопрос не столько удобства, сколько цели. Цель — включить в выдачу по одному запросу собака
несколько дополнительных выдачей по другим запросам кошка
, лебедь
. Все такие запросы становятся «синонимами» в концептуальном словаре. ПРАВИЛО 1 позволяет на этапе проверки идеи «а синонимы ли это», ещё до внесения строки в словарь, установить, является ли выдача по ним в совокупности подходящей к исходному слову, или нет.
Само правило по сути служит тому, чтобы не приходилось выполнять лишнюю работу по наполнению словаря, что ведёт к лишней работе по фиксированию wordforms. С помощью ПРАВИЛА 1 можно как вносить новые строки в словарь, так и проверять уже существующие строки на предмет их соответствия ожидаемому поведению «концептуального словаря».
С помощью ПРАВИЛА 1
проверила комбинацию ДОБРО ЗЛО ХОРОШО ПЛОХО и получила результат 23К+ комментариев, в которых снова повторялся модуль "все комменты со словом плохой, хороший или будьте добры", хотя та дискуссия, которую я упоминала, выплыла сразу...
ещё хочу предупредить: я "причесала" список до буквы З включительно и сохранила изменения
у меня вопрос в отношении понятий Добро-Зло (Хорошо-Плохо) - результаты поиска неадекватны = Добро-Доброе не регистрируется пока, = Зло выдаёт все предложения со словом "злой", в т.ч. Злой Кот, = Плохо - точно так же выдаёт все предложения с прилагательным "плохой" не в тему борьбы добра и зла (но "борьба добра и зла" выдаёт результат)
Этому несколько причин.
собака
, собаки
, собакой
, однако не всегда будут найдены слова другой части речи, например собачий
или собакин
(фамилия, воспринимаемая как наречие?). Поведение индекса в отношении зло=злой, добро=добрый выпадает из этой логики, так, например, запрос добро равен запросу добро добрый, но не равен запросу добро добрый добренький, при этом запрос добрый не равен запросу добрый добренький. В общем, мантикора не шибко русская.Откуда вывод — в настоящий момент расширение словаря имеет смысл делать только в том случае, когда поиск «по совпдению слов» всех подключаемых терминов увеличивает полезную выдачу, но не приносит слишком много мусора.
Хм. А почему запрос бытие жизнь отдаёт в выдаче вопрос?
Потому что поиск и по вопросам и по комментариям, так было с самого начала. У них разные типы и их можно визуально как то выделять, если необходимо, надо придумать и сделать issue )
Я не ожидал, что при вводе стоп слов он выдаст всю выдачу, я делал специальные исключения для этого, чтобы не грузить 300т+ результатов, но не доделал. Я у себя в какой то момент на локальной версии отключил стоп слова, аот оно и сказалось. Идея была, что на такой запрос будет строка: Задан пустой поисковый запрос. Т.е. по идее поиск со стоп словом не должен ничего в выдачу давать. ввести И - сейчас будет 300+ результатов, но я считаю это не правильным, и это будет тормозить поиск, повлияет на производительность. Что должно отображаться, если ввели стоп слово? Идеи?
Потому что поиск и по вопросам и по комментариям, так было с самого начала.
Понял. Раньше внимания не привлекало. Тем не менее как ответить на вопрос, почему этот текст показан в выдаче по запросу бытие жизнь? Я не уловил ни бытия ни жизни:
Приветствую! С какой целью исполком МОК одобрил (22 апреля) предложение изменить девиз Олимпийских игр? Согласно новому варианту, теперь девиз Олимпийских игр будет звучать так: "быстрее, выше, сильнее - вместе" (на латыни - citius, altius, fortius - communis). https://rsport.ria.ru/20210422/deviz-1729515166.html
их можно визуально как то выделять, если необходимо, надо придумать и сделать issue )
Как минимум ссылка «Перейти к комментарию на ФКТ» теперь выглядит нелогично, ведь это не комментарий.
поиск со стоп словом не должен ничего в выдачу давать. ввести И - сейчас будет 300+ результатов, но я считаю это не правильным, и это будет тормозить поиск, повлияет на производительность. Что должно отображаться, если ввели стоп слово? Идеи?
Так вот же:
на такой запрос будет строка: Задан пустой поисковый запрос
Сейчас на пустой поисковый запрос выдаёт правильно, точно такую выдачу нужно на стоп-слова:
коллеги, у меня снова вопросы:
моё предложение: оставить только "сакральный" и "эзотерический", можно и "знание", т.к. обычно речь именно о знании "царской информации"
убирать ли из списка то, что не имеет "отклика" в комментах, нпр., Инверсия приоритетов?
очень важное понятие "качество управления" разбивается на излишние, не в тему "качество" и "управление" то же самое с "реальным управлением", НО по-отдельности, с кнопкой "по соответствию фразе", выдаётся нормальный результат, хотя с той же кнопкой и вместе результата нет ("по совпадению слов" 48К комментов)
- в отношении понятия "царская информация", в соответствии с Правилом №1 выпадает много мусора с просто "информацией" или просто "царским",
Поиск в большинстве режимов воспринимает пробел как разделитель поисковых запросов, и только при выборе варианта «по соответствию фразе» позволяет найти запрос как словосочетание. Однако для подобных составных терминов подключение концептуального словаря в целом решает проблему, например «поиск по умолчанию» запроса полная функция управления отсекает ненужные результаты, во всяком случае некоторые, например из выдачи исчезает комментарий #433956, в котором есть слова «полная», «функция» и «управления», но не выраженные в качестве концептуального термина, при этом размер выдачи увеличивается почти втрое (из-за синонимов ПФУ и тд). Скорее всего для «царской информации» будет выполняться та же логика.
моё предложение: оставить только "сакральный" и "эзотерический", можно и "знание", т.к. обычно речь именно о знании "царской информации"
Убирать словосочетания скорее всего не потребуется (к тому же сама по себе «мусорная» выдача не космических размеров), но нужно определить ключевое слово, как мы установили, в роли ключевого слова должен выступать короткий вариант понятия или аббревиатура, но нельзя делать ключевым словом словосочетание. По мне «сакральный» это хороший вариант, поскольку существует понятие «сакральность власти», но с другой стороны «царскую информацию» можно вписать под уже внесённое в словарь понятие «власть», которое максимально описывает суть того, о чём эта «царская информация».
Кто что думает?
2. убирать ли из списка то, что не имеет "отклика" в комментах, нпр., Инверсия приоритетов?
Если есть хороший синоним, то зачем убирать? А если синонима нет, то и проблемы нет.
3. очень важное понятие "качество управления" разбивается на излишние, не в тему "качество" и "управление" то же самое с "реальным управлением", НО по-отдельности, с кнопкой "по соответствию фразе", выдаётся нормальный результат, хотя с той же кнопкой и вместе результата нет ("по совпадению слов" 48К комментов)
Эти словосочетания нужно обдумать. Они входят в разные типы понятий ДОТУ, которые сами по себе ещё нужно попробовать объединить, основная проблема в том, что для этих понятий не существует единого обобщающего термина, выраженного одним словом, которое могло бы быть ключевым.
собака
, кошка
, лебедь
, проверяется запросом:полная функция управления > ПФУ
иерархически наивысшее всеобъемлющее управление > ИНВОУ
svodd.ru/качество управления svodd.ru/вектор текущего состояния
насчёт "царской информации" и "сакральный" согласна - мой выбор тоже за этим последним,
Правило 3 - часто им пользуюсь как раз в случаях словосочетаний
я чего-то натворила, а всего-то лишь перешла по ссылке "качество управления", и половина issue исчезла
Обновите страницу. Гитхаб хранит вид страницы последнего посещения, и если перейти по ссылке куда-то и затем вернуться, то он отдаёт некую старую копию страницы.
я чего-то натворила, а всего-то лишь перешла по ссылке "качество управления", и половина issue исчезла
Обновите страницу. Гитхаб хранит вид страницы последнего посещения, и если перейти по ссылке куда-то и затем вернуться, то он отдаёт некую старую копию страницы.
страница сама вернулась )
я ещё раз прочесала то, что делала вчера, и спустилась ниже по списку, снова есть изменения, хотелось бы получить ваше мнение и конструктивную критику
я ещё раз прочесала то, что делала вчера, и спустилась ниже по списку, снова есть изменения, хотелось бы получить ваше мнение и конструктивную критику
В процессе переноса содержимого словаря в wordforms возникнут конфликты сущностей, которых можно избежать на этапе составления словаря. Например:
Вера, суеверие, религия, конфессия, вера богу, вера в бога, вероучения, идолопоклонство
По сути разделяется на две сущности:
вера, суеверие, вера богу, вероучения
религия, конфессия, вера в бога, идолопоклонство
Которые в wordforms будут представлены следующим образом:
суеверие > вера
вера богу > вера
вероучения > вера
конфессия > религия
вера в бога > религия
идолопоклонство > религия
Подобная ситуация наблюдается с рядом строк, поэтому можно предположить, что имеет смысл сформированный словарь попробовать перенести в wordforms согласно ПРАВИЛАМ, многое станет понятно сразу по факту работы с этим файлом. Добавил туда вышеупомянутые синонимы «веры» и «религии». Можете попробовать добавлять туда свои пары, имея в виду что после > должно идти ключевое слово, которое должно быть одним словом или аббревиатурой, при этом максимально отражать суть понятия, насколько это возможно передать одним словом.
я ещё раз прочесала то, что делала вчера, и спустилась ниже по списку, снова есть изменения, хотелось бы получить ваше мнение и конструктивную критику
В процессе переноса содержимого словаря в wordforms возникнут конфликты сущностей, которых можно избежать на этапе составления словаря. Например:
Вера, суеверие, религия, конфессия, вера богу, вера в бога, вероучения, идолопоклонство
По сути разделяется на две сущности:
вера, суеверие, вера богу, вероучения
религия, конфессия, вера в бога, идолопоклонство
Которые в wordforms будут представлены следующим образом:
суеверие > вера вера богу > вера вероучения > вера конфессия > религия вера в бога > религия идолопоклонство > религия
Подобная ситуация наблюдается с рядом строк, поэтому можно предположить, что имеет смысл сформированный словарь попробовать перенести в wordforms согласно ПРАВИЛАМ, многое станет понятно сразу по факту работы с этим файлом. Добавил туда вышеупомянутые синонимы «веры» и «религии». Можете попробовать добавлять туда свои пары, имея в виду что после > должно идти ключевое слово, которое должно быть одним словом или аббревиатурой, при этом максимально отражать суть понятия, насколько это возможно передать одним словом.
в принципе согласна , за исключением вопроса "веры и религии" - мы же, вроде, договаривались, что в строке не обязательно должны быть синонимы, но и те понятия, которые идут в дискуссиях рядом...
в связи с этим, следующее слово - "народ", в обсуждениях чаще идёт речь о народе и толпе, а не о народе как нации; ваши предложения, каким образом разделить эти понятия
в строке не обязательно должны быть синонимы, но и те понятия, которые идут в дискуссиях рядом...
Всё верно. В некоторых случаях, как здесь, имеет концептуальный смысл разделять запрос на антонимы, поскольку в концепции эти понятия целенаправленно выделены в противоположные по смыслу группы. Кроме того, сейчас общий набор выдаёт многовато записей, почти 25К.
в связи с этим, следующее слово - "народ", в обсуждениях чаще идёт речь о народе и толпе, а не о народе как нации; ваши предложения, каким образом разделить эти понятия
Именно. Тут нужно определить, о каком народе мы говорим. Есть ключевое слово народ и мы его определим как субъект управления, обладающий произволом. А в противовес ему антонимы объединим под словом толпа. То есть нужно как и «веру ≠ религию» разбросать термины на две группы.
что делать с понятиями "внутренняя политика", "внешняя политика", "глобальная политика"? одним словом/аббревиатурой не назовёшь, однословных адекватных синонимов нет
что делать с понятиями "внутренняя политика", "внешняя политика", "глобальная политика"? одним словом/аббревиатурой не назовёшь, однословных адекватных синонимов нет
Ничего не делать. Пусть висят в словаре в разделе «не разобранное». Когда появится необходимость их внесения, тогда и внесём.
могу я уже сейчас дублирующие строчки свести в одну (без внесения в wordforms пока что)?
могу я уже сейчас дублирующие строчки свести в одну (без внесения в wordforms пока что)?
А зачем?
А зачем?
глаза разбегаются )) часто теряю ту строчку, с которой имела дело, при поиске аналогов
глаза разбегаются )) часто теряю ту строчку, с которой имела дело, при поиске аналогов
Понял. Тут нужно выработать какой-то алгоритм для удобной работы. Можно отделять строку, над которой ведётся работа, пустой строкой с обеих сторон, а кроме того, можно сразу рабочу строку под ней превращать в формат wordforms, например:
строки обработанного словаря
строки обработанного словаря
строки обработанного словаря
Вера, суеверие, религия, конфессия, вера богу, вера в бога, вероучения, идолопоклонство
суеверие > вера
вера богу > вера
вероучения > вера
конфессия > религия
вера в бога > религия
идолопоклонство > религия
необработанный словарь
необработанный словарь
необработанный словарь
После того, как со строкой покончено, убираем над ней пустую строку и переносим на её место следующую, и продолжаем добавление в формате wordforms. Таким образом одновременно список разделяется на уже обработанные строки (они идут наверх), ещё не обработанные (они остаются внизу), и готовые в формате wordforms (они собираются в середине). Если в следующих строках попадается синоним для уже существующего ключевого слова, добавляем к записи того ключевого слова этот синоним, а из строки удаляем, чтобы не путаться.
полагаете, что МОЯ мера совпадает с вашей? в том смысле, что коррекция не нужна? я до сих пор нахожу в "обработанных строчках" несоответствия, мягко говоря... я понимаю, у вас полно технических проблем, но мне другая голова бы не помешала... может, кинуть клич? ))
в принципе, если мы не очень спешим, я и одна смогу разобраться
После того, как со строкой покончено, убираем над ней пустую строку и переносим на её место следующую, и продолжаем добавление в формате wordforms.
а обработанная, точнее, отработанная строчка удаляется?
а обработанная, точнее, отработанная строчка удаляется?
Нет, она остаётся на месте, а под ней добавляется следующая рабочая строчка, то есть всё остальное смещается вниз, а обработанные строки остаются наверху на своём месте.
ВНИМАНИЕ. Обновляю версию словаря и wordforms.
UPD. Обновил оба файла
В файле словаря теперь есть формат, предназначенный для облегчения работы со словарём и перевода его в wordforms.
В файле словаря теперь есть формат, предназначенный для облегчения работы со словарём и перевода его в wordforms.
а если возникнет необходимость дополнить блок синонимов в wordforms, пустая строчка на автомате сдвинется?
а если возникнет необходимость дополнить блок синонимов в wordforms, пустая строчка на автомате сдвинется?
Да, просто добавляйте к нужному блоку (к ключевому слову) новый синоним вверху или внизу блока с переносом строки.
ВНИМАНИЕ, ОБНОВЛЯЮ СЛОВАРЬ ЕЩЁ РАЗ
ВНИМАНИЕ
Обновил обе версии файлов wordforms dictionary
Опыт использования словаря показал, что строки, переформатированные в разделённые пустой строкой столбцы, даёт значительный прирост эффективности оценки wordforms и синонимов.
Теперь бывшая «строка»
Воля, свобода, свобода воли, волеизъявление, произволение, произвол
Выглядит так:
Воля
свобода
свобода воли
волеизъявление
произволение
произвол
Такой набор элементарно переформатировать в запись wordforms:
свобода > Воля
свобода воли > Воля
волеизъявление > Воля
произволение > Воля
произвол > Воля
Если попадаются не слишком походящие слова их можно либо удалить, либо откомментировать знаком вопроса, дабы при дальнейшей работе на них обратить внимание. В формате столбцов синонимы намного проще оценивать по релевантности.
свобода > Воля
свобода воли > Воля
волеизъявление > Воля
произволение > Воля
? произвол > Воля
В текущем формате словаря не требуется ничего удалять — строк больше не существует, все синонимы сгруппированы в блоки «столбцы», разделённые пустой строкой. Файл словаря размечен на три части:
КОНЦЕПТУАЛЬНЫЙ СЛОВАРЬ СИНОНИМОВ
СЛОВАРЬ НЕ ПРЕДСТАВЛЕННЫЙ В WORDFORMS
НЕТРОНУТЫЙ СПИСОК
В верхней части расположен подготовленный к переносу в wordforms формат записи с >
. Эта часть пополняется блоками при форматировании их из синонимов в средней части.
В средней части находятся подготовленные к оформлению блоки, в которых нужно определить ключевое слово и оценить релевантность оставшихся терминов по отношению к нему. Ключевое слово оформляется как > ключ
и эта конструкция вставляется в конец каждой строки блока. После того, как блок синонимов оформлен, его нужно вырезать и перенести в верхнюю часть словаря.
В нижней части собраны ещё не размеченные синонимами термины, которые могут выступать и как ключи, и как синонимы к уже набранным блокам в первой и второй части, а также пополнять в любой роли новые блоки, которые пока в словаре не оформлены. Если слово из нижней части словаря пригодилось где-то наверху, из нижней части его следует удалить.
Хочу напомнить, что словарь из репозитория не подхватывает автоматом, только загрузка руками. Причем надо загрузить новый wordfoms, удалить таблицу, создать ее снова с новыми настройками - словами и после заполнить данными (запустить индексацию из ДБ). я загружаю вручную и сейчас для меня это проблема т.к. обновление занимает много времени. Ещё заметил, зафиксировал ранее в readme, сейчас еще раз проверил, что если в файле присутствуют пустые строки (те, что визуально разрывной строкой разделяют понятие), то в логах наблюдаем такое предупреждение:
2023-04-30 19:41:02 [BUDDY] restart amount of attempts (3) has been exceeded
2023-04-30 19:42:23 WARNING: table 'questions_ext': all source tokens are stopwords (wordform='', file='/var/lib/manticore/questions_ext/wordforms.txt'). IGNORED.
2023-04-30 19:42:23 WARNING: last message repeated 4 times
Я сейчас загрузил на локальном новый словарь, работает, но все слова я не проверил, все отработали или нет, надо проверять. Я обычно стараюсь избегать ситуаций, когда появляются предупреждения в программе и исправлять их, т.к. никогда не знаешь, как скажется этот ни на что вроде не влияющий warrning через неделю, месяц. Поэтому предлагаю переходной вариант, чтобы и мы могли удобно работать и мантикора не сыпала предупреждения. Я сделаю еще один файл wordforms.prod.txt для мантикоры, а wordforms.txt оставим для разработки, Файл wordforms.prod.txt буду компилировать, вырезать все не нужное из worforms.txt перед обновлением словаря.
П.С.Я пока писал сообщение с перерывами, вы уже много изменений сделали и теперь сам файл dictionary словарь решает вопрос визуального разделения и он теперь структурирован понятно.
Если нет необходимости в wordforms разделять визуально понятия, то можно отредактировать его для мантикоры и оставить по файлам все как было.
Итого: Приводим wordworms.txt к виду строк без пропусков друг за другом? или делаем файл wordforms.prod.txt?
словарь из репозитория не подхватывает автоматом, только загрузка руками
Помню →
если в файле присутствуют пустые строки (те, что визуально разрывной строкой разделяют понятие), то в логах наблюдаем такое предупреждение
Потому и оставил строки, их несложно удалить в текстовом процессоре при переносе в базу. Но если надо то можно в wordforms убрать пустышки, это не проблема.
Если нет необходимости в wordforms разделять визуально понятия, то можно отредактировать его для мантикоры и оставить по файлам все как было.
Нет. Сейчас wordforms просто наследует структуру словаря, но это не обязательно, удалить пустые строки при переносе ничего не стоит. Например в Sublime Text или подобном редакторе это делается за две секунды. Удалил и загрузил новый вид.
Слова помеченные вопросительным знаком оставляем? Или на этапе составление синонимов принимать решение об удалении или оставлении? Пока оценил по месту и оставил «произвол = воля».
Пары «кириллица + латиница» оставляем в wordforms или их сразу переносить в alternateforms? Пока перенёс.
Тильду пока нигде не использую, это вам на ваше усмотрение согласно подкапотному формату мантикоры.
Итого: Приводим wordworms.txt к виду строк без пропусков друг за другом? или делаем файл wordforms.prod.txt?
Выбран по факту первый вариант.
Нет. Сейчас wordforms просто наследует структуру словаря, но это не обязательно, удалить пустые строки при переносе ничего не стоит. Например в Sublime Text или подобном редакторе это делается за две секунды. Удалил и загрузил новый вид.
Это понятно, но у нас в репозитории будет лежать файл, который не предназначен для программы, условно с багами. Это ж как с документацией мантикоры, вот вам пример - файл, а то что он не работает, так вы же его не правильно загрузили. Зачем? Надо итогом делать файл, который взял и загрузил на сервер без дополнительных обработок.
ПРАВИЛО 4 При переносе синонимов из словаря в wordforms избавляемся от пустых строк.
Вижу, пока писал, опять все поменялось, процесс!
Итого: Приводим wordworms.txt к виду строк без пропусков друг за другом? или делаем файл wordforms.prod.txt? Выбран по факту первый вариант.
Хорошо
Пары «кириллица + латиница» оставляем в wordforms или их сразу переносить в alternateforms? Пока перенёс.
Можно сразу в alternateforms и делать одно выбранное слово md5 хэш значением. И все слова из набора ведут на один md5 хэш
Надо итогом делать файл, который взял и загрузил на сервер без дополнительных обработок.
Я потому и спрашивал — файл переносится вручную или загружается куда-то так, как есть )) Разобрались.
Можно сразу в alternateforms и делать одно выбранное слово md5 хэш значением. И все слова из набора ведут на один md5 хэш
Считаю источником хэша слово-ключ.
Обновил wordforms и перенёс латиницу в alternateforms с хэшами.
Тильду пока нигде не использую, это вам на ваше усмотрение согласно подкапотному формату мантикоры.
Что я понял по тильде, если тильды нет перед словом, то оно применяется именно в том виде, как написано в wordforms независимо от регистра (большие-маленькие буквы не имеют значения)
Матричный > матрица
, к нему не применяется stemming и тогда Матричного != Матрица
Ниже запросы в мантикоре, возможно будет понятнее:
questions_ext - таблица с концептуальным словарем questions - без словаря
mysql> call keywords('матричный', 'questions_ext');
+------+--------------------+----------------+
| qpos | tokenized | normalized |
+------+--------------------+----------------+
| 1 | матричный | матрица |
+------+--------------------+----------------+
mysql> call keywords('матричного', 'questions_ext');
+------+----------------------+----------------+
| qpos | tokenized | normalized |
+------+----------------------+----------------+
| 1 | матричного | матричн |
+------+----------------------+----------------+
mysql> call keywords('матричный', 'questions');
+------+--------------------+----------------+
| qpos | tokenized | normalized |
+------+--------------------+----------------+
| 1 | матричный | матричн |
+------+--------------------+----------------+
mysql> call keywords('матричного', 'questions');
+------+----------------------+----------------+
| qpos | tokenized | normalized |
+------+----------------------+----------------+
| 1 | матричного | матричн |
+------+----------------------+----------------+
Т.е. если желаем, чтобы формы образованные от матричн были матрица, то надо ставить ~
Тильда работает только для слов, не работает для фраз : ~общение с Богом - тильда не работает. Так что к фразам и словосочетаниям нет смысла ее ставить, Так же для аббревиатур и сокращений, но предполагаю, что могут попасться такие, что сработает , надо проверять. через call keywords токенизируется ли.
mysql> call keywords('ПФУ', 'questions');
+------+-----------+------------+
| qpos | tokenized | normalized |
+------+-----------+------------+
| 1 | пфу | пфу |
+------+-----------+------------+
mysql> call keywords('ГП', 'questions');
+------+-----------+------------+
| qpos | tokenized | normalized |
+------+-----------+------------+
| 1 | гп | гп |
+------+-----------+------------+
У меня была идея прогнать весь список словаря через call keywords, чтобы получилось нечто такое: https://github.com/audetv/conceptual-dictionary/blob/0.4.0/call_keywords.md
Это не быстро, но если необходимо могу сделать upd: хотя это наверное излишне. Для фраз это не применяется. Т.е. фразы идут к синониму в том виде как написаны, для единичных слов можно делать по запросу и не делать для всех слов. На ваше усмотрение.
Матричный > матрица
, не применяется stemming Матричного != Матрица
То есть в wordforms в данном случае нужно добавить вариант с тильдой.
Так же для аббревиатур и сокращений, но предполагаю, что могут попасться такие, что сработает , надо проверять. через call keywords токенизируется ли
Язык штука живая и гибкая, легко взять и написать «гпшный» и «пфушный», образовав таким образом из аббревиатуры прилагательное. Из широко используемых: вуз → вузовский, ЕС → есесовский.
траектория вероятностей, биороботовый тип строя психики -> "по вашему запросу ничего не найдено"
Подумал, посмеялся, провел аналогию с СЕО. Придется написать комментарий про траекторию вероятностей и биороботовый тип строя психики. означает, что сейчас нет в таком написании этой фразы, но может же и появиться позже. С точки зрения системы - программы не мешает. Можно оставить
Язык штука живая и гибкая, лего взять и написать «гпшный» и «пфушный», образовав таким образом из аббревиатулы прилагательное. Из широко используемых: вуз → вузовский, ЕС → есесовский.
+------+--------------------+----------------+
| qpos | tokenized | normalized |
+------+--------------------+----------------+
| 1 | вузовский | вузовск |
+------+--------------------+----------------+
mysql> call keywords('есесовский', 'questions');
+------+----------------------+------------------+
| qpos | tokenized | normalized |
+------+----------------------+------------------+
| 1 | есесовский | есесовск |
+------+----------------------+------------------+
мантикора знает - есесовск ))
- Матрица, кроме базовых, выдаёт те же смыслы, что и matrix
Не понял этой фразы. У меня выдача разная и в wordforms разный смысл, латинское слово представляет кино, а русское в ДОТУ. Кому нужно найти кинофильм матрица русскими буквами, может это сделать без словаря, в противном случае при поиске понятий, описывающих матрицу концептуальную, будут попадать «нео» и прочие «морфеусы». Не хотелось бы, во всяком случае пока так видится.
траектория вероятностей
Обсуждали «траекторию в матрице вероятностей», этот вариант находится, он и так приходит в ключ «матрица», но если поискать обычным поиском по умолчанию, то «траектория вероятностей» тоже попадает в искомый смысл, но в другой форме — «вероятная траектория». Нужно оставить первую и добавить вторую, поскольку это всё одно и то же и должно находиться в кучу к «матрице». Оставить нужно потому, что я забуду что там написано — траектория вероятностей или вероятная траектория, а использоваться это будет регулярно. Как только как сразу (с)
если появится необходимость добавить синоним в блок, как это можно сделать? особенно, если блок уже в wordforms находится
Вроде уже отвечал на этот вопрос.
значок ~ какую нагрузку несёт?
Это здесь как раз описано.
в Антисемитизм я бы добавила Семиты
Так добавьте )) В файле словаря можно добавлять и корректировать без оглядка, потом всё это раскидаем по нужным техническим файлам.
Метод динамического программирования - оформить как Динамическое программирование ("метод" имеет более широкое хождение
См. выше. Это быстрее сделать, чем написать комментарий.
мантикора знает - есесовск ))
Это она думает про эсэсовцев. Впрочем, МИД слово есесовский употребляет по этой же причине, поэтому всё ок (с)
коллеги, приветствую! я начала чистить то, что до сих пор выкладывала в словаре - оказалось, там полно лишнего, а кое-чего недостаёт, думаю, у вас совсем нет времени на такую работу, поэтому взялась сама, такая работа поможет мне в дальнейшем при продолжении списка, уже с учётом опыта, "сына ошибок трудных" ))
Примечание: слово Бытие (как и Жизнь) выдаёт в поиске нечто совсем неадекватное, даже без выделения этих слов (при этом я была убеждена, что результатом должно было быть 100500 комментариев...)
Originally posted by @grigorovsckaya-sandra in https://github.com/audetv/fct-search/discussions/112#discussioncomment-5760935