tag
DESCRIPTION
My master thesis (in Serbian) - tagger evaluation applied on Serbian textsTRANSCRIPT
Евалуација програма за етикетирање
текста на српском језику
Поповић ЗоранМатематички факултет
Универзитет у Београду
Обрада природног језика (NLP) и етикетирање
Основни појмови
● Корпус (дужина, број лексема/токена и лема)
● Морфо-синтаксна обележја (етикете) икласе етикета (отворене, затворене)
● Етикетирање граматичких делова реченице(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
Основни појмови● Лексикон (величина тј. број лексема), речник● N-грами, правила доделе и трансформација
етикета● Језички модел:
– ,,традиционалан”, формално описан, по угледу на формалне граматике Ноама Чомског (типови)
– и статистички, Шенонов (Шенонове игре; Колмогоров, Чаитин, алгоритамска комплексност, статистичка теорија индукције Р. Соломонова, Голдова идентификација језика)
– као и нека врста везе између ова два (нпр. стохастичке контекстно-слободне граматике)
● CES (http://www.cs.vassar.edu/CES),TEI (Text Encoding Initiative, www.tei-c.org)
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="Vmpssmannp">Bio</w> <w lemma="jesam" ana="Vap3sanyp">je</w> <w lemma="vedar" ana="Afpmsnn">vedar</w> <w lemma="i" ana="Cs">i</w>...
... <w lemma="hladan" ana="Afpmsnn">hladan</w> <w lemma="aprilski" ana="Aopmpn">aprilski</w> <w lemma="dan" ana="Ncmsnn">dan</w> <c>;</c> <w lemma="na" ana="Spsa">na</w> <w lemma="časovnik" ana="Ncmsan">časovnicima</w> <w lemma="jesam" ana="Vap3sanyp">je</w> <w lemma="izbijati" ana="Vmpssnanne">izbijalo</w> <w lemma="trinaest" ana="Mcl">trinaest</w> <c>.</c> </s> <s id="Osr.1.2.2.2"> <w lemma="Vinston" ana="Npmsny">Vinston</w> <w lemma="Smit" ana="Npmsny">Smit</w> <c>,</c>...<! pb n=283 ></p></div></body></text></TEI.2>
Примери корпуса
● Неколико познатих корпуса са особинама у поређењу са корпусима употребљеним у раду:
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
Корпуси коришћени у раду
<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)
Корпуси коришћени у раду● Корпус 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)
Неке примене у областима обраде природног језика● Сегментација (речи и реченица)● Лематизација (stemming)● Word Sense Disambiguation● Прикључење израза с предлогом (Prepositional
Phraze Attachment)● Синтаксна и семантичка анализа (парсирање)
... colourless green ideas furiously sleep.● Аутоматско превођење (добар пример тежине
ове класе проблема: ,,Out of sight, out of mind”)● Претраживање информација (Information
Retrieval)● Препознавање и синтеза говора
Различтити програми за етикетирање и методе машинског учења
Перформансе програма за етикетирање
● Грешка етикетирања:број погрешно етикетираних речи у односу на укупан број речи тест корпуса (као дати низ реченица и речи)
● Десетострука унакрсна валидација(10-fold cross-validation) као тест:
9/10 + 1/10 (корпуси за обучавање + тест)
● Тестирање се ради аутоматизовано
Машинско учење
● Методе машинског учења:
– надгледане (скупу обучавања одговара етикетирани корпус)
– ненадгледане (примери интегрисаних система где семантика етикета није битна, аутоматска лематизација и учење)
● Проблем презасићења (overfitting) учења и способности генерализације, Окамова оштрица
Примери програма за етикетирање
● 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)
Методе машинског учења
● Бајесове мреже● статистички модели:
– MLE (Maximum Likelihood Estimation),– MAP (Maximum a posteriori),– MEP (Maximum Enthropy Principle)
● HMM (скривени ланци Маркова као уопштење регуларних граматика; Баум-Велч, Витерби)
● методе класификације: SVM (Support Vector Machine), наивни Бајесов / Гибсов класификатор
● Учење инстанцама: kNN, RBF, CBR● Учење дрветом одлуке (ID3, C4.5)● Неуронске мреже
Одабрана решења и програми
Tree Tagger● Учење дрветом одлуке● Релативно једноставан за употребу, једини
подразумева лематизацију међу одабраним програмима, али нема алат за генерисање лексикона
● Корпус се задаје у вертикалном формату (једна лексема по линији, раздвојена белим размаком од етикете – и опционо, леме)
● Синтакса команде за етикетирање:
tree-tagger {-options-} <parameter file> \ {<input file> {<output file>}}
TnT - Trigrams'n'Tags
● Учење: СЛМ (HMM, Витерби и варијанте)● Веома једноставан за употребу, најбрже учење
и етикетирање међу свим одабраним програмима,
● Корпус се задаје такође у вертикалном формату● Синтакса команди за учење и етикетирање:
tnt-para [opcije] korpus.tt
tnt [opcije] model korpus.tt > korpus.tts
Brill - Rule Based Tagger
● Учење правила трансформације вођено минимализацијом грешке (лексичка правила за почетно одређивање етикете, контекстна правила трансформације етикета ради повећања тачности)
● Прилично сложен и доста спор постпупак учења са припремним међукорацима
● Корпус се задаје хоризонталном формату (традицоиналан PTB формат: реченица по линији, лексема и етикета раздвојене са ,,/”)
SVMTool
● Учење: SVM класификација● Изузетно спор постпупак учења, али зато
најбогатији опцијама и могућностима прилагођавања алгоритма учења од свих одабраних програма
● Корпус се задаје вертикалном формату● Синтакса команди за учење и етикетирање:
SVMTlearn [opcije] bin/config.short.svmt
SVMTagger [opcije] model
MXPOST
● Учење: принцип максимума ентропије, алат још увек користи пробни поступак (фиксно 100 итерaција)
● Донекле спор постпупак учења● Корпус се задаје хоризонталном формату
(реченица по линији, лексема и етикета раздвојене са ,,_”)
● Синтакса команди за учење и етикетирање:
trainmxpost projectdir traindata
mxpost projectdir < wordfile
Резултати и закључак
Резултати
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ИСПРАВНО
НЕИСПРАВНО
непоз.*
Резултати – наставак
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 су добијени и у MULTEXTEast пројекту)
познате непознате
9/10 1/10ИСПРАВНО
НЕИСПРАВНО
неп.**
Закључци● Tree Tagger се понаша нешто боље од других с
мањим бројем етикета (корпус 2), али са већим бројем етикета (корпус 3) TnТ је очигледно успешнији. Такође, TnТ је и најбржи (учење, етикетирање) и најједноставнији за употребу
● Корпус веће дужине може дати само незнатно боље резултате
● Крајњи домети ових програма нису испитани - SVMTool је близак у резултатима, и нуди много веће могућности додатног прилагођавања програма у односу на остале
Питања
?