Алгоритм Леска — это классический алгоритм устранения неоднозначности смысла слов , предложенный Майклом Э. Леском в 1986 году. [1] Он основан на предпосылке, что слова в данном контексте, вероятно, имеют общее значение. Этот алгоритм сравнивает словарные определения неоднозначного слова со словами в окружающем его контексте, чтобы определить наиболее подходящий смысл. Варианты, такие как упрощенный алгоритм Леска, продемонстрировали повышенную точность и эффективность. Однако алгоритм Леска подвергся критике за его чувствительность к формулировкам определений и зависимость от кратких толкований. Исследователи стремились повысить его точность за счет включения дополнительных ресурсов, таких как тезаурусы и синтаксические модели.
Алгоритм Леска основан на предположении, что слова в данном «районе» (разделе текста) имеют тенденцию иметь общую тему. Упрощенная версия алгоритма Леска заключается в сравнении словарного определения неоднозначного слова с терминами, содержащимися в его окрестностях. Версии адаптированы для использования WordNet . [2] Реализация может выглядеть так:
Часто используемый пример, иллюстрирующий этот алгоритм, касается контекста «сосновая шишка». Используются следующие словарные определения:
СОСНА1. виды вечнозеленых деревьев с игольчатыми листьями2. истощаться из-за горя или болезни
КОНУС1. твердое тело, сужающееся к точке2. что-то такой формы, твердое или полое3. плоды некоторых вечнозеленых деревьев
Как видно, лучшее пересечение — это Сосна №1 ⋂ Конус №3 = 2.
В упрощенном алгоритме Леска [3] правильное значение каждого слова в данном контексте определяется индивидуально путем обнаружения смысла, который больше всего перекрывается между его словарным определением и данным контекстом. Вместо одновременного определения значений всех слов в данном контексте этот подход рассматривает каждое слово индивидуально, независимо от значения других слов, встречающихся в том же контексте.
«Сравнительная оценка, проведенная Василеску и др. (2004) [4], показала, что упрощенный алгоритм Леска может значительно превзойти исходное определение алгоритма как с точки зрения точности, так и эффективности. Оценивая алгоритмы устранения неоднозначности на Senseval- 2. Данные по всем словам английского языка имеют точность 58 % при использовании упрощенного алгоритма Леска по сравнению с 42 % при использовании исходного алгоритма.
Примечание: Василеску и др. реализация учитывает стратегию отката для слов, не охватываемых алгоритмом, состоящих из наиболее часто встречающихся значений, определенных в WordNet. Это означает, что слова, все их возможные значения которых не перекрываются с текущим контекстом или с другими определениями слов, по умолчанию имеют смысл номер один в WordNet» .
Упрощенный алгоритм LESK с интеллектуальным определением слов по умолчанию (Vasilescu et al., 2004) [6]
Функция COMPUTEOVERLAP возвращает количество общих слов в двух наборах, игнорируя функциональные слова или другие слова в стоп-листе. Исходный алгоритм Леска определяет контекст более сложным образом.
К сожалению, подход Леска очень чувствителен к точным формулировкам определений, поэтому отсутствие определенного слова может радикально изменить результаты. Далее алгоритм определяет совпадения только среди толкований рассматриваемых смыслов. Это существенное ограничение, поскольку словарные толкования, как правило, довольно кратки и не содержат достаточного словарного запаса для передачи тонких смысловых различий.
Появилось много работ, предлагающих различные модификации этого алгоритма. В этих работах используются другие ресурсы для анализа (тезаурусы, словари синонимов или морфологические и синтаксические модели): например, может использоваться такая информация, как синонимы, различные производные или слова из определений слов из определений. [7]
Существует множество исследований, касающихся Lesk и его расширений: [9]