Znaczenie korpusów Większość metod w przetwarzaniu mowy opiera się na statystykach => Jakość i wielkość korpusów jest kluczowa dla jakości systemów 85
Korpus a zbiór danych Przetwarzalny przez maszyny Autentyczne dane językowe Reprezentatywny Zwykle anotowany (transkrypcje do mowy, funkcje gramatyczne do tekstów, osoby wypowiadające się itd.) 86
Jakość sygnału mowy 87
Anotacje Wykonanie wszelkiego rodzaju anotacji jest procesem bardzo czasochłonnym i uciążliwym (1 min mowy -> 20 min pracy) => Korpusy są dużo kosztowniejsze niż ich nie przetworzona zawartość Stosuje się coraz częściej także podejścia automatyczne, bez anotacji przez ludzi (Google) 88
Anotator AGH 89
Segmentacja na fonemy 90
Aspekt prawny Teksty i nagrania są wytworem myśli i jako takie są chronione prawem autorskim Prawo w Polsce dopuszcza pobieranie tekstów z internetu, zabrania ich udostępniania bez zgody autorów Nie ma przepisów prawnych odnośnie praw do modeli językowych wytworzonych na podstawie tekstów objętych ochroną prawem autorskim Można założyć, że statystyki nie są już chronione prawem, ale trzeba liczyć się z wątpliwościami 91
Polskie korpusy mowy Grocholewski CORPORA Jurisdic GlobalPhone Luna SpeechDat(E) EPPS European Parliament corpus Szklanny corpus (PJWSTK) AGH corpus 92
CORPORA - anotacja "*/ak1c1kzm.lab 0 0 sil 50000 900000 k 950000 2000000 a 2050000 3300000 zi 3350000 4050000 i 4100000 5050000 m 5100000 6100000 j 6150000 6800000 e 6850000 7950000 r 8000000 10000000 a 10050000 10800000 sil. MLF, CHR, FON Programy LABEL98 i BASAK98 93
GlobalPhone - anotacja ;SprecherID 001 ; 1: Niemiecka gazeta "Franfurter Rundschau" wczorajsza~ korespondencje~ z Krakowa zatytul1owal1a "Wieczna postac1" ; 2: Dziennik nawia~zal1 do wypowiedzi jednej z ml1odych mieszkanek Krakowa kto1ra mial1a cztery lata gdy kardynal1 Wojtyl1a wyjechal1 do Rzymu w tysia~c dziewie~c1set siedemdziesia~tym o1smym roku ; 3: Cal1e moje z0ycie przebiega pod znakiem Jana Pawl1a drugiego ;timestamp: 1999 ;BEGIN ;LANGUAGE:Polish ;SUPERVISOR:Patrycja H ;TAPELABEL:notape ;RECORD DATE: ;ARTICLE READORDER: ;TOPIC ARTICLE: ;SPEAKERDATA ------------- ;NAME OF SPEAKER:Patrycja ;SPEAKER ID:001 ;NATIVE LANGUAGE:Polish ;RAISED IN:Poland ;DIALECT: ;SEX:female ;AGE:22 ;OCCUPATION:student ;COLD OR ALLERGY:ok ;SMOKER:nonsmoking ;RECORDING SETUP ------------ ;RECORD PLACE: ;ENVIRONMENT NOISE: ;RECORD CONDITIONS: ;COMMENTS: ;END 94
Luna anotacja (2 sek) 95
Luna anotacja (2 sek) c.d. 96
Luna anotacja (2 sek) c.d. 97
Luna anotacja c.d. 98
Europarlament - anotacja <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE Trans SYSTEM "trans-14.dtd"> <Trans audio_filename="1655_1730_pl_sat" version="2" version_date="110106"> <Speakers> <Speaker id="spk1" name="unknown" type="unknown" dialect="native" accent="" scope="global"/> <Speaker id="spk2" name="geremek" check="no" dialect="native" accent="" scope="local"/> </Speakers> <Episode> <Section type="report" starttime="0" endtime="2099.976"> <Turn starttime="0" endtime="32.526"><sync time="0"/> 99
Europarlament anotacja c.d. </Turn> <Turn speaker="spk1" starttime="32.526" endtime="166.829"> <Sync time="32.526"/> [noise] <Sync time="161.086"/> [pause] <Sync time="163.414"/> [noise] </Turn> <Turn speaker="spk2" starttime="166.829" endtime="246.34"> <Sync time="166.829"/> dziękuję panie przewodniczący. <Sync time="169.089"/> muszę wyznać, że przemówienia pana premiera [xxx] mają siłę uwodzicielską. <Sync time="174.29"/> i po przemówieniu czerwcowym w parlamencie słuchając końcowego dzisiejszego, 100
Europarlament anotacja c.d. Sync time="181.06"/> chciałem rozpocząć moje wystąpienie od tego, że uważam premiera [xxx] [xxx] za jednego z nielicznych europejskich mężów stanu. <Sync time="190.204"/> ale czar prysł, gdy pan premier wyszedł. <Sync time="193.549"/> i dlatego moje słowa będą nieco odmienny charakter nosiły. <Sync time="197.796"/> wiele wskazuje na to, że prezydencja brytyjska będzie miała bilans, który będzie smutny dla unii europejskiej. <Sync time="240.712"/> [applause] </Turn> <Turn speaker="spk1" starttime="246.34" endtime="1991.21"> <Sync time="246.34"/>[noise]</turn> <Turn starttime="1991.21" endtime="2099.976"> <Sync time="1991.21"/> </Turn> </Section></Episode></Trans> 101
Szklanny - anotacja File type = "ootextfile" Object class = "TextGrid" xmin = 0 xmax = 5.54 tiers? <exists> size = 1 item []: item [1]: class = "IntervalTier" name = "Alignment" xmin = 0 xmax = 5.54 intervals: size = 57 intervals [1]: xmin = 0 xmax = 0.9933668981481482 text = "_sil_" intervals [2]: xmin = 0.9933668981481482 xmax = 1.1319438952189453 text = "n'" intervals [3]: xmin = 1.1319438952189453 xmax = 1.161179389606396 text = "e" intervals [4]: xmin = 1.161179389606396 xmax = 1.2331743328651683 text = "z" intervals [5]: xmin = 1.2331743328651683 xmax = 1.2801699383273164 text = "a" intervals [6]: xmin = 1.2801699383273164 xmax = 1.3426052499999999 text = "m" intervals [7]: xmin = 1.3426052499999999 xmax = 1.3797865044247786 text = "j" intervals [8]: xmin = 1.3797865044247786 xmax = 1.4101731150793648 text = "e" intervals [9]: xmin = 1.4101731150793648 xmax = 1.490879220335675 text = "Z" intervals [10]: xmin = 1.490879220335675 xmax = 1.5409413580246911 text = "a" intervals [11]: xmin = 1.5409413580246911 xmax = 1.5825974934895832 text = "m" intervals [12]: xmin = 1.5825974934895832 xmax = 1.6389739583333332 text = "m" 102
AGH - anotacja 103
Polskie korpusy tekstów IPI PAN (z POS tagami) NKJP (National Corpus of Polish) Rzeczpospolita Literatura Transkrypcje Sejmu i zjazdów Solidarności Nazwiska (Lista Wildsteina, PESEL, ANWIL SA) Notatki PAP Wikipedia Inne strony (crawling) http://clip.ipipan.waw.pl/lrt 104
Korpus IPI PAN <tok> <orth>porządek</orth> <lex><base>porządek</base><ctag>subst:sg:acc:m3</ctag></lex> <lex disamb="1"> <base>porządek</base><ctag>subst:sg:nom:m3</ctag> </lex> </tok> <tok> <orth>dzienny</orth> <lex><base>dzienny</base><ctag>adj:sg:acc:m3:pos</ctag></lex> <lex><base>dzienny</base><ctag>adj:sg:nom:m1:pos</ctag></lex> <lex><base>dzienny</base><ctag>adj:sg:nom:m2:pos</ctag></lex> <lex disamb="1"> <base>dzienny</base><ctag>adj:sg:nom:m3:pos</ctag> </lex> </tok> 105
Polskie korpusy tekstów 106
Problemy z formatem polskich liter Standardy polskich liter: -UTF-8 -Windows 1250 -ISO 8859-2 -Mazovia -IBM CP 852 -? Czasami w jednym pliku może być użytych kilka
Litery języka polskiego w UTF-8 108
Litery języka polskiego w UTF-8 109
Korpusy tekstów angielskich - American National Corpus (ANC) 22 mln (2009) - CollinsWordbank, mixed mainly British 56 mln (2009) - British National Corpus (BNC) 100 mln (spoken and written) - Corpus of Contemporary American English (COCA) 385 mln (spoken, literature, journals, academic papers) - Brown Corpus (1967) 1 mln but with POS tags - International Corpus of English (ICE) 1 mln (British, Hong Kong, Western Africa, India, New Zeland, Philipines & Singapur) - Oxford English Corpus 2 000 mln (but including Internet websites) - Scottish Corpus of Texts and Speech 4 mln of Scottish 110
Inne typy korpusów Wielojęzyczne (do uczenia tłumaczeń) Wielomodalne (np. audiovideo) Emocjonalne (z pracy mgr inż. Magdaleny Igras) medyczne 111
Korpus audiovideo AGH 112
Korpusy Ultrasonograficzne Thomas Hueber 1, Elie-Laurent Benaroya2, Bruce Denby 3,2, Gérard Chollet 1GIPSA-lab, 2Sigma Laboratory, ESPCI Paristech, 3Université Pierre et Marie Curie, Paris, France 4LTCI/CNRS, Telecom ParisTech 113
Korpusy z obrazowaniem metodą rezonansu magnetycznego (MRI) 114
Korpusy z obrazowaniem metodą rezonansu magnetycznego (MRI) 115
Korpusy elektromiograficzne (EMG) Michael Wand, Matthias Janke, Tanja Schultz (KIT) 116
Korpusy z elektromagnetycznym artykulografem (EMA) P. West, Oxford University Phonetics Lab 117
Korpusy mowy i tekstów czym się kierować przy wyborze Jakość i wielkość potrzebna optymalna decyzja Format nagrań lub tekstów Anotacje Zgodność z tekstem Szczegółowość (zdania, słowa, fonemy) Dodatkowe informacje Kim byli mówcy O czym jest korpus Czy mówcy powtarzają te same wypowiedzi Cena (od 2000 Euro do 50 000 Euro) 118
Słowniki 3 reprezentacje Pliki tekstowe Bazy danych Finite State Automaton 119
Słowniki języka polskiego Synonimy Open Office http://synonimy.ux.pl/, Wielki Słownik Języka Polskiego http://www.wsjp.pl/, Słownik wyrazów obcych i zwrotów obcojęzycznych Władysława Kopalińskiego http://www.slownik-online.pl/index.php, Wikisłownik http://pl.wiktionary.org/, Słownik synonimów i antonimów Piotra Żmigrodzkiego http://leksykony.interia.pl/synonim, Słownik Języka Polskiego http://sjp.pl/, N-gramowy słownik frekwencyjny języka polskiego 120
Słowniki do rozpoznawania mowy zawsze będą mieć transkrypcję fonetyczną. może moze Morze moze tak tak tak tag 121
Słownik AGH baza danych projektowane jako pliki tekstowe -> przetwarzanie do BD (SQL wolne, lepiej stosować Berkley DB i inne nierelacyjne) Mariusz Mąsior 122
Wybór silnika bazy danych Potrzeby: - Duża szybkość odczytu - Odpowiednia licencja - Małe zużycie zasobów - Prostota - Łatwość instalacji (brak serwera usług) - Przenośność danych Dawid Skurzok
SQL vs nosql SQL Structured Query Language relacyjne bazy danych (MySQL, Ms SQL, Oracle, SQLite...) NoSQL - not only SQL - wszystkie inne key-value store, document store, graph DB, object DB, tabular, (BerkeleyDB, BigTable, CouchDB, ) Dawid Skurzok
Wybór silnika bazy danych RDBMS (MySQL, Postgres, MS SQL) Dostępność Wybierz dwa! Tokyo Cabinet, CouchDB, Cassandra Relational Key-Value Tabular Document Spójność BerkeleyDB, BigTable (Google), MongoDB Podzielność Dawid Skurzok
Wybór silnika bazy danych Tylko czytanie danych Dostępność Wybierz dwa! Spójność Podzielność Dawid Skurzok
Wybór silnika bazy danych Tylko czytanie danych Dostępność Wybierz dwa! Spójność Zapis danych jednowątkowo Podzielność Dawid Skurzok
Wybór silnika bazy danych Tylko czytanie danych Dostępność Wybierz dwa! Spójność Zapis danych jednowątkowo Podzielność Dane przechowywane tylko lokalnie Dawid Skurzok
Wybór silnika bazy danych Tylko czytanie danych Dostępność HODB key-value store (DSP AGH) - Duża szybkość odczytu - Własna licencja - Prosta implementacja Spójność Zapis danych jednowątkowo Podzielność Dane przechowywane tylko lokalnie Dawid Skurzok
Testowane silniki baz danych SQLite lekki silnik relacyjnych baz danych BerkeleyDB nierelacyjna baza danych przechowuje dane w oparciu o schemat kluczwartość HODB własna implementacja bazy danych w oparciu o tablicę mieszającą (hash table) Dawid Skurzok
Zbieranie danych do modelu językowego Dawid Skurzok
Odczyt danych dane rzeczywiste Dawid Skurzok
Semantyczne zasoby dla języka Polskiego Słowosieć http://plwordnet.pwr.wroc.pl/browser/ Wikipedia i DBPedia http://dbpedia.org/ Synonimy w OpenOffice http://synonimy.ux.pl/ Wielki Słownik Języka Polskiego http://www.wsjp.pl/ Słownik Języka Polskiego http://sjp.pl/ 133
Słowosieć Elektronika jest typem sprzętu Elektronika jest typem nauki matematycznoprzyrodniczej i nauki ścisłej 134
Słowosieć Automatyka Informatyka Mechanika Inżynieria 135
Konstruowanie Słowosieci 136
Podsumowanie Orientacja w zagadnieniach związanych z korpusami mowy i tekstów (jak się je robi, ocenia ich jakość, wielkość itp.) Rodzaje korpusów (tekst, mowa, wielojęzyczne, audiovideo, emocje, obrazy medyczne ) Implementacje słowników (tekst, BD, FSA) Słowosieć (sprawdzić stronę) 137