В качестве спин-оффа небольшого ресёча, где мы попробовали использовать GPT для выбора предпочтительного порядка слов в репликах, я решил детально проверить вот такую штуку.
- Берем SV-затравку для предложения с синтаксисом SVO, например "Кошки любят есть".
- Перебираем разные аккузативы существительных в качества прямого дополнения O, то есть "Кошки любят есть диваны" и т.д.
- Оцениваем достоверность с помощью loss'а языковой модели GPT.
- Ранжируем в порядке от лучшего к худшему и смотрим первую десятку.
Результат меня мягко говоря неприятно удивил, и я даже проверил работу нескольких вариантов GPT, включая базовую многоязычную GPT2. Результат для многоязычной GPT2 еще можно оправдать тем, что русских текстов она при обучении видела очень немного. Но вот попадание в топ ruGPT грейпфрутов объяснить я не берусь.
Число в первом столбце - это "перплексия", поэтому чем оно меньше, тем более вероятно предложение. Код доступен по
ссылке, оценка предложения реализована
функцией в строке 16.
============== GPT2 ==============
6.102831840515137 кошки любят есть производительность
6.336798667907715 кошки любят есть раздражительность
6.35055685043335 кошки любят есть обходительность
6.375598907470703 кошки любят есть продолжительность
6.415432453155518 кошки любят есть представительность
6.422621250152588 кошки любят есть производительности
6.623979568481445 кошки любят есть раздражительности
6.627676963806152 кошки любят есть общественность
6.6672210693359375 кошки любят есть общительность
6.736166000366211 кошки любят есть последовательность
=== ruGPT small ===
23.415786743164062 кошки любят есть грейпфруты
28.12353515625 кошки любят есть бифштексы
28.353116989135742 кошки любят есть рахат-лукум
29.290809631347656 кошки любят есть киндер-сюрприз
30.997499465942383 кошки любят есть грейпфрут
31.190752029418945 кошки любят есть ничегонеделание
32.706687927246094 кошки любят есть бифштекс
34.78926086425781 кошки любят есть глинтвейн
36.029170989990234 кошки любят есть осоавиахим
36.2663459777832 кошки любят есть сухофрукты
=== ruGPT medium ===
30.514177322387695 кошки любят есть грейпфруты
37.25525665283203 кошки любят есть рахат-лукум
43.45380783081055 кошки любят есть киндер-сюрприз
45.32876968383789 кошки любят есть бифштексы
46.3643913269043 кошки любят есть грейпфрут
48.48039627075195 кошки любят есть видеомагнитофоны
49.36735534667969 кошки любят есть глинтвейн
51.83553695678711 кошки любят есть сухофрукты
51.88279724121094 кошки любят есть бифштекс
53.281036376953125 кошки любят есть бифидобактерии
=== ruGPT large ===
25.077112197875977 кошки любят есть грейпфруты
28.5859432220459 кошки любят есть рахат-лукум
33.47645568847656 кошки любят есть киндер-сюрприз
33.76515197753906 кошки любят есть грейпфрут
33.78945541381836 кошки любят есть бифштекс
36.539310455322266 кошки любят есть ничегонеделание
37.94462966918945 кошки любят есть морепродукты
39.22264862060547 кошки любят есть люля-кебаб
40.51472854614258 кошки любят есть птеродактилей
40.75039291381836 кошки любят есть зубочистки
PS: листинг скоринга предложений в ruGPT small с фрагментами для рыбы, сметаны и т.д. Тут лучше видно, что интуитивные ожидания совершенно не коррелируют с оценкой GPT.
=== ruGPT small ===
23.415786743164062 кошки любят есть грейпфруты
28.12353515625 кошки любят есть бифштексы
28.353116989135742 кошки любят есть рахат-лукум
29.290809631347656 кошки любят есть киндер-сюрприз
30.997499465942383 кошки любят есть грейпфрут
31.190752029418945 кошки любят есть ничегонеделание
32.706687927246094 кошки любят есть бифштекс
34.78926086425781 кошки любят есть глинтвейн
36.029170989990234 кошки любят есть осоавиахим
36.2663459777832 кошки любят есть сухофрукты
...
70.41622161865234 кошки любят есть разбазаривание
70.69242858886719 кошки любят есть селедку
70.70742797851562 кошки любят есть петрушку
...
105.02156829833984 кошки любят есть маргарин
105.07015228271484 кошки любят есть сметану
105.13410186767578 кошки любят есть рукоплескания
...
107.44868469238281 кошки любят есть диафрагмы
107.47420501708984 кошки любят есть кильку
107.5003890991211 кошки любят есть гербициды
...
379.35638427734375 кошки любят есть перетягивание
379.39471435546875 кошки любят есть рыбу
379.421875 кошки любят есть палаццо