Пометка части речи на основе скользящего окна

редактировать

Пометка части речи на основе скользящего окна используется для части- of-speech тег текст.

Высокий процент слов в естественном языке - это слова, которые вне контекста могут быть отнесены к более чем одной части речи. Процент этих неоднозначных слов обычно составляет около 30%, хотя это сильно зависит от языка. Решение этой проблемы очень важно во многих областях обработки естественного языка. Например, в машинном переводе изменение части речи слова может резко изменить его перевод.

Тегеры части речи на основе скользящего окна - это программы, которые назначают одну часть речи данной лексической форме слова, просматривая «окно» фиксированного размера слов вокруг слова, чтобы быть устранена неоднозначность.

Двумя основными преимуществами этого подхода являются:

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

Пусть

Γ = {γ 1, γ 2,…, γ | Γ |} { \ displaystyle \ Gamma = \ {\ gamma _ {1}, \ gamma _ {2}, \ ldots, \ gamma _ {| \ Gamma |} \}}\ Gamma = \ {\ gamma _ {{1}}, \ gamma _ {{2}}, \ ldots, \ gamma _ {{| \ Gamma |}} \}

- набор грамматических тегов приложения, которые - это набор всех возможных тегов, которые могут быть назначены слову, и пусть

W = {w 1, w 2,…} {\ displaystyle W = \ {w1, w2, \ ldots \}}W = \ {w1, w2, \ ldots \}

- словарь приложения. Пусть

T: W → P (Γ) {\ displaystyle T: W \ rightarrow P (\ Gamma)}T: W \ rightarrow P (\ Gamma)

- функция для морфологического анализа, которая присваивает каждому w {\ displaystyle w}w его набор возможных тегов, T (w) ⊆ Γ {\ displaystyle T (w) \ substeq \ Gamma}T (w) \ substeq \ Gamma , это может быть реализуется полной лексикой или морфологическим анализатором. Пусть

Σ = {σ 1, σ 2,…, σ | Σ | } {\ displaystyle \ Sigma = \ {\ sigma _ {1}, \ sigma _ {2}, \ ldots, \ sigma _ {| \ Sigma |} \}}\ Sigma = \ {\ sigma _ {{1}}, \ sigma _ {{2}}, \ ldots, \ sigma _ {{| \ Sigma |}} \}

набор классов слов, которые в общим будет раздел из W {\ displaystyle W}Wс ограничением, что для каждого σ ∈ Σ {\ displaystyle \ sigma \ in \ Sigma}\ sigma \ in \ Sigma все слова w, Σ, σ {\ displaystyle w, \ Sigma, \ sigma}{\ displaystyle w, \ Sigma, \ sigma} получат один и тот же набор тегов, то есть все слова в каждый класс слов σ {\ displaystyle \ sigma}\ sigma принадлежит к одному и тому же классу неоднозначности.

Обычно Σ {\ displaystyle \ Sigma}\ Sigma строится таким образом, что для часто встречающихся слов каждый класс слов содержит одно слово, а для низкочастотных слов каждое слово class соответствует одному классу неоднозначности. Это обеспечивает хорошую производительность для часто встречающихся неоднозначных слов и не требует слишком большого количества параметров для теггера.

С помощью этих определений можно сформулировать проблему следующим образом: Для данного текста w [1] w [2]… w [L] ∈ W ∗ {\ displaystyle w [1] w [2] \ ldots w [L] \ in W ^ {*}}w [1] w [2] \ ldots w [L] \ in W ^ {*} каждому слову w [t] {\ displaystyle w [t]}w [t] присваивается слово class T (w [t]) ∈ Σ {\ displaystyle T (w [t]) \ in \ Sigma}T (w [t]) \ in \ Sigma (либо с помощью лексики, либо с помощью морфологического анализатора), чтобы получить неоднозначное текст с тегами σ [1] σ [2]… σ [L] ∈ W ∗ {\ displaystyle \ sigma [1] \ sigma [2] \ ldots \ sigma [L] \ in W ^ {*}}\ sigma [1 ] \ sigma [2] \ ldots \ sigma [L] \ in W ^ {*} . Задача теггера - получить текст с тегами γ [1] γ [2]… γ [L] {\ displaystyle \ gamma [1] \ gamma [2] \ ldots \ gamma [L]}\ gamma [1] \ gamma [2] \ ldots \ gamma [L] γ [t] ∈ T (σ [t]) {\ displaystyle \ gamma [t] \ in T (\ sigma [t])}\ gamma [t] \ in T (\ sigma [t]) ) так же правильно, как возможный.

Статистический теггер ищет наиболее вероятный тег для текста с неоднозначными тегами σ [1] σ [2]… σ [L] {\ displaystyle \ sigma [1] \ sigma [2] \ ldots \ sigma [L]}\ sigma [1] \ sigma [2] \ ldots \ sigma [L] :

γ ∗ [1]… γ ∗ [L] = arg max γ [t] ∈ T (σ [t]) ⁡ p (γ [1]… γ [L] σ [ 1]… σ [L]) {\ displaystyle \ gamma ^ {*} [1] \ ldots \ gamma ^ {*} [L] = \ operatorname {\ arg \, max} _ {\ gamma [t] \ in T (\ sigma [t])} p (\ gamma [1] \ ldots \ gamma [L] \ sigma [1] \ ldots \ sigma [L])}{\ displaystyle \ gamma ^ {*} [1] \ ldots \ gamma ^ {*} [L] = \ operatorname {\ arg \, max} _ {\ gamma [t] \ in T (\ sigma [t])} p (\ gamma [1] \ ldots \ gamma [L] \ sigma [1] \ ldots \ sigma [L])}

Используя формулу Байеса, это преобразуется в:

γ ∗ [1]… γ ∗ [L] = arg max γ [t] ∈ T (σ [t]) ⁡ p (γ [1]… γ [L]) p (σ [1]… σ [L] γ [1]… γ [L]) {\ displaystyle \ gamma ^ {*} [1] \ ldots \ gamma ^ {*} [L] = \ operatorname {\ arg \, max } _ {\ gamma [t] \ in T (\ sigma [t])} p (\ gamma [1] \ ldots \ gamma [L]) p (\ sigma [1] \ ldots \ sigma [L] \ gamma [1] \ ldots \ gamma [L])}{\ displaystyle \ gamma ^ {*} [1] \ ldots \ gamma ^ {*} [L] = \ operatorname {\ arg \, max} _ {\ gamma [t] \ in T (\ sigma [ t])} p (\ gamma [1] \ ldots \ gamma [L]) p (\ sigma [1] \ ldots \ sigma [L] \ gamma [1] \ ldots \ gamma [L])}

где p (γ [1] γ [2]… γ [L]) {\ displaystyle p (\ gamma [1] \ gamma [2] \ ldots \ gamma [L])}p (\ gamma [1] \ gamma [2] \ ldots \ gamma [L]) - вероятность того, что конкретный тег (синтаксический вероятность) и п (σ [1]… σ [L] γ [1]… γ [L]) {\ displaystyle p (\ sigma [1] \ dots \ sigma [L] \ gamma [1] \ ldots \ gamma [L])}p (\ sigma [1] \ dots \ sigma [L] \ gamma [1] \ ldots \ gamma [L]) - вероятность того, что этот тег соответствует тексту σ [1]… σ [L] {\ displaystyle \ sigma [1] \ ldots \ sigma [L ]}\ sigma [1] \ ldots \ sigma [L] (лексическая вероятность).

В модели Маркова эти вероятности аппроксимируются как произведения. Синтаксические вероятности моделируются марковским процессом первого порядка:

p (γ [1] γ [2]… γ [L]) = ∏ t = 1 t = L p (γ [t + 1] γ [t ]) {\ Displaystyle п (\ гамма [1] \ гамма [2] \ ldots \ гамма [L]) = \ prod _ {т = 1} ^ {т = L} р (\ гамма [т + 1] \ гамма [t])}p (\ gamma [1] \ gamma [ 2] \ ldots \ gamma [L]) = \ prod _ {{t = 1}} ^ {{t = L}} p (\ gamma [t + 1] \ gamma [t])

где γ [0] {\ displaystyle \ gamma [0]}\ gamma [0] и γ [L + 1] {\ displaystyle \ gamma [L + 1]}\ gamma [L + 1] - символы-разделители.

Лексические вероятности не зависят от контекста:

p (σ [1] σ [2]… σ [L] γ [1] γ [2]… γ [L]) = ∏ t = 1 T знак равно L п (σ [T] γ [T]) {\ Displaystyle p (\ Sigma [1] \ Sigma [2] \ ldots \ sigma [L] \ gamma [1] \ gamma [2] \ ldots \ gamma [L]) = \ prod _ {t = 1} ^ {t = L} p (\ sigma [t] \ gamma [t])}p (\ sigma [1] \ sigma [2] \ ldots \ sigma [L] \ gamma [1] \ gamma [2] \ ldots \ gamma [L]) = \ prod _ {{t = 1}} ^ {{t = L}} p (\ sigma [t] \ гамма [t])

Одной из форм тегирования является аппроксимация первой формулы вероятности:

p (σ [1] σ [2]… σ [L] γ [1] γ [2]… γ [L]) = ∏ t = 1 t = L p (γ [t] C (-) [t ] σ [T] С (+) [T]) {\ Displaystyle p (\ Sigma [1] \ sigma [2] \ ldots \ sigma [L] \ gamma [1] \ gamma [2] \ ldots \ gamma [ L]) = \ prod _ {t = 1} ^ {t = L} p (\ gamma [t] C _ {(-)} [t] \ sigma [t] C _ {(+)} [t])}p (\ sigma [1] \ sigma [2] \ ldots \ sigma [L] \ gamma [1 ] \ gamma [2] \ ldots \ gamma [L]) = \ prod _ {{t = 1}} ^ {{t = L}} p (\ gamma [t] C _ {{(-)}} [t] \ sigma [t] C _ {{(+)}} [t])

где C (-) [t] = σ [t - N (-)] σ [t - N (-)]… σ [t - 1] {\ displaystyle C _ {(-)} [ t] = \ sigma [t-N _ {(-)}] \ sigma [t-N _ {(-)}] \ ldots \ sigma [t-1]}C _ {{(-)}} [t] = \ sigma [t-N_ {{(-)}}] \ sigma [t-N _ {{(-)}}] \ ldots \ sigma [t-1] - правильный контекст размера N (+) {\ displaystyle N _ {(+)}}N _ {{(+)}} .

Таким образом, алгоритм скользящего окна должен учитывать только контекст размером N (-) + N (+) + 1 {\ displaystyle N _ {(-)} + N _ {(+)} + 1}N _ {{(-)}} + N _ {{(+)}} + 1 . Для большинства приложений N (-) = N (+) = 1 {\ displaystyle N _ {(-)} = N _ {(+)} = 1}N _ {{(-)}} = N _ {{(+)}} = 1 . Например, чтобы пометить неоднозначное слово «беги» в предложении «Он бежит от опасности», необходимо учитывать только теги слов «Он» и «от».

Дополнительная литература
Последняя правка сделана 2021-06-08 05:52:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте