ответа, вопрос такой — возможно ли с помощью какого-либо из пакетов решить задачу сочетаемости двух слов (существительных)?
а конкретно - имеется небольшой словарь ±1000 слов, которые предполагается представить парами в форме "1ое слово, им.пад., ед.ч." + "2ое слово, род.пад., мн.ч.", примеры: "анонс докладов" или "анализ расходов".
есть ли способ для рандомно взятой пары слов из словаря определить имеет ли смысл их комбинация? пусть даже вероятностно. копался в гугле, нашел про некие валентности (семантические и синтаксические), но не придумал пока ничего, кроме рассовывания слов руками по нескольким группам
Я, наверное, лучше бы смотрел в сторону UDPipe 2.0. Там есть возможность получать характеристики слова, аля Yargy + там из коробки есть возможность строить семантический граф предложения (как слова с друг другом соотносятся). Падежи там, если честно не помню, но точно есть части речи и члены предложения
А вообще, думаю, можно попробовать взять обычную («маленькую») языковую модель и сравнив предсказанную ей вероятность отдельно стоящих слов с вероятностью этой пары слов. Если вероятность пары слов сильно ниже, чем произведение их индивидуальных вероятностей, то наверное можно говорить, что с точки зрения данной языковой модели эта пара слов - плохо сочетаемая. Пример кода могу попробовать собрать)
было бы потрясающе)
А кстати. А что ща тип моделей думаете использовать?
Что-нибудь достаточно ванильное, типа gpt-small. Думаю, важно, чтобы модель была авторегрессионная; модели для MLM не вполне корректно совместную вероятность предсказывают.
Итак, вот мой пример решения на базе сберовской rugpt-small. Проверил его на ранжировании 5*6 словосочетаний. Мы видим, что она слегка предвзята к парам, состоящим из одного и того же слова "архив архивов" (что характерно в целом для трансформерных нейросетей; они больше любят копировать слова не к месту, чем люди). Но кажется, что все фразы, попавшие в глубоко отрицательные значения compatibility_score, туда попали заслуженно. Так что вроде метод худо-бедно работает. Вот колаб с имплементацией.
вау) благодарю. пойду щупать)
Обсуждают сегодня