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

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

В этом сообщении блога рассматривается проблема извлечения резюмирования одного или нескольких документов с использованием новой архитектуры рекурсивного автокодировщика, которая:

  1. Самостоятельно заучивает представление фраз
  2. Использует эти представления для извлечения функций документа
  3. Принимает во внимание контекст, указанный в документе.
  4. Создает сжатую форму документа (ов), устанавливая тематическую релевантность

Архитектура и алгоритмические парадигмы:

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

В PhrazIt эта полная зависимость от значимости термина при построении указателя снижена, и больший акцент делается на контексте документа.

PhrazIt отключает TextRank - неконтролируемую графическую модель ранжирования для обработки текста. Причина, по которой следует придерживаться неконтролируемого алгоритма, заключается в том, что с контролируемыми алгоритмами резюмирования текста нам также потребуется предоставить большой объем обучающих данных. Фактически это приводит к тому, что требуется много документов с известными ключевыми фразами. Итак, хотя контролируемые методы способны создавать интерпретируемые правила для того, какие особенности характеризуют ключевую фразу, компромисс с его строгим требованием обучающих данных был интуицией, стоящей за переходом в пространство неконтролируемых алгоритмов вместо этого.

Кроме того, неконтролируемые структуры извлечения ключевых фраз также более переносимы между доменами, поскольку процесс извлечения не зависит от домена. Вместо этого такие структуры изучают явные особенности, характеризующие ключевые фразы, и используют структуру самого текста, чтобы определить, являются ли присутствующие ключевые фразы центральными в тексте. Это делается почти так же, как PageRank отрабатывает выбор важных веб-страниц (превращая TextRank в алгоритм, который запускает PageRank на графике, специально разработанном для конкретной задачи НЛП). Кроме того, TextRank не полагается на предыдущие обучающие данные, что позволяет запускать алгоритм на любом произвольном фрагменте текста с получением вывода, полностью основанного на внутренних свойствах текста.

Соответственно, PhrazIt ранжирует предложения на основе связанных с ними тематических баллов, тем самым обеспечивая контекст:
1. Использование контекстуализированного распределенного семантического пространства
2. Использование взвешенной модели для определения наиболее тематически релевантных предложений в отрывок текста

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

Что это за контекстуализированные фразовые векторы? Как PhrazIt использует их?

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

Таким образом, PhrazIt дополняет способ работы Word2Vec до Word2Vec ++, что по существу позволяет фреймворку генерировать контекстуализированные фразовые векторные представления. Это достигается за счет интеграции в решение LSA и LDA. Учитывая n предложений, LSA генерирует концепции, на которые есть ссылки в этих предложениях. LDA, с другой стороны, работает как генеративная модель и объясняет набор наблюдений с использованием группы ненаблюдаемых групп и устанавливает, почему некоторые данные более похожи. Учитывая n предложений, он перечисляет темы, на которые есть ссылки в этих предложениях. PhrazIt использует LSA и LDA для получения концепций и тем, на которые есть ссылки в предложении. Сведя каждое предложение в серию понятий и тем, мы рассматриваем следующую проблему обучения: учитывая набор предложений переменной длины, мы хотим построить фиксированное n-мерное представление для каждого предложения с желаемым свойством, которое предлагает предложения, которые ближе в этом n-мерном пространстве более похожи семантически. Это создание контекстуализированного распределенного семантического пространства, которое отображает фразовые векторы, что позволяет PhrazIt изучать улучшенные представления предложений, поскольку мы работаем с гораздо более богатым пространством функций.

Создание контекстных фразовых векторов

Используя словарь размера d, мы представляем предложение из m слов в виде матрицы dxm, M, где i -й столбец представляет собой d -мерный вектор с записью, соответствующей словарному индексу i -го слова, установленного в 1, и 0 в другом месте. Используя эту матрицу индексов, мы назначаем каждому слову его непрерывное представление признака путем простого умножения двух матриц, X = LM,, где i -й столбец в L - это представление i -го слова в словаре, M - индексная матрица, а X - Матрица nxm, представляющая предложение. Этот X будет последним вводом для нашей модели. Обратите внимание, что предложения разной длины, m и m ', будут иметь матрицы разных размеров, nxm и nx m' . Наша модель должна построить непрерывное n -мерное представление из матрицы n x m для любого положительного значения m.

По сути, он аналогичен рекурсивному автоэнкодеру, поскольку он автоматически извлекает признаки неконтролируемым образом. Другими словами, в PhrazIt контекстуализированное распределенное семантическое пространство работает на основе парадигмы, в которой оно пытается изучить функцию идентичности для воспроизведения своих входных данных.

Автоэнкодер сворачивает предложение, беря два соседних слова (понятие или тему), объединяя два n -мерных представления вектора, чтобы сформировать один 2n -мерный входной вектор для автоэнкодера. После применения процесса кодирования активации на скрытом слое будут n -мерным вектором, представляющим два слова вместе. Затем мы заменяем два слова (концепции или темы) этим совместным представлением и повторяем, пока не останется только одно представление для всего предложения. Способ этого коллапса (или преобразования предложения в его контекстуализированное фразовое векторное представление) показан на диаграмме ниже.

Таким образом, теперь мы можем эффективно отображать фразовое представление для каждого предложения, используя Word2Vec, LSA и LDA, используя искусственную нейронную сеть. Для PhrazIt мы дополнительно также генерируем векторное представление всего документа. Именно это векторное представление документа мы сравниваем со всеми фразовыми векторными представлениями.

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

После того, как этот график построен, он используется для формирования стохастической или марковской матрицы и комбинируется с коэффициентом демпфирования (точно так же, как PageRank работает в сценарии модели случайного серфера). Ранжирование по этим вершинам или, в данном случае, предложениям получается путем нахождения собственного вектора, соответствующего собственному значению 1. Именно это ранжирование устанавливает тематическую релевантность предложений в отрывке текста с предложением. Другими словами, предложение в тексте документа, которое имеет наивысшую совокупную оценку сходства с самим документом, считается наиболее тематически релевантным с учетом контекста документа.

В то время как PhrazIt позволяет TextRank резюмировать отдельные документы, он использует LexRank для реферирования нескольких документов. Структура TextRank экстраполируется на LexRank, чтобы также учесть лексические ассоциации. LexRank обычно использует просто косинусное подобие. Однако в рамках PhrazIt мы снова отключили контекстуализированные фразовые векторы, чтобы оценить фразовое сходство. (Это было разъяснено в предыдущем разделе). Кроме того, мы также применили эвристическую постобработку, которая не только добавляет предложения в ранжированном порядке, но и отбрасывает предложения, которые являются перефразированием друг друга, так что в сводке отсутствуют предвзятости от выбора предложений, которые могут быть перефразированием или повторением друг друга.

Принятие клиентов:

Несколько отраслей, охватывающих несколько областей, признают полезность прогрессивного текстового сумматора. Следовательно, PhrazIt видел серию успешных усыновлений несколькими клиентами. Просто работает.

Вариант использования №1: подведение итогов длинных электронных писем
Клиент (популярный поставщик решений для корпоративного обучения) хотел сжать набор подробных электронных писем (~ 3500 слов в электронном письме). в несколько предложений (~ 50 слов), которые передают наиболее важные моменты, тем самым раскрывая суть письма. Самым важным аспектом резюме было не пропустить призывы к действию в электронных письмах. Способность PhrazIt отображать сводки в соответствии с контекстом документа (здесь электронная почта) в огромной степени помогла не только путем создания контекстуализированной сводки, которая является точным представлением электронного письма, но также путем ранжирования элементов действий (важных частей электронного письма) в соответствии с их «тематической актуальностью».

Вариант использования № 2: интеграция в рабочий процесс партнера
Клиент (популярный сайт вопросов и ответов) хотел выделить и выбрать тематически релевантные фрагменты текста из многословного ответа. PhrazIt был успешно интегрирован в рабочий процесс клиента с помощью предложений PhrazIt и Watson's Retrieve and Rank, которые предоставили комплексное решение, дающее возможность быстро просматривать ответы на их запросы.

Будущая работа :

Оценка резюме (автоматически или вручную) по-прежнему является сложной задачей. Основная проблема при оценке возникает из-за невозможности создания стандарта, с которым можно было бы сравнивать результаты системы, учитывая, что характер резюме настолько субъективен. Выбор контента - не решенная проблема. Люди совершенно разные, и субъективные авторы, возможно, выбрали бы совершенно разные предложения. В результате крайне важно, чтобы мы продолжали разрабатывать фреймворки, ориентированные на наведение порядка в текстах.