170 похожих чатов

Привет, полазил по репам в наташе, но сходу не увидел

ответа, вопрос такой — возможно ли с помощью какого-либо из пакетов решить задачу сочетаемости двух слов (существительных)?

а конкретно - имеется небольшой словарь ±1000 слов, которые предполагается представить парами в форме "1ое слово, им.пад., ед.ч." + "2ое слово, род.пад., мн.ч.", примеры: "анонс докладов" или "анализ расходов".

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

7 ответов

12 просмотров

Я, наверное, лучше бы смотрел в сторону UDPipe 2.0. Там есть возможность получать характеристики слова, аля Yargy + там из коробки есть возможность строить семантический граф предложения (как слова с друг другом соотносятся). Падежи там, если честно не помню, но точно есть части речи и члены предложения

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

David Dalé
А вообще, думаю, можно попробовать взять обычную (...

А кстати. А что ща тип моделей думаете использовать?

Lerax
А кстати. А что ща тип моделей думаете использоват...

Что-нибудь достаточно ванильное, типа gpt-small. Думаю, важно, чтобы модель была авторегрессионная; модели для MLM не вполне корректно совместную вероятность предсказывают.

David Dalé
А вообще, думаю, можно попробовать взять обычную (...

Итак, вот мой пример решения на базе сберовской rugpt-small. Проверил его на ранжировании 5*6 словосочетаний. Мы видим, что она слегка предвзята к парам, состоящим из одного и того же слова "архив архивов" (что характерно в целом для трансформерных нейросетей; они больше любят копировать слова не к месту, чем люди). Но кажется, что все фразы, попавшие в глубоко отрицательные значения compatibility_score, туда попали заслуженно. Так что вроде метод худо-бедно работает. Вот колаб с имплементацией.

Aleksandr-Shavykin Автор вопроса

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта