35
Витвицкий С.В. Автоматическая кластеризация близких по смыслу слов 1

Автоматическая кластеризация близких по смыслу слов

  • Upload
    -

  • View
    2.050

  • Download
    0

Embed Size (px)

DESCRIPTION

20 апреля 2010 Витивцкий С.В.

Citation preview

Page 1: Автоматическая кластеризация близких по смыслу слов

. .Витвицкий СВ

Автоматическая кластеризация близких по смыслу слов

1

Page 2: Автоматическая кластеризация близких по смыслу слов

Основные понятия

2

• Нас интересует проблема выявления смысла слов по коллекции текстов, и, соответственно, «поведения» задаваемых сущностей в описываемом мире.

• Смысл должен отражаться в контекстах употребления соответствующих слов в предложениях текстов.

• Контексты употребления слов:o Линейные – набор окружающих слов.o Синтаксические – с какими словами данное слово связано

синтаксически.• Вектор контекста слова W – множество элементов вида

<w,I>, где w – слово, с которым слово W связано синтаксически, а I – некоторая информация об этой синтаксической связи. Под синтаксическим контекстом слова будем понимать это же множество.

• Смысл слов будем рассматривать через их синтаксические контексты.

Page 3: Автоматическая кластеризация близких по смыслу слов

Постановка задачи

3

Надо научиться:•автоматически выделять из корпуса текстов контексты слов.•измерять смысловое сходство слов через сходство их контекстов, которое также надо определённым образом измерять.•выявлять близкие по смыслу слова•некоторым образом объединять похожие слова в кластеры (группы)Затем обработать достаточно большую коллекцию текстов для выявления проблем и направления дальнейших действий.

Применение:•Автоматическое построение тезаурусов•Искусственный интеллект (машинное обучение, описание предметных областей)и т.п.

Page 4: Автоматическая кластеризация близких по смыслу слов

План своей работы:

4

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

2. Выбрать способ исследования слов на предмет сходства синтаксических контекстов и выявить для каждого слова список достаточно схожих с ним слов.

3. Построить множество кластеров сходных по смыслу слов.

Page 5: Автоматическая кластеризация близких по смыслу слов

Синтаксические контексты

5

• База русскоязычных новостных текстов (примерно 17 000 документов)

• Требуется получить список пар вида <W,T>, где W – слово, T – его вектор контекста.

• Схема работы:

Page 6: Автоматическая кластеризация близких по смыслу слов

Синтаксические контексты

6

Пример:

Исходный текст обрабатывается синтаксическим анализаторомпрограммного средства АОТ

Page 7: Автоматическая кластеризация близких по смыслу слов

Синтаксические контексты

7

Пример:

Результат:•синтаксический разбор текста•множество синтаксических структур

Page 8: Автоматическая кластеризация близких по смыслу слов

Синтаксические контексты

8

Пример:

Фильтр по отношениям

1) ПРИЛ_СУЩ(длинная дорога)

2) ГЕНИТ_ИГ(рука Москвы)

3) ПРЯМ_ДОП(рубить дрова)

4) ПОДЛ (я пошел)

5) ГЛАГ_ИНФ(пойти выпить)

Page 9: Автоматическая кластеризация близких по смыслу слов

Синтаксические контексты

9

Пример:

Взятие нормальных форм слов. Проблема неоднозначных слов.

Page 10: Автоматическая кластеризация близких по смыслу слов

Синтаксические контексты

10

• Коллекция русскоязычных новостных документов объёмом порядка 17000 текстов.

• Построено множество без повторов четвёрок вида <r,w1,w2, c>, где r – синтаксическое отношение, w1 и w2 – слова в нормальной форме, c – количество троек <r,w1,w2> в коллекции документов, тройки <r,w1,w2> уникальны. ~210000 таких элементов.Примеры: ПОДЛ БЫТЬ ПРОЕКТ 92ПРЯМ_ДОП ПОДАВИТЬ ОППОЗИЦИЯ 5ПРИЛ_СУЩ КАМПАНИЯ ИЗБИРАТЕЛЬНЫЙ 144

• Фильтр по частоте вхождения (5). • Строился список слов в нормальной форме с количеством

их вхождений в рассмотренную базу. Применялся фильтр по частоте вхождения (30)

Page 11: Автоматическая кластеризация близких по смыслу слов

Синтаксические контексты

11

• Пусть W – слово в нормальной форме, а S – ранее введённое множество четвёрок вида <r,w1,w2,c>.

• Синтаксический контекст слова W:o Изначально это пустой список. o Среди всех элементов S ищутся четвёрки вида <r,W,w,c>

либо <r,w,W,c>, т.е. все вхождения W. o Для каждой такой четвёрки вычисляется функция I(W,r,w).

o* - произвольное словоoЕсли I(W,r,w) > 0, то в T добавляется элемент <r,w>.

где |W,r,w| - сумма значений c по вхождениям <r,w,W> или <r,W,w>

Page 12: Автоматическая кластеризация близких по смыслу слов

Синтаксические контексты

12

• Смысл I (Hindle, 1990): пусть для |r,w,w’,c| мы не знаем c.• События: А: случайно выбранное слово есть w; B:

случайно выбранное отношение есть r; C: случайно выбранное слово есть w’

• Вероятность наступления B, при нём A и C составляет

• Если же c известно, то

• Это нужно, чтобы отсеять «случайные» пары. • Вычисленное значение I потребуется в дальнейшем.

Page 13: Автоматическая кластеризация близких по смыслу слов

Синтаксические контексты

13

Пример:СВЕРДЛОВСКИЙ

_ ПРИЛ СУЩОБЛ_ ПРИЛ СУЩОБЛАСТЬ_ ПРИЛ СУЩ

ОТДЕЛЕНИЕ_ ПРИЛ СУЩ

ИСПОЛКОМ_ ПРИЛ СУЩ

ДЕЛЕГАЦИЯ_ ПРИЛ СУЩ

БИЗНЕСМЕН_ ПРИЛ СУЩДУМА_ ПРИЛ СУЩ

МИЛИЦИОНЕР_ ПРИЛ СУЩ

КОЛЛЕДЖ_ ПРИЛ СУЩОТРЯД_ ПРИЛ СУЩ

МАГИСТРАЛЬ_ ПРИЛ СУЩ

АГЕНТСТВО_ ПРИЛ СУЩДОРОГОЙ_ ПРИЛ СУЩДЕПО

ВОЛОГОДСКИЙ_ ПРИЛ СУЩОБЛАСТЬ_ ПРИЛ СУЩОТДЕЛЕНИЕ_ ПРИЛ СУЩ

ЛЕСОПРОМЫШЛЕННИК_ ПРИЛ СУЩОБЛ_ ПРИЛ СУЩОБЪЕДИНЕНИЕ_ ПРИЛ СУЩМЯСОКОМБИНАТ_ ПРИЛ СУЩМАШИНА_ ПРИЛ СУЩСКОРЫЙ

САРАТОВСКИЙ_ ПРИЛ СУЩОБЛАСТЬ_ ПРИЛ СУЩМЕЧЕТЬ_ ПРИЛ СУЩОТДЕЛЕНИЕ_ ПРИЛ СУЩДУМА

Page 14: Автоматическая кластеризация близких по смыслу слов

ПРИЗ_ ГЕНИТ ИГВРУЧЕНИЕ

_ ПРИЛ СУЩГЛАВНЫЙ_ ПРЯМ ДОП

ПОЛУЧИТЬ_ ПРИЛ СУЩЦЕННЫЙ

_ ГЕНИТ ИГФОНД_ ПРИЛ СУЩ

ДЕНЕЖНЫЙ…

_ ПРЯМ ДОПЗАВОЕВАТЬ

ПОДЛДОСТАТЬСЯ_ ПРЯМ ДОП

ЗАСЛУЖИВАТЬ_ ПРЯМ ДОПОТДАТЬ_ ПРЯМ ДОПВРУЧИТЬ_ ГЕНИТ ИГ

СОИСКАНИЕ

СФАЛЬСИФИЦИРОВАТЬ

ПОДЛОНИ_ ПРИЛ СУЩВЫБОРЫ_ ПРЯМ ДОП

РЕЗУЛЬТАТ ПОДЛЯНУКОВИЧ_ ПРИЛ СУЩ

РЕЗУЛЬТАТ ПОДЛЦИК ПОДЛИТОГ

ИЮЛЬ_ ГЕНИТ ИГ ГОД

_ ПРИЛ СУЩРАНЕНЫЙ

_ ГЕНИТ ИГВЕЩАНИЕ

_ ГЕНИТ ИГСЕРЕДИНА

_ ГЕНИТ ИГ РУБЛЬ_ ГЕНИТ ИГ

НАЧАЛО_ ГЕНИТ ИГКУЧМА_ ГЕНИТ ИГКОНЕЦ_ ГЕНИТ ИГ

ЗРИТЕЛЬ

Синтаксические контекстыПример:

14

Page 15: Автоматическая кластеризация близких по смыслу слов

Меры подобия слов

15

Page 16: Автоматическая кластеризация близких по смыслу слов

Меры подобия слов

16

Пример:

Page 17: Автоматическая кластеризация близких по смыслу слов

17

Меры подобия словПример:

Page 18: Автоматическая кластеризация близких по смыслу слов

Меры подобия словПример:

18

Page 19: Автоматическая кластеризация близких по смыслу слов

Меры подобия слов:

19

Замечания• Меры cosine, dice, jacard используют количество вхождений

слов лишь неявно.

• Остальные рассмотренные меры явно используют значения функции I(W,r,w).

• Для мер cosine, dice, jacard, lin коэффициент подобия двух слов не превышает единицы.

• Результаты применения мер cosine, dice, jacard, lin отличаются между собой не сильно, а результаты применения мер hindle отличаются существенно.

• Для каждого слова строился список самых близких слов слов.

Page 20: Автоматическая кластеризация близких по смыслу слов

Кластеризация похожих слов

20

• Есть N элементов и матрица NxN расстояний между элементами. Надо разделить элементы на группы по степени близости.

• Кластеризация – итеративный процесс.• Методы: способ выбора кластеров, способ определения

расстояния между кластерами.• Наш алгоритм: o Элементы – слова, каждое слово является кластером.o Расстояние между кластерами – среднее расстояние между

элементами первого кластера и элементами второго кластера.

o На каждом шаге два самых близких кластера объединяются в один.

o Конец - когда остался один кластер.

Методология

Page 21: Автоматическая кластеризация близких по смыслу слов

Кластеризация похожих слов

21

Пример:

НАГРАДА0,28354 ДИПЛОМ

ПРИЗ0,28690 ДИПЛОМ

ДИПЛОМ0,28354 НАГРАДА0,28690 ПРИЗ

Page 22: Автоматическая кластеризация близких по смыслу слов

Кластеризация похожих словПример:

СРЕДНЕСРОЧНЫЙ0,27854 ИНВЕСТИЦИОННЫЙ

ИНВЕСТИЦИОННЫЙ0,27854 СРЕДНЕСРОЧНЫЙПЕРЕДАВАТЬ0,30000 СООБЩАТЬ

СООБЩАТЬ0,30000 ПЕРЕДАВАТЬ

ИСКАЗИТЬ0,38490 СФАЛЬСИФИЦИРОВАТЬ

СФАЛЬСИФИЦИРОВАТЬ0,38490 ИСКАЗИТЬ

22

Page 23: Автоматическая кластеризация близких по смыслу слов

Кластеризация похожих слов

23

Пример:

Page 24: Автоматическая кластеризация близких по смыслу слов

Кластеризация похожих слов

24

Пример:

Поддеревья, полученные из исходного дерева отсечением по неположительному весу

Page 25: Автоматическая кластеризация близких по смыслу слов

Кластеризация похожих слов

25

Пример:

Полученные кластерыпохожих по смыслу слов

Page 26: Автоматическая кластеризация близких по смыслу слов

Проблемы

26

• Проблема «неоднозначности» слов.

• Проблема «странных» групп.

• Проблема кластеризации слов, имеющих «неоднозначный» смысл.

o Слово должно быть отнесено к нескольким кластерам, а не к одному

o Пример: берет/берёт

o Решение – другой алгоритм кластеризации

Page 27: Автоматическая кластеризация близких по смыслу слов

Обзор существующих решений

27

• Dekang Lin, Patrick Pantel, University of Manitoba, Canada

• Размеченный корпус англоязычных текстов• Извлекались тройки вида |r,w1,w2|, где r – синтаксическое

отношение, w1, w2 – слова, с количеством вхождений в текст.

• 8,7 млн уникальных троек.

• Особенности:o Слова разбивались на классы по части речиo Исследовались слова внутри одного классаo Ограничение на количество вхождений слов (100)

• Мера подобия - lin.

• Для каждого слова составлен тезаурус из 200 наиболее близких слов.

Page 28: Автоматическая кластеризация близких по смыслу слов

brief (noun): affidavit 0.13, petition 0.05, memorandum 0.05, motion 0.05, lawsuit 0.05, deposition 0.05, slight 0.05, prospectus 0.04, document 0.04 paper 0.04, ...

brief (verb): tell 0.09, urge 0.07, ask 0.07, meet 0.06, appoint 0.06, elect 0.05, name 0.05, empower 0.05, summon 0.05, overrule 0.04, ...

brief (adjective): lengthy 0.13, short 0.12, recent 0.09, prolonged 0.09, long 0.09, extended 0.09, daylong 0.08, scheduled 0.08, stormy 0.07, planned 0.06, ...

Обзор существующих решенийПример:

28

Page 29: Автоматическая кластеризация близких по смыслу слов

Обзор существующих решений

29

• Вопрос сравнения автоматически созданного тезауруса и тезаурусов, созданных вручную – Roget и WordNet.

• Преобразование тезаурусов к виду:

• Вопрос меры подобия тезаурусов.o Для слова w

вводится коэффициент

o Мера подобия - его среднее значение по множеству наиболее употребляемых слов

Page 30: Автоматическая кластеризация близких по смыслу слов

Значение коэффициента подобия между тезаурусом авторов и WordNet – 0.297, а между Roget и WordNet – 0

Пример:

Обзор существующих решений

Тезаурус авторовbrief (noun): affidavit 0.13, petition 0.05, memorandum 0.05, motion 0.05, lawsuit 0.05, deposition 0.05, slight 0.05, prospectus 0.04, document 0.04 paper 0.04.WordNetbrief (noun): outline 0.96, instrument 0.84, summary 0.84, affidavit 0.80, deposition 0.80, law 0.77, survey 0.74, sketch 0.74, resume 0.74, argument 0.74.Rogetbrief (noun): recital 0.77, saga 0.77, autobiography 0.77, anecdote 0.77, novel 0.77, novelist 0.77, tradition 0.70, historian 0.70, tale 0.64.

30

Page 31: Автоматическая кластеризация близких по смыслу слов

Обзор существующих решений

31

• Построены тезаурусы на основе мер lin, Hindler, Hindler и cosine

• Сравнение с WordNet, Roget

Выводы:

•Автоматические построенные тезаурусы более похожи на построенный вручную WordNet, чем Roget, но WordNet похож на Roget больше них.

•Hindler лучше Hindle.

•sim (lin) лучшая мера подобия.

Page 32: Автоматическая кластеризация близких по смыслу слов

Обзор существующих решений

32

Алгоритм кластеризации CBC (Clustering By Committee)

• Мера подобия слов - cosine.

• Решена проблема жесткой кластеризации - многозначных слов

o Каждый кластер, в котором состоит слово, раскрывает его некий смысл

o Принципиально иная идея кластеризацииo Ищутся всевозможные кластеры на основе подобия с

методом взвешенного среднего. o Среди них формируется множество достаточно хороших (в

частности, по включению) кластеров (комитетов).o Каждое слово приписывается ко всем возможным комитетам.

Page 33: Автоматическая кластеризация близких по смыслу слов

Полученный ранее список похожих слов для слова suit и кластеры.

Пример:

Обзор существующих решений

suit: lawsuit, jacket, shirt, pant, dress,case, sweater, coat, trouser, claim, business suit, …

(suitNq34 0.39 (blouse, slack,

legging, sweater)Nq137 0.20 (lawsuit, allegation,

case, charge))

33

Page 34: Автоматическая кластеризация близких по смыслу слов

Заключение

34

• Обработана коллекция русскоязычных новостных документов объёмом 17000 текстов.

• Рассмотрены основные способы определения смысловой близости слов.

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

• Предложен некоторый алгоритм автоматического выделения кластеров похожих слов из русскоязычного текста.

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

Page 35: Автоматическая кластеризация близких по смыслу слов

Литература

35

• «Automatic Retrieval and Clustering of Similar Words»Dekang Lin, Department of Computer Science, University of

Manitoba, Canada, 1998

• «Discovering Word Senses from Text»Patrick Pantel, Dekang Lin, Department of Computing Science,

University of Alberta Edmonton, Canada, 2003