|
Начальная форма слова
|
|||
---|---|---|---|
#18+
Ы2 _avz, эта проблема называется «синтаксическая омонимия», без контекста не решается. это понятно. Я имел в виду то, что в случае 22408739 однозначное решение есть, но по стему (метод, предложенный в 22408723 ) не находится ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 09:30 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
Я там в тесте ещё одну ошибку допускаю из за которой последнее слово в строке неверно стеммингуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 10:28 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
Ы2, Да я согласен. Не подходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 10:29 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
В общем, худо-бедно на постгресе заработало как сконфигурировал: 1. скачал словарь https://github.com/postgrespro/hunspell_dicts/tree/master/hunspell_ru_ru 2. скопировал в папку pg SHAREDIR\tsearch_data 3. создал словарь Код: sql 1. 2. 3. 4. 5. 6.
4. создал конфигурацию полнотекстового поиска: Код: sql 1. 2.
5.запрос Код: sql 1.
выдаёт {душа,душить} т.е., или про "душ" словарь не в курсе, или... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 12:04 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
Ы2 Словарь для hunspell от PostgresPro делает все это за исключением выбора правильной леммы (словарной формы) в случае таких форм, как «души» (мн. ч. от «душа» или повел. накл. от «душить»?). Ну это задача совершенно другого уровня сложности, т.к. между "души -> душа" и "души -> душить" без анализа контекста выбрать невозможно. Только выдать все возможные варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 12:16 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
хватает и других косяков: Код: sql 1.
{пей} - хотя должно быть 'пить' шей-{шей,шея} беги-{беги,бег} хотя гляди-{глядеть}, верно и, судя по всему, ещё много чего вскроется по ходу тестирования :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 12:16 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
_avz, ты выкопал себе могилу Ну будешь ближайшие пол-года заниматься морфологией русского языка. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 12:32 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
mayton _avz, ты выкопал себе могилу Ну будешь ближайшие пол-года заниматься морфологией русского языка. Возможно, автору следовало бы начать с рассказа для чего ему все это нужно. Но на скуле это не принято. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 12:34 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
fkthat, для сравнения двух текстов выдать слова, которые есть в одном, но отсутствуют в другом ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 12:36 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
_avz выдать слова, которые есть в одном, но отсутствуют в другом Так а зачем для этого именно лематизация? Мне кажется что и стемминга должно хватить. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 12:38 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
_avz fkthat, для сравнения двух текстов выдать слова, которые есть в одном, но отсутствуют в другом Господин выше правильно по тексту сказал. Что для анализа слов ЯЗЫКа нам нужно больше контекста. А так получается Код: sql 1.
и вот ищи где тут глагол и существительное в падежах. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 12:39 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
fkthat Так а зачем для этого именно лематизация? Мне кажется что и стемминга должно хватить. 'душили' выдаст стем 'душ' а лемма выдаёт 'душить' всё же лучше mayton А так получается Код: sql 1.
и вот ищи где тут глагол и существительное в падежах. здесь уже приходится смириться с нестопроцентным качеством анализа, в семантику я точно не полезу ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 12:46 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
в машин-лёрнинге наверное решали такие задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 14:51 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
_avz fkthat Так а зачем для этого именно лематизация? Мне кажется что и стемминга должно хватить. 'душили' выдаст стем 'душ' а лемма выдаёт 'душить' всё же лучше mayton А так получается Код: sql 1.
и вот ищи где тут глагол и существительное в падежах. здесь уже приходится смириться с нестопроцентным качеством анализа, в семантику я точно не полезу Если тебе нужен критерий "близости" двух документов то может быть не надо вообще раскладывать на национальные языки. Считай расстояние Дамерау Левенштейна между всеми словами. Есть стандартная функция в apache.commons. Если расстояние допустим меньше 1 или 2 то считай одним словом. Тогда осталось посчитать просто % таких слов в двух документах. Метрика грубая. Неязыковая. Но достаточная чтобы просто группировать документы в кучки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 14:57 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
Roman Mejtes в машин-лёрнинге наверное решали такие задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 15:04 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
mayton Если тебе нужен критерий "близости" двух документов то может быть не надо вообще раскладывать на национальные языки. Считай расстояние Дамерау Левенштейна между всеми словами. Есть стандартная функция в apache.commons. Если расстояние допустим меньше 1 или 2 то считай одним словом. Тогда осталось посчитать просто % таких слов в двух документах. Метрика грубая. Неязыковая. Но достаточная чтобы просто группировать документы в кучки. В моём случае результат устроил. Уже в разы лучше, чем когда я сравнивал тупо по словам. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 15:06 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
_avz mayton Если тебе нужен критерий "близости" двух документов то может быть не надо вообще раскладывать на национальные языки. Считай расстояние Дамерау Левенштейна между всеми словами. Есть стандартная функция в apache.commons. Если расстояние допустим меньше 1 или 2 то считай одним словом. Тогда осталось посчитать просто % таких слов в двух документах. Метрика грубая. Неязыковая. Но достаточная чтобы просто группировать документы в кучки. В моём случае результат устроил. Уже в разы лучше, чем когда я сравнивал тупо по словам. То есть так хотелось чуда, а его нету Поставьте себе SQL Server какой-нибудь в минимальной версии у него есть fts* функции, которые выдают найденные слова указанного языка. Эту же фигню можете использовать для сравнения двух текстов. Но помните - ваша задача не решается за пару дней и с уровнем знаний "хеллоу ворлд". Кина не будет, расслабьтесь :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2021, 15:42 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
моя задача решилась, так-то :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 07:58 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
Забил в базу 100500 слов? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 19:17 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
mayton, Хватило той последовательности шагов, что я изложил выше. Можно сказать, это решение вопроса. Очень простое. Неидеальное, но достаточное. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 07:32 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
В чём неидеальность - список слов, который выдаётся в результате сравнения текстов, чуть больше, чем должен. Например, слово "пей" будет считаться отличным от слова "пил", и будет включено, хотя, по идее, это одно и то же слово. Но основная масса словоформ отфильтровывается. Меня устраивает: в таких нечётких задачах ожидать чего-то большего - странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 07:45 |
|
Начальная форма слова
|
|||
---|---|---|---|
#18+
Понятно, от анализатора невозможно ожидать и понимания, что, например, слово "душа" в тексте 2 использовано в ином смысле, чем в тексте 1, и должно быть включено в список. Выскажу предположение, что даже с универсальным ИИ такие вещи не решаемы на 100% (Когда даже ЕИ может ошибиться :) Контекст может скрываться сколь угодно далеко за уровнем самого текста. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 07:57 |
|
|
start [/forum/topic.php?fid=16&msg=40123504&tid=1339604]: |
0ms |
get settings: |
23ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
463ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 608ms |
0 / 0 |