Зачем нужны эти хитрые модели для встраивания слов и предложений в векторное пространство?

Nov 12, 2016 17:20

Ведь есть и более простые способы получить векторное представление, например, слова на основе его символьного представления. Берем символы слова, нарезаем их на шинглы по 2-3 символа. Имея словарь шинглов по большому лексикону, можем для шинглов слова проставить 1 в соответствующих битах вектора слова и вуаля.  Получившийся вектор будет крайне разреженным и позволит сравнивать любые два слова через старый добрый коэффициент Жаккара. Эффективно, нечетко и не требует многочасового обучения сетки на дорогом GPU. Плюс еще без модификаций алгоритма возможен online вариант с постепенным накоплением словаря шинглов и расширением векторов слов по мере обработки текстов.

Зачем же нужны сеточные модели для встраивания?

Вот тут и появляется интерполяция слов или интерполяция предложений.

Хотя важна не сама интерполяция, это просто забавный побочный эффект сеточных встраиваний.

Важна непрерывность и гладкость.

Гладкость означает, что становятся применимыми базовые алгоритмы оптимизации, работающие по производным.

Допустим, нам встретилось предложение "кочка ловит мышку". Оптимизация функции, которая учитывает употребимость слов в контексте (расчет вероятности цепочки слов для дискретного пространства событий), выглядит естественно и просто в случае, когда можно подставлять вместо слова кочка промежуточный вариант между кочка и кошка, то есть когда можно работать с гладким переходом от кочка к кошка. В дискретном пространстве символов и слов все сводится к перебору вариантов с оценкой каждого варианта. Градиентный спуск намного эффективнее!

Оптимизируемая функция может оценивать вероятность связывания двух слов в синтаксическом графе, и тогда мы получаем очень простой синтаксический парсинг, который без каких-либо костылей умеет заодно корректировать опечатки, пропуски слов и даже подставлять слова, более подходящие в контексте. А выдавая матрицу смежности с действительными весами ребер, этот парсер органично встраивается в общую цепочку понимания текста, когда входной текст принимается к сведению, но не является абсолютной догмой для алгоритма.

Кстати, понимающие системы, работающие на таких принципах, демонстрируют не только невероятную эффективность в условиях шума на входе, но демонстрируют ряд побочных эффектов, которые мы имеем удовольствие знать как иллюзии восприятия или как принципы гештальт-психологии, то есть когда понятое может сильно отличаться от исходного сигнала (текста в нашем случае).

семантика

Previous post Next post
Up