11 Часть I. Компоненты 14 Глава Компьютерная


Статистические методы анализа слов



бет17/197
Дата19.03.2022
өлшемі4,29 Mb.
#136225
түріЛитература
1   ...   13   14   15   16   17   18   19   20   ...   197
Байланысты:
nikolaev is mitrenina ov lando tm red prikladnaia i kompiute

Статистические методы анализа слов




    1. Статистическая частеречная разметка

Статистический подход к компьютерной морфологии основан на ме- тодах машинного обучения, о которых подробно рассказывается в пятой главе нашей книги. Кроме того, о них можно узнать из тех работ, которые приводятся в списке литературы в конце данной главы. А здесь мы под- робно рассмотрим только один вид статистического анализа слов — авто- матическую частеречную разметку (part of speech tagging, POS-tagging). В результате этой разметки каждому слову в предложении будет простав-

лена метка или тег (от английского слова tag — бирка) соответствующей части речи. Например, если на входе компьютер получит предложение Дождь стучит в стекло, то на выходе он должен выдать последователь- ность частей речи существительное, глагол, предлог, существительное. Или, если заменить существительное символом N, глагол символом V, а предлог символом P, то на выходе получится цепочка NVPN.


Как научить компьютер проводить автоматическую разметку? Каза- лось бы, надо дать ему словарь, где дождь и стекло будут отмечены как существительные, а стучит — как глагол. Но слово стекло может ока- заться глаголом прошедшего времени, ведь язык неоднозначен. Кроме то- го, чисто статистические методы обходятся без словарей.
Тут можно вспомнить, что в русском языке после предлога будет ид- ти, скорее всего, существительное, а не глагол. Поэтому при автоматиче- ской разметке надо учитывать не только тег каждого слова, но и тот кон- текст, в котором оказывается этот тег.
Проще всего, если у нас уже есть хороший размеченный корпус — большой набор текстов, где у каждого слова в предложении проставлен соответствующий ему тег:


Дождь

стучит

в стекло

N

V

P N

С помощью такого корпуса можно обучить компьютер размечать но- вые предложения.
Для начала на основе корпуса надо составить два множества:

  1. Множество словоформ Ψ — набор всех слов этого корпуса в том ви- де, в каком они находятся в тексте. Ведь для компьютера слова дождь и дождя — это разные цепочки символов.

  2. Множество тэгов Ω — набор всех тэгов, которые использовались в этом корпусе. Их может быть, например, два десятка, но вряд ли больше сотни, даже если привычные части речи разбить на несколько категорий.

Каждое предложение в нашем корпусе можно рассматривать как це- почку x1, x2,…xn. Такая цепочка состоит из n элементов множества Ψ, где n

  • длина предложения.

Соответствующие словам этого предложения теги тоже можно рас- смотреть как цепочку, последовательность элементов из множества тегов Ω. Эту цепочку можно представить так: y1, y2,…yn.
Иными словами, можно сказать, что цепочке словоформ x1, x2,…xn из множества Ψ соответствует цепочка тегов y1, y2,…yn из множества Ω.
Задача статистического анализатора — найти для любой цепочки сло- воформ из множества Ψ наиболее вероятную последовательность тегов из множества Ω. Например, если у нас есть предложение Пришел добрый


пёс, то для него теоретически возможны любые последовательности из трех тегов: NNN, NVV, NPV и все другие комбинации. Но компьютер дол- жен прийти к выводу, что самая вероятная последовательность для данно- го предложения — это VAN (глагол, прилагательное, существительное).
Как научиться считать и сравнивать такие вероятности? В следующем разделе мы рассмотрим один способ решения этой проблемы.


    1. Триграммная скрытая Марковская модель

Автоматическую частеречную разметку можно провести с помощью триграммной скрытой Марковской модели (Trigram hidden Markov model — Trigram HMM). Эта модель строится на основе корпуса. Для нее нам понадобятся упоминавшиеся в предыдущем разделе множества Ψ и Ω, а также два набора параметров, каждый из которых соответствует некото- рой условной вероятности:

    • Параметры s(w|t).

    • Параметры q(t|u, v).

  1. Параметр s(w|t) — это вероятность того, что тегу t соответствует слово w. Например, s(пёс|N) — это вероятность того, что тегу N (сущест- вительное) соответствует слово пёс. Казалось бы, логичнее использовать обратный параметр — вероятность появления тега t, если у нас есть слово w, но интересующий нас параметр именно такой — в качестве условия выступает тег, и оценивается вероятность соответствия ему того или иного слова.

С помощью имеющегося корпуса этот параметр легко оценить для всех словоформ w из множества Ψ и тегов t из множества Ω. Здесь нужно сделать важное замечание: с помощью корпуса мы не сможем вычислить вероятности чего-либо. Мы сможем только оценить вероятность, выбрать ее правдоподобное значение. Для параметра s(w|t) это можно сделать сле- дующим образом:

  1. Вначале нужно вычислить с(t) — сколько раз в корпусе встретился тег t. Например, сколько раз там встретился тег N (допустим, он встретил- ся 10 000 раз).

  2. Затем посчитать с(t → w) — сколько раз в корпусе тегу t соответст- вовала словоформа w. В нашем примере — сколько раз тегу N соответст- вовала словоформа пёс (допустим, 20 раз).

  3. После этого можно посчитать s(w|t) как результат деления с(t → w) на с(t). Это значение может рассматриваться как вероятность того, что тегу t будет соответствовать словоформа w:

s(w|t) = с(𝑡 w)
с(𝑡)


В нашем примере s(пёс|N) = с(𝑁 𝑘ёс) = 20 = 1

с(𝑁)
10 000
500

4) Оставшийся параметр q(t|u, v) — это вероятность появления тэга t при условии того, что перед ним находятся теги uv. Например, q(N|V, A) — это вероятность появления тега N при условии того, что перед ним нахо- дятся теги VA. Эта вероятность для русского языка довольно велика. Такая последовательность тегов встречается, например, в сочетании съел нев- кусный суп или в предложении Произошла странная история.


На основе корпуса этот параметр можно посчитать для всех возмож- ных сочетаний тегов. Самый простой способ вычислить параметр q(t|u, v) похож на вычисление параметра s(w|t).

  1. Первым делом вычисляется с(uvt) — сколько раз в корпусе встре- чается цепочка из идущих подряд тегов uvt. В нашем примере — сколько раз встречалась цепочка тегов VAN (допустим, 200 раз).

  2. Затем нужно посчитать с(uv) — сколько раз в корпусе встречается цепочка из идущих подряд тегов uv. В нашем примере — сколько раз встретились теги VA (допустим, 80 000 раз).

  3. После этого q(t|u, v) вычисляется путем деления с(uvt) на с(uv). Это соответствует вероятности того, что тег t будет идти после цепочки тегов uv. У нас получится 200/80000 = 1/400.

При вычислении параметра q(t|u, v) необходимо учитывать начала и концы предложений. Если какой-то тег встретился в самом начале пред- ложения, то у него нет словоформ, которые могли бы выступить в роли u и


Достарыңызбен бөлісу:
1   ...   13   14   15   16   17   18   19   20   ...   197




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет