SMITH означает Siamese Multi-depth Transformer-based Hierarchical Encoder. Это новый алгоритм Google для обработки длинных текстов по длинным запросам. По качеству ответа SMITH превосходит BERT. Основное преимущество нового алгоритма в том, что он способен определять смысл фрагментов текста. BERT же определяет смысл отдельных лексем в контексте предложений.
В научной статье Google указывает, что:
The experimental results on several benchmark datasets show that our proposed SMITH model outperforms previous state-of-the-art Siamese matching models including HAN, SMASH and BERT for long-form document matching. Moreover, our proposed model increases the maximum input text length from 512 to 2048 when compared with BERT-based baseline methods.
Результаты тестов на выборках показывают, что предложенный нами SMITH превосходит предыдущие модели обработки длинного текста, включая HAN, SMASH и BERT. Более того, новая модель позволяет увеличить длину вводного текста с 512 до 2048 в сравнении с BERT.
Пока нет официальных подтверждений Google о том, что новый алгоритм применяется для обработки поисковых запросов.
Основное отличие SMITH от BERT
Разница в объеме рабочей единицы, а также в моделях обучения алгоритмов. Для BERT модель обучения предполагала прогноз скрытых в предложении слов. SMITH обучался прогнозировать как скрытые слова в предложениях и смысловых блоках, так и следующий фрагмент текста.
Для обучения SMITH была создана выборка рекомендованных документов из Википедии и ACL Anthology Network.
Как работает SMITH
Алгоритм предполагает двухуровневую обработку текста. На первом уровне он разбивает текст на блоки, в которых могут быть от одного до нескольких предложений. Затем определяет соответствие поискового запроса в каждом из блоков.
На втором уровне обрабатывается последовательность блоков и наличие соответствий запросу во всем документе.
На уровне предложений алгоритм определяет взаимодействие “запрос — соответствие” в пределах блока. На втором уровне — взаимодействие “запрос — соответствие” в пределах текста для установления удаленных зависимостей.
Чтобы разбить текст на фрагменты, SMITH использует “greedy sentence filling” — метод, который в один блок помещает естественные предложения до точки. Алгоритм формирует блоки определенной длины. Предложения не разрываются между блоками. Если предложение не помещается в текущий блок, оно переносится в следующий.
Если одно предложение превышает длину блока, алгоритм сокращает его так, чтобы оно поместилось в один блок.
Каждый документ D на входе трансформируется в последовательность блоков предложений {S1,S2,…,SLd}, а каждый блок S представлен последовательностью слов {Wi1,Wi2,…,WiLs}.
- Ld — длина документа по количеству блоков
- Ls — длина блока по количеству слов
Далее производится определение соответствий запросу на уровне предложений, блоков и всего текста. Учитывается количество вхождений и позиция вхождения в каждом анализируемом фрагменте (предложение, блок, текст). На уровне обработки блока учитывается позиция вхождения в предложении и позиция предложения в блоке.
Заключение
SMITH обучается анализировать текст на уровнях предложений, блоков (фрагментов) и целого текста.
Пока нет никаких заявлений Google о применении данного алгоритма в обработке поисковых запросов и формировании выдачи.
Учитывая суть алгоритма (сопоставление длинных запросов в длинных текстах) такой алгоритм вероятнее всего затронет небольшую часть поисковых запросов пользователей.
Также есть вероятность того, что Google таким образом готовится к будущей трансформации поисковых запросов. Уже сейчас запросы пользователей становятся более естественными, разговорными и развернутыми.
Одно из возможных применений алгоритма — повышение качества рекомендованного тематического контента, основываясь на том, что уже просматривал пользователь.