tag

25
Евалуација програма за етикетирање текста на српском језику Поповић Зоран Математички факултет Универзитет у Београду

Upload: zoran-popovic

Post on 11-Jun-2015

383 views

Category:

Documents


3 download

DESCRIPTION

My master thesis (in Serbian) - tagger evaluation applied on Serbian texts

TRANSCRIPT

Page 1: Tag

Евалуација програма за етикетирање

текста на српском језику

Поповић ЗоранМатематички факултет

Универзитет у Београду

Page 2: Tag

Обрада природног језика (NLP) и етикетирање

Page 3: Tag

Основни појмови

● Корпус (дужина, број лексема/токена и лема)

● Морфо-синтаксна обележја (етикете) икласе етикета (отворене, затворене)

● Етикетирање граматичких делова реченице(PoS, Part-of-Speech Tagging):

• Vinston/Npmsn--y je/Va-p3s-an-y---p• uve eč /Rgp imao/Vmps-sman-n---p• više/Rgp posla/Ncmsg--n nego/C-s• ikad/Rgp ./SENT

• Vinston/Npmsn--y je/Va-p3s-an-y---p• uve eč /Rgp imao/Vmps-sman-n---p• više/Rgp posla/Ncmsg--n nego/C-s• ikad/Rgp ./SENT

Page 4: Tag

Основни појмови● Лексикон (величина тј. број лексема), речник● N-грами, правила доделе и трансформација

етикета● Језички модел:

– ,,традиционалан”, формално описан, по угледу на формалне граматике Ноама Чомског (типови)

– и статистички, Шенонов (Шенонове игре; Колмогоров, Чаитин, алгоритамска комплексност, статистичка теорија индукције Р. Соломонова, Голдова идентификација језика)

– као и нека врста везе између ова два (нпр. стохастичке контекстно-слободне граматике)

● CES (http://www.cs.vassar.edu/CES),TEI (Text Encoding Initiative, www.tei-c.org)

Page 5: Tag

TEI<TEI.2 id="Osr" lang="sr">  <teiHeader creator="CK" status="update" ... id="Osr.teiHeader">    <fileDesc>        <titleStmt>...    </fileDesc>    <encodingDesc>        <projectDesc>...    </encodingDesc>    <revisionDesc>...    </revisionDesc></teiHeader><text lang="sr" id="Osr.">  <body>    <div id="Osr.1" type="part" n="1">    <div id="Osr.1.2" type="chapter" n="1">      <p id="Osr.1.2.2">        <s id="Osr.1.2.2.1">          <w lemma="biti" ana="Vmps­sman­n­­­p">Bio</w>          <w lemma="jesam" ana="Va­p3s­an­y­­­p">je</w>          <w lemma="vedar" ana="Afpmsnn">vedar</w>          <w lemma="i" ana="C­s">i</w>...

...          <w lemma="hladan" ana="Afpmsnn">hladan</w>          <w lemma="aprilski" ana="Aopmpn">aprilski</w>          <w lemma="dan" ana="Ncmsn­­n">dan</w>          <c>;</c>          <w lemma="na" ana="Spsa">na</w>          <w lemma="&#x10D;asovnik"               ana="Ncmsa­­n">&#x10D;asovnicima</w>          <w lemma="jesam" ana="Va­p3s­an­y­­­p">je</w>          <w lemma="izbijati" ana="Vmps­snan­n­­­e">izbijalo</w>          <w lemma="trinaest" ana="Mc­­­l">trinaest</w>          <c>.</c>        </s>        <s id="Osr.1.2.2.2">          <w lemma="Vinston" ana="Npmsn­­y">Vinston</w>          <w lemma="Smit" ana="Npmsn­­y">Smit</w>          <c>,</c>...<!­­ pb n=283 ­­></p></div></body></text></TEI.2>

Page 6: Tag

Примери корпуса

● Неколико познатих корпуса са особинама у поређењу са корпусима употребљеним у раду:

BNC CLEF

100М 70М 755М 7.5К 75К 105К344 418 511 79 129 908

25706 21863 74398 2.5К 11К 18К

Корпус Wortschatz Корпус 1 Корпус 2 Корпус 3Језик енглески холандски немачки српски српски српскиДужинаБрој етикетаБрој лексема

● Класе етикета: Penn TreeBank (PTB) Tagset, ICE

● MSD (TEI):Ncfsg: Noun common feminine singular genitive

Page 7: Tag

Корпуси коришћени у раду

<Annotation type="morpho"> <body> <div> <head> <mw id="mw__1 " lex="ZAKLJUCAK" lemma="ZAKLJUCAK" tag="?"/> </head> <p> <seg id="n1"> <mw id="mw_1_1 " lex="Na" lemma="na" tag="PREP+p4"/> <mw id="mw_1_2 " lex="meunarodnom" lemma="meunarodni" tag="A"/> <mw id="mw_1_3 " lex="planu" lemma="plan" tag="N"/> <mw id="mw_1_4 " lex="poslednjih" lemma="poslednji" tag="A"/> <mw id="mw_1_5 " lex="decenija" lemma="decenija" tag="N"/> <mw id="mw_1_6 " lex="preduzeti" lemma="preduzeti" tag="V+Perf+Tr"/> <mw id="mw_1_7 " lex="su" lemma="jesam" tag="V+Imperf+It+Iref"/> <mw id="mw_1_8 " lex="znacajni" lemma="znacajan" tag="A"/>... </seg> <seg id="n2">...

● корпус 1 је настао од датотека које представљају део документа ,,Хелсиншке свеске бр. 15, националне мањине и право” (ISBN 86-7208-065-3 http://www.helsinki.org.yu/serbian/doc/sveske15.zip)

● корпус 2 је настао конкатенацијом датотека претходног корпуса и датотека које садрже српски Закон о радиодифузији и материјале са УНДП радионице (http://www.anem.org.yu/download/ZAKON-O-RADIODIFUZIJI.pdf)

Page 8: Tag

Корпуси коришћени у раду● Корпус 3 (,,1984”):

<TEI.2 id="Osr" lang="sr"> <teiHeader creator="CK" status="update" ... id="Osr.teiHeader"> <fileDesc> <titleStmt>...</teiHeader><text lang="sr" id="Osr."> <body> <div id="Osr.1" type="part" n="1"> <div id="Osr.1.2" type="chapter" n="1"> <p id="Osr.1.2.2"> <s id="Osr.1.2.2.1"> <w lemma="biti" ana="Vmps-sman-n---p">Bio</w> <w lemma="jesam" ana="Va-p3s-an-y---p">je</w> <w lemma="vedar" ana="Afpmsnn">vedar</w> <w lemma="i" ana="C-s">i</w> <w lemma="hladan" ana="Afpmsnn">hladan</w> <w lemma="aprilski" ana="Aopmpn">aprilski</w> <w lemma="dan" ana="Ncmsn--n">dan</w> <c>;</c>...

● У складу са TEI нормом, другачија MSD структура, знатно већи лексикон и већи број етикета(Orwell http://nl.ijs.si/ME/bib/mte-nlprs01.pdf)

Page 9: Tag

Неке примене у областима обраде природног језика● Сегментација (речи и реченица)● Лематизација (stemming)● Word Sense Disambiguation● Прикључење израза с предлогом (Prepositional

Phraze Attachment)● Синтаксна и семантичка анализа (парсирање)

... colourless green ideas furiously sleep.● Аутоматско превођење (добар пример тежине

ове класе проблема: ,,Out of sight, out of mind”)● Претраживање информација (Information

Retrieval)● Препознавање и синтеза говора

Page 10: Tag

Различтити програми за етикетирање и методе машинског учења

Page 11: Tag

Перформансе програма за етикетирање

● Грешка етикетирања:број погрешно етикетираних речи у односу на укупан број речи тест корпуса (као дати низ реченица и речи)

● Десетострука унакрсна валидација(10-fold cross-validation) као тест:

9/10 + 1/10 (корпуси за обучавање + тест)

● Тестирање се ради аутоматизовано

Page 12: Tag

Машинско учење

● Методе машинског учења:

– надгледане (скупу обучавања одговара етикетирани корпус)

– ненадгледане (примери интегрисаних система где семантика етикета није битна, аутоматска лематизација и учење)

● Проблем презасићења (overfitting) учења и способности генерализације, Окамова оштрица

Page 13: Tag

Примери програма за етикетирање

● State-of-the-Art (WSJ 0-18/22-24):● CLAWS, R. Garside, G. Leech, G.Sampson (1987), HMM● MBT (Memory Based Tagger), TiMBL, Daelemans

(1999), kNN + CBR● MXPOST, Adwait Ratnaparkhi (1998), MEP● Rule Based Tagger, Eric Brill (1992/93): 97.2% WSJ ● TnT – Thorsten Brants (2000), HMM: 96.7% PTB● Tree Tagger, Helmut Schmid (1994),

Decision Tree: 96.36% PTB

97.16%

Stanford Tagger 97.24%

POS tagger 97.33%

SVMTool SVM-based, tagger generator

Giménez and Márquez (2004)

learning with cyclic dependency network

T outanova et al. (2003)

bidirect ional perceptron learning

Shen et al. (2007)

Page 14: Tag

Методе машинског учења

● Бајесове мреже● статистички модели:

– MLE (Maximum Likelihood Estimation),– MAP (Maximum a posteriori),– MEP (Maximum Enthropy Principle)

● HMM (скривени ланци Маркова као уопштење регуларних граматика; Баум-Велч, Витерби)

● методе класификације: SVM (Support Vector Machine), наивни Бајесов / Гибсов класификатор

● Учење инстанцама: kNN, RBF, CBR● Учење дрветом одлуке (ID3, C4.5)● Неуронске мреже

Page 15: Tag

Одабрана решења и програми

Page 16: Tag

Tree Tagger● Учење дрветом одлуке● Релативно једноставан за употребу, једини

подразумева лематизацију међу одабраним програмима, али нема алат за генерисање лексикона

● Корпус се задаје у вертикалном формату (једна лексема по линији, раздвојена белим размаком од етикете – и опционо, леме)

● Синтакса команде за етикетирање:

tree-tagger {-options-} <parameter file> \ {<input file> {<output file>}}

Page 17: Tag

TnT - Trigrams'n'Tags

● Учење: СЛМ (HMM, Витерби и варијанте)● Веома једноставан за употребу, најбрже учење

и етикетирање међу свим одабраним програмима,

● Корпус се задаје такође у вертикалном формату● Синтакса команди за учење и етикетирање:

tnt-para [opcije] korpus.tt

tnt [opcije] model korpus.tt > korpus.tts

Page 18: Tag

Brill - Rule Based Tagger

● Учење правила трансформације вођено минимализацијом грешке (лексичка правила за почетно одређивање етикете, контекстна правила трансформације етикета ради повећања тачности)

● Прилично сложен и доста спор постпупак учења са припремним међукорацима

● Корпус се задаје хоризонталном формату (традицоиналан PTB формат: реченица по линији, лексема и етикета раздвојене са ,,/”)

Page 19: Tag

SVMTool

● Учење: SVM класификација● Изузетно спор постпупак учења, али зато

најбогатији опцијама и могућностима прилагођавања алгоритма учења од свих одабраних програма

● Корпус се задаје вертикалном формату● Синтакса команди за учење и етикетирање:

SVMTlearn [opcije] bin/config.short.svmt

SVMTagger [opcije] model

Page 20: Tag

MXPOST

● Учење: принцип максимума ентропије, алат још увек користи пробни поступак (фиксно 100 итерaција)

● Донекле спор постпупак учења● Корпус се задаје хоризонталном формату

(реченица по линији, лексема и етикета раздвојене са ,,_”)

● Синтакса команди за учење и етикетирање:

trainmxpost projectdir traindata

mxpost projectdir < wordfile

Page 21: Tag

Резултати и закључак

Page 22: Tag

Резултати

7.5K 75K 105K

2.5K 11K 18K

1.6K 5K 7.6K

79 129 908

min/max/avg ∗ 2290 / 2335 / 2378 9766 / 10368 / 10952 16550 / 16919 / 17372

min/max/avg ∗∗ 73 / 77 / 79 120 / 126 / 129 840 / 884 / 897

85.44% / 64.93% 79.65% / 35.05%

3.90% / 3.87% 1.86% / 20.25% 1.92% / 1.85%

84.93% / 64.70% 94.27% / 38.02% 85.24% / 34.67%

3.60% / 5.51% 1.72% / 22.61% 1.87% / 2.27%

94.11% / 37.42%

3.60% / 4.33% 1.65% / 21.85% 1.75% / 2.19%

3.84% / 2.49% 1.79% / 16.93% 1.69% / 2.25%

4.34% / 4.32% 1.95% / 1.97%

Корпус: Корпус 1 Корпус 2 Корпус 3Дужина:

Број лексема:

Број лема:

Број етикета:

Трајање теста: 22 мин. 9 ч. : 50 мин. 5 дана, 1 ч., 29 мин.

TT – avg/непоз. *: 94.39% / 33.30%

девијација:

SVM – avg/непоз. *:

девијација:

TNT – avg/непоз. *: 86.18% / 67.65% 85.47% / 32.26% девијација:

MX – avg/непоз. *: 82.69% / 54.01% 92.78% / 29.43% 82.07% / 28.62% девијација:

RBT – avg/непоз. *: 84.96% / 82.15% 93.14% / 47.24% 85.20% / 37.96%

девијација: 3.21% / 26.29%

* - број лексема у корпусу за обучавање ** - број етикета у корпусу за обучавање

 познате  непознате

9/10 1/10ИСПРАВНО

НЕИСПРАВНО

непоз.*

Page 23: Tag

Резултати – наставак

TT 98.37% / 56.71% 91.78% / 36.79%SVM 98.29% / 55.18% 97.69% / 67.17% 93.98% / 54.60%

97.57% / 67.17%MX 97.43% / 57.01% 96.48% / 69.09% 92.06% / 54.26%RBT 99.10% / 43.96%

Програм Корпус 1: поз/неп.** Корпус 2: поз/неп.** Корпус 3: поз/неп.** 97.53% / 71.49%

TnT 98.54% / 57.50% 93.86% / 58.36%

97.97% / 48.17% 94.24% / 50.33%

Успешност препознавања познатих и непознатих речи у тест корпусу

(веома слични резултати за TnT су добијени и у MULTEXT­East пројекту)

 познате  непознате

9/10 1/10ИСПРАВНО

НЕИСПРАВНО

неп.**

Page 24: Tag

Закључци● Tree Tagger се понаша нешто боље од других с

мањим бројем етикета (корпус 2), али са већим бројем етикета (корпус 3) TnТ је очигледно успешнији. Такође, TnТ је и најбржи (учење, етикетирање) и најједноставнији за употребу

● Корпус веће дужине може дати само незнатно боље резултате

● Крајњи домети ових програма нису испитани - SVMTool је близак у резултатима, и нуди много веће могућности додатног прилагођавања програма у односу на остале

Page 25: Tag

Питања

?