Научная статья на тему 'Реализация алгоритма извлечения ключевых слов из текстов предметной области на основе модели MapReduce'

Реализация алгоритма извлечения ключевых слов из текстов предметной области на основе модели MapReduce Текст научной статьи по специальности «Математика»

CC BY
345
56
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
MAPREDUCE / АЛГОРИТМ ИЗВЛЕЧЕНИЯ / ТЕКСТОВЫЙ ДОКУМЕНТ

Аннотация научной статьи по математике, автор научной работы — Бессмертный Игорь Александрович, Каримов Алексей Тахирович, Новоселов Артем Олегович, Нугуманова Алия Багдатовна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Бессмертный Игорь Александрович, Каримов Алексей Тахирович, Новоселов Артем Олегович, Нугуманова Алия Багдатовна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Реализация алгоритма извлечения ключевых слов из текстов предметной области на основе модели MapReduce»

Бессмертный И.А.1, Каримов А.Т.2, Новоселов А.О.2, Нугуманова А.Б.2

1 Санкт-Петербургский Национальный исследовательский университет ИТМО, кафедра

вычислительной техники 2 Восточно-Казахстанский государственный технический университет, департамент

информационный технологий igor_bessmertny@hotmail,com, akarimov, anovoselov, anugumanova {ektu.kz }

Реализация алгоритма извлечения ключевых слов из текстов предметной области на основе модели

MapReduce

КЛЮЧЕВЫЕ СЛОВА:

MapReduce, алгоритм извлечения, текстовый документ. АННОТАЦИЯ:

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

Введение

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

информационной выгоды, критерий хи-квадрат, мера взаимной информации [1,2,3].

Целью данной работы является реализация алгоритма извлечения ключевых слов из текстов предметной области на основе модели распределенных вычислений MapReduce. В соответствии с поставленной целью структура данной работы выглядит следующим образом. В разделе 1 рассматривается метод извлечения ключевых слов из коллекции текстов с помощью критерия Хи-квадрат. В разделе 2 описывается традиционная реализация алгоритма для указанного метода, и обосновывается необходимость проведения распределенных вычислений в случае, когда общий словарь коллекции измеряется сотнями тысяч слов. В разделе 3 описывается реализация этого же алгоритма на основе модели распределенных вычислений MapReduce.

1. Применение критерия хи-квадрат для извлечения ключевых слов из текстов предметной области

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

Критерий согласия Пирсона или критерий Хи-квадрат - это очень распространенный в статистике метод проверки гипотезы о подчинении некоторой наблюдаемой случайной величины закону распределения [4]. Для проверки гипотезы критерий оперирует ожидаемыми (теоретическими) и наблюдаемыми (эмпирическими) частотами случайной величины. Под ожидаемыми частотами понимаются частоты, вычисленные на основе теоретических представлений о предполагаемом распределении случайной величины, а под наблюдаемыми - частоты, полученные в ходе эксперимента. Формула для расчета критерия имеет следующий вид:

г2=Е( I 0-Л )2

/С г

J е

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

Применительно к задаче извлечения ключевых слов проверяемой

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

Для исследования выдвинутой нулевой гипотезы необходимо подсчитать статистику употребления данного слова в текстах коллекции и заполнить таблицу сопряженности размерностью 2x2, как показано ниже. Из таблицы сопряженности видно, что всего существует четыре варианта, образующих полную группу событий, с наблюдаемыми частотами А, В, С и D соответственно.

Таблица - Таблица сопряженности для исследования гипотезы о независимости определенного слова и предметной области

Количество текстов Содержащих данное слово Не содержащих данное слово Всего

Относящихся к заданной предметной области А В TSD=A+B

Не относящихся к заданной предметной области С D TSN=C+D

Всего А+С B+D A+B+C+D

Если слово не связано с предметной областью, то оно должно быть одинаково распределено как среди текстов предметной области, так и среди прочих текстов, т.е. присутствовать в них в том же отношении, что во

А +С

всей коллекции а+в+С + D ' и отсутствовать в них в том же отношении, что

В + D

и во всей коллекции а + в+С+D ' Отсюда можно найти ожидаемые частоты,

умножив соответствующие количества текстов (А+В) и (С^) на эти

отношения. Результаты приведены в таблице 2 (часть несложных математических преобразований пропущена).

Просуммировав выражения в четвертом столбце таблицы и выполнив преобразования, получим следующую формулу для расчета критерия Хи-квадрат:

{А + В + С+ Р){АР-ВСУ

. п.-. ■ .(1)

Таким образом, для каждого слова коллекции необходимо сначала найти значения А, В, С, D, а затем подсчитать значение критерия . Если полученное значение критерия больше критического, то слово является ключевым. Критическое значение определяется по специальной таблице, исходя из числа степеней свободы и уровня значимости (вероятности

ошибок) [4]. Число степеней свободы определяется как где ^ и С -количество строк и столбцов таблицы сопряженности. Для рассматриваемой задачи это число равно 1. При уровне значимости в 1% и одной степени свободы, критическое значение по таблице составляет 6,6.

Таблица - Таблица для расчета критерия Хи-квадрат

Вариант Наблюдаемая частота, Л Ожидаемая частота, и СГ.-Л)* Л

Тексты относятся к предметной области и содержат данное слово Л (А + В)(Л + О САО-ВСУ

А + В + С + й (А + В)(А + С)(А + В + С + 0)

Тексты относятся к предметной области и не содержат данное слово В (А + В)(В + £>) (АО-ВСУ

А + В + С +- й (А + С)(С + 0)(А + В + С + 0)

Тексты не относятся к предметной области и содержат данное слово с (С + 0)(Л + О А+В+С ш-всу (А + В)(В + 0)(А + В + С + 0)

Тексты не относятся к предметной области и не содержат данное слово о (С + 0)(В + £>) (АО-ВСУ

А + В + С +- й (В + й)(С + Р)64 + В + С + 0)

Итого ^ (А + В + С 4- 0)(А0 - ВС)1 (А + В)(А + С){В + £>)(С + 0)

2. Традиционная реализация алгоритма

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

Рисунок - Пример документа-списка для стихотворного текста На рисунке 1 приведен список уникальных слов для знаменитого

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

Традиционная реализация алгоритма для описываемого в данной работе метода извлечения ключевых слов выглядит следующим образом.

1 Цикл по словарю коллекции

2 Извлечь очередное слово из словаря коллекции

3 A:=0; B:=0; C:=0; D:=0;

4 Цикл по документам коллекции

5 Извлечь очередной документ из коллекции

6 Если документ относится к предметной области и содержит слово, то A:=A+1

7 Если документ относится к предметной области и не содержит слово, то B:=B+1

8 Если документ не относится к предметной области и содержит слово, то C:=C+1

9 Если документ не относится к предметной области и не содержит слово, то D:=D+1

10 Конец цикла

11 Chi2:=(A+B+C+D)*(A*D-B*C)A2/((A+B)*(A+C)*(B+D)*(C+D))

12 Если Chi2>6.6, то добавить слово в список ключевых слов

13 Конец цикла

Алгоритм содержит двойной цикл. В верхнем цикле выполняется перебор всех слов коллекции, внутри этого цикла - перебор документов коллекции, внутри которого есть еще один неявный перебор слов, содержащихся в документе. Если словарь коллекции насчитывает N слов, количество текстов равно TS, а средняя длина документов составляет L слов, то трудоемкость алгоритма только в части подсчета значений A, B, C, D составит проходов цикла. При N=100000, TS=10000, L=1000 (что соответствует параметрам коллекции средних размеров) трудоемкость равна 1 трлн. проходов. Вместе с тем, сами действия, которые выполняются внутри циклов, представляют простые арифметические операции суммирования, которые легко можно реализовать с помощью модели распределенных вычислений.

3. Реализация алгоритма с помощью map reduce Модель распределенных вычислений MapReduce появилась как ответ на технологический вызов, связанный с обработкой больших данных, размеры которых превышают объемы оперативной памяти и исчисляются в петабайтах. Модель была впервые представлена научному сообществу в 2004 г. в докладе, подготовленном специалистами Google [6]. Основная идея MapReduce заключается в преобразовании исходных данных в линейные потоки, которые сначала можно легко распараллелить на любое число вычислительных кластеров для выполнения простейших операций над ними, а затем можно также легко собрать.

В общем случае работа алгоритма MapReduce состоит из трех шагов -Map, Group и Reduce. Шаг Group является внутренним, а шаги Map и Reduce реализуются пользователем. Map преобразует входную пару {ключ: значение} в набор промежуточных пар. Group выполняется внутри модели MapReduce и пользователем не задается, его задача объединить все значения для одного и того же ключа и возвратить в качестве результата пару {ключ: список значений}. Функция Reduce принимает на вход пару {ключ: список значений} и сворачивает список значений в одно значение. Таким образом, результатом работы алгоритма MapReduce являются пары {ключ: свернутое значение}.

Применительно к задаче вычисления критерия Хи-квадрат входными данными для функции Map являются пары вида {код текста, документ}, причем, как было отмечено выше, под документом понимается список уникальных слов, входящих в заданный текст. Функция Map преобразует эти пары в набор промежуточных пар вида {слово, 1}. Функция Group сгруппирует эти промежуточные пары с единичками по словам, а функция Resume просуммирует единички в каждой группе. Таким образом, для каждого слова будет подсчитано количество текстов, в которых оно встречалось хотя бы раз.

Очевидно, что если на вход MapReduce подать документы, относящиеся к предметной области, то таким образом будут подсчитаны значения А для всех слов, встречающихся в этих документах (см. рисунок 2).

Рисунок - Реализация MapReduce для вычисления значений А

Аналогично, подав на вход MapReduce документы, не относящиеся к предметной области, можно подсчитать значения С для слов, входящих в эти документы (см. рисунок 3).

предметной области

Рисунок - Реализация MapReduce для вычисления значений С

В результате первого MapReduce получен поток пар вида {слово, ("Л"А)}. В результате второго MapReduce получен поток пар вида {слово, ("С",С)}. Теперь с помощью нового этапа MapReduce оба выходных потока могут быть соединены в один поток пар вида {слово, [("Л"А), ("B",TSD-A), ("С",С), (Ъ'^Ы-С), СЫ2]}, где TSD и TSN - это количества документов, относящихся к предметной области, и не относящихся к ней соответственно.

Мар

Слово1, <"А",3> Слово2, <"А",2> СловоЗ, <"А",4> Слово4, <"А",2> Слово1, <"С",2>

Слово4, <"С",1> Слово5, <"С",3> Словоб, <"С",2>

Group Reduce

Слово1, <"А",3> ^^ . Слово1,

Слово1, <"С",2>

Г<"А"

[<"А",3>,<"С",2>]

Слово2, <"А",2> Слово2,

СловоЗ, <"А",4>

[<"А",2>,<>]

СловоЗ, <"С",3>

СловоЗ, [<"А",4>,<"С",3>]

Слово4, <"А",2>

СловоЗ, <"С",3> Слово4, <"С",1>

Г<"А"

Слово4,

[<"А",2>,<"С",1>]

| Слово5, <"С",З> Слово5,

[<>,<"С",З>]

Словоб, <"С",2>

Словоб, [<>,<"С",2>]

Слово1, [<"A",3>,<"B",TSD-3>,<"C",2>,<"D",TSN-2>, Chi2>]

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Слово2, [<"A",2>,<"B",TSD-2>,<"C",0>,<"D",TSN>, Chi2>]

СловоЗ, [<"A",4>,<"B",TSD-4>,<"C",3>,<"D",TSN-3>, Chi2>]

Слово4, [<"А",2>,<"В"/™-2>,<"С"Д>,<"№'/™-1>, Chi2>]

Слово5, [<"A",0>,<"B",TSD>,<"C",3>,<"D",TSN-3>, Chi2>]

Словоб, [<"А",0>,<"В"^>,<"С",2>,<"№'^-2>, Chi2>]

Рисунок - Соединение промежуточных потоков в результирующий поток

Теперь отсортировав выходной поток по значениям СЫ2, можно отсечь нижнюю часть списка со значениями Хи-квадрат, которые меньше критического значения 6.6.

Заключение

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

ЛИТЕРАТУРА

1. Manning. C.D., Raghavan P., Schutze H., (2008), "Introduction to Information Retrieval", Cambridge UP.

2. Z. Zheng, X. Wu, and R. Srihari. Feature Selection for Text Categorization on Imbalanced Data," ACM SIGKDD Explorations Newsletter, vol. 6, pp. 80-89, 2004.

3. G. Forman. An extensive empirical study of feature selection metrics for text classification. J. Mach. Learn. Res., 3:1289-1305, 2003.

4. Орлов А. И. Нечисловая статистика //М.: МЗ-Пресс. - 2004. - Т. 513. - С. 18.

5. Бакаева О. А., Щенников В. Н. Использование критерия х2 для выявления связи между качественными переменными на основе «идеальных» таблиц сопряженности. - 2011.

6. Dean, J., Ghemawat, S. MapReduce: Simplified data processing on large clusters. In: Proceedings of Operating Systems Design and Implementation (OSDI). San Francisco, CA. pp. 137-150, 2004.

i Надоели баннеры? Вы всегда можете отключить рекламу.