360 likes | 546 Views
WEDT Tłumaczenie automatyczne & Query answering. Wykład 8 Piotr Gawrysiak pgawrysiak@supermedia.pl. 2007. Cyfrowe wykluczenie.
E N D
WEDTTłumaczenie automatyczne&Query answering Wykład 8 Piotr Gawrysiak pgawrysiak@supermedia.pl 2007
Cyfrowe wykluczenie Digital divide - The term digital divide refers to the gap between those with regular, effective access to Digital and information technology, and those without this access. It generally encompasses both physical access to technology hardware and, more broadly, skills and resources which allow for its use. Źródło: Wikipedia
Tłumaczenie automatyczne Źródło: Global Reach (www.glreach.com)
Holy Spirit Tłumaczenie automatyczne - początki • W latach 50-tych ubiegłego wieku wydawało się, iż jest to stosunkowo prosty problem, którego rozwiązanie wymaga jedynie zwiększenia mocy obliczeniowej i przede wszystkim pojemności nośników danych • Podejście słownikowe – tłumaczenie poszczególnych słow – nie może być skuteczne, występują bowiem różnice w gramatykach języków: źródłowego i docelowego • Nawet jeśli potrafimy dokonać translacji gramatyki to dalej mamy problem – word sense disambiguation np.:
Tłumaczenie automatyczne - początki Przykład: Babelfish (Angielski – Japoński – Angielski) God drew up the heaven and the earth with beginning. The earth the formless and was invalid, as for the darkness there was a surface being deep, mind of God was moving to the surface of the water. (2005) God drew up the heaven and the earth with beginning. And without form or the space there was earth; And the darkness was on the surface being deep. And mind of God moved to the surface of the water. (2007) • Na kilkadziesiąt lat to mocno osłabiło popularność badań nad AI
Tłumaczenie automatyczne - początki Google Translate (Angielski – Francuski – Angielski) – najprostsza bodajże możliwa kombinacja In starting God created the sky and the ground. And the ground was without form, and vacuum; and the darkness was on the face of the deep one. And the spirit of God moved on the face of water. (2007) Powinno być: In the beginning God created the heaven and the earth. And the earth was without form, and void; and darkness was upon the face of the deep. And the Spirit of God moved upon the face of the waters.(Genesis, King’s James version)
Source:Polish Target: English Word level W łóżku jest szybka In bed is window-pane Syntactic level W łóżku jest szybka She is a window-pane in bed Semantic level W łóżku jest szybka She is quick in bed Knowledge representation W łóżku jest szybka She is quick in bed Formalna reprezentacja języka Tłumaczenie automatyczne • Różne słowniki • Różne gramatyki i reguły składni • Nawet różne zestawy znaków Problemy Oczywiście i tak zwykle najważniejszym problemem okazuje się że i tak nie mamy słownika
Nieco historii Hieroglify Egipski demotyczny Grecki (Ptolemeusz V) Tłumaczenie – Champollion, ~ 20 lat
Bitexts - Biblia English: In the beginning God created the heavens and the earth. Spanish: En el principio crió Dios los cielos y la tierra. French: Au commencement Dieu créa les cieux et la terre. Haitian: Nan konmansman, Bondye kreye syèl laak latèa. Danish: Begyndelsen skabte Gud Himmelen og Jorden. Swedish: I begynnelsen skapade Gud himmel och jord. Finnish: Alussa loi Jumala taivaan ja maan. Greek: En arch epoihsen o Qeoz ton ouranon kai thn ghn. Latin: in principio creavit Deus caelum et terram Vietnamese: Ban dâu Ðúc Chúa Tròi dung nên tròi dât. Inne źródła – głównie teksty prawnicze (UE), zapisy z posiedzeń parlamentarnych (np. Kanada)
Biblia English:In the beginning God created the heavens and the earth. Spanish: En el principio crió Dios los cielos y la tierra. French: Au commencement Dieu créa les cieux et la terre. Haitian: Nan konmansman, Bondye kreye syèl laak latèa. Danish: Begyndelsen skabte Gud Himmelen og Jorden. Swedish: I begynnelsen skapade Gud himmel och jord. Finnish: Alussa loi Jumala taivaan ja maan. Greek: En arch epoihsen o Qeoz ton ouranon kai thn ghn. Latin: in principio creavit Deus caelum et terram Vietnamese: Ban dâu Ðúc Chúa Tròi dung nên tròi dât.
Biblia cont. English:In the beginning God created the heavens and the earth. Spanish: En el principio crió Dios los cielos y la tierra. French: Au commencement Dieu créa les cieux et la terre. Haitian: Nan konmansman, Bondye kreye syèl laak latèa. Danish: Begyndelsen skabte Gud Himmelen og Jorden. Swedish: I begynnelsen skapade Gud himmel och jord. Finnish: Alussa loi Jumala taivaan ja maan. Greek: En arch epoihsen o Qeoz ton ouranon kai thn ghn. Latin: in principio creavit Deus caelum et terram Vietnamese: Ban dâu Ðúc Chúa Tròi dung nên tròi dât.
Biblia cont. English:In the beginning God created the heavens and the earth. Spanish: En el principio crió Dios los cielos y la tierra. French: Au commencement Dieu créa les cieux et la terre. Haitian: Nan konmansman, Bondye kreye syèl laak latèa. Danish: Begyndelsen skabte Gud Himmelen og Jorden. Swedish: I begynnelsen skapade Gud himmel och jord. Finnish: Alussa loi Jumala taivaan ja maan. Greek: En arch epoihsen o Qeoz ton ouranon kai thn ghn. Latin: in principio creavit Deus caelum et terram Vietnamese: Ban dâu Ðúc Chúa Tròi dung nên tròi dât.
Tłumaczenie słów English: In the beginning God created the heavens and the earth. Vietnamese: Ban dâu Ðúc Chúa Tròi dung nên tròi dât. English: God called the expanse heaven. Vietnamese: Ðúc Chúa Tròi dat tên khoang không la tròi. English: … you are this day like the stars of heaven in number. Vietnamese: … các nguoi dông nhu sao trên tròi.
Tłumaczenie English: In the beginning God created the heavensand the earth. Vietnamese: Ban dâu Ðúc Chúa Tròi dung nên tròi dât. English: God called the expanse heaven. Vietnamese: Ðúc Chúa Tròi dat tên khoang không la tròi. English: … you are this day like the stars of heaven in number. Vietnamese: … các nguoi dông nhu sao trên tròi. Jeszcze lepiej – dopasowanie wzorców: Książka okazała sięadjective, The book turned out to be adjective
Słownik dwujęzyczny • Posiadając repozytorium „sparowanych” zdań możemy skonstruować dla każdego słowa wektor, opisujący jego występowanie w zdaniach • Podobieństwo wektorów (czyli wektory najmniej odległe w przestrzeni – np. wg. miary kosinusowej) wyznaczają nam powiązane semantycznie słowa • Zwykle częstość występowania słów ograniczana jest do K=1000 - 10000 <PAIR>S0 <ENGLISH> I am very pleased to see that happening. </ENGLISH> <FRENCH> Je suis très heureux que cela se produise. </FRENCH> </PAIR> <PAIR>S1 <ENGLISH> As I mentioned earlier, my riding is very diverse. </ENGLISH> <FRENCH> Comme je l'ai dit tout à l'heure, ma circonscription est très diversifiée. </FRENCH> </PAIR> <PAIR>S2 <ENGLISH> Dauphin-Swan River is located in west central Manitoba, the second largest settled area riding. </ENGLISH> <FRENCH> La circonscription est située au centre ouest du Manitoba et vient au deuxième rang quant à sa superficie habitée. </FRENCH> </PAIR>
Słownik dwujęzyczny E_I :occ: S0 1 E_I :occ: S1 1 E_in :occ: S2 1 E_large :occ: S2 1 E_locate :occ: S2 1 E_Manitoba :occ: S2 1 E_mention :occ: S1 1 E_my :occ: S1 1 E_pleased :occ: S0 1 E_rid :occ: S2 1 E_riding :occ: S1 1 F_centre :occ: S2 1 F_circonscription :occ: S1 1 F_circonscription :occ: S2 1 F_Comme :occ: S1 1 F_deuxième :occ: S2 1 F_dit :occ: S1 1 F_diversifiée :occ: S1 1 F_du :occ: S2 1 F_est :occ: S1 1 F_est :occ: S2 1 F_et :occ: S2 1 F_habitée :occ: S2 1 F_heure :occ: S1 1 F_heureux :occ: S0 1 F_Je :occ: S0 1 F_Je :occ: S1 1 (E_I -> sims F_Je 0.66442 F_que 0.324093 ... (E_ riding -> sims F_circonscription 0.565143 F_comté 0.315204 ... (E_my -> sims F_mon 0.318009 F_ma 0.301029 F_j 0.159929 F_Je 0.153954 ...
Text Alignment • Tak naprawdę potrzebujemy informacji o tym, które części zdań tłumaczone są na które w języku docelowym • Reguły gramatyczne (oraz styl pisania tłumaczy) powodują, iż zmienia się nie tylko kolejność słów, ale nawet całych zdań. • Potrzebne jest zatem dokonanie „sparowania” – alignment ciągów zdań (beads) – (typu 1:1, 0:1, 1:0, 1:2 itd.) • Podejścia: • Wykorzystujące gramatykę • Wykorzystujące jedynie informacje statystyczne (Length-Based Approach) – Church, Gale 1993 • „krótkie zdania tłumaczone będą na krótkie zdania, a długie – na długie” • metody programowania dynamicznego użyte do znalezienia sparowania o najmniejszym koszcie
Cell phone Fax machine Electronic mail Telephone AD BT RT Telecommunications Data transmission network Post and telecom The U.S.S Nashvillearrived inColon harbour with 42 marines With the warshipinColon harbour, the Colombian troops withdrew Pattern matching – inne zastosowania • Np. Automatyczne budowanie tezaurusów • Tezaurus (sieć semantyczna) przechowuje informacje o związkach pomiędzy słowami (pojęciami) – przykład WordNet • Relacje askryptor - deskryptor • Relacje typu „Broader term” – „Narrower term” • Relacje typu „Related term” Także Latent Semantic Analysis (LSA)
Question Answering • Kolejny „etap rozwoju” metod IR • To co zaczyna nas interesować w przypadku bardzo dużych repozytoriów dokumentów (Internet) to nie tylko zbiór relewantnych dokumentów ale wiedza • QA (question answering): w odpowiedzi na zapytanie użytkownika należy dostarczyć skrótowej definicji, ew. popartej listą źródeł AltaVista query log (~2000) who invented surf music? how to make stink bombs which english translation of the bible is used in official catholic liturgies? how to do clayart how to copy psx how tall is the sears tower? Excite query log (12/1999) how can i find someone in texas where can i find information on puritan religion? what are the 7 wonders of the world how can i eliminate stress What vacuum cleaner does Consumers Guide recommend Zwykle około 12–15% wszystkich zapytań
QA – metody naiwne • Metoda 1 • Używana m.in. przez Google • 1. Dodanie słów „pytających” do stop-listy • 2. Standardowe IR To czasami nawet działa: • Pytanie: Who was the prime minister of Australia during the Great Depression? • The Great Depression - Stories from Australia's Culture and ...Prime Ministers during the Great Depression. James Henry Scullin. James HenryScullin. Image courtesy of National Library of Australia. Labor Prime Minister...www.cultureandrecreation.gov.au/articles/greatdepression/ - 29k - Cached - Similar pages Ale zwykle nie (np. „How much money did IBM spend on advertising in 2002?”) • Metoda 2 - Też używana przez Google • Bierzemy zapytanie i poszukujemy stron zawierających dokładnie ten sam tekst • Traktujemy następne zdanie występujące w dokumencie jako odpowiedź. • Działa doskonale jeśli mamy szczęście i trafiliśmy na FAQ,email z pytaniem itp. • W pozostałych przypadkach działa bardzo źle...
Inne systemy QA • Elementy QA można odnaleźć w wielu systemach wykorzystujących NLP: • Bazy danych z interfejsem w języku naturalnym (np. Lunar) • Wiele wczesnych prac • Systemy IVR • Dziedzina rozwijana obecnie • Nowością jest przejście do systemów typu „open-domain” • MURAX (Kupiec 1993): Odpowiedzi encyklopedyczne • TREC QA competition: od 1999 • Jeden z pierwszych publicznych systemów – Ask Jeeves • Wykorzystuje analizę wzorców aby dopasować pytanie do własnej bazy parametryzowanych odpowiedzi (tworzonych ręcznie) • Jeśli trafimy na wzorzec pytania – otrzymujemy odpowiedź b. wysokiej jakości (ale koszty utrzymania bazy są duże) • Jeśli nie – zwykłe wyszukiwanie w sieci WWW • www.ask.com; Inne systemy – AnswerBus - www.answerbus.com, LCC - www.languagecomputer.com
TREC QA Competition • http://trec.nist.gov • Polega na udzieleniu odpowiedzi nakilkasetpytań (typu „zapytań o fakty”) • Przez pierwsze trzy lata konkurujące systemy mogły udzielić uporządkowaną listę 5-ciuurywków tekstu (50/250 bytes) na każde pytanie. • Ostatnio (2005) kilka zadań - udzielanie odpowiedzi (jednej), porządkowanie dokumentów zawierających odpowiedzi (<=1000). • Korpus (1,033,461 dokumentów, 3GB tekstu): • AP newswire, 1998-2000 • New York Times newswire, 1998-2000 • Xinhua News Agency newswire, 1996-2000 • Można „podpierać się” wyszukiwaniem w innych źródłach np. WWW • Czas – tydzień na przeprowadzenie analizy i udzielenie odpowiedzi... • Może to temat na pracę magisterską? (jak na razie żaden zespół z Polski nie uczestniczy w TREC).
Przykłady pytań z TREC 1. Who is the author of the book, "The Iron Lady: A Biography of Margaret Thatcher"? 2. What was the monetary value of the Nobel Peace Prize in 1989? 3. What does the Peugeot company manufacture? 4. How much did Mercury spend on advertising in 1993? 5. What is the name of the managing director of Apricot Computer? 6. Why did David Koresh ask the FBI for a word processor? 7. What debts did Qintex group leave? 8. What is the name of the rare neurological disease with symptoms such as: involuntary movements (tics), swearing, and incoherent vocalizations (grunts, shouts, etc.)? • Obecnie najlepsze systemy udzielają odpowiedzi na ok. 70% pytań (TREC-12 – 0.7, TREC-10 – 0.75) • B. różne podejścia • 2000, 2001 – podejścia holistyczne używające wielu zaawansowanych technik NLP (Harabagiu, Moldovan et al.) • AskMSR – proste metody wykorzystujące obfitość danych i redundancję informacji • Różnego rodzaju algorytmy dopasowujące wzorce (a la DIPRE)
AskMSR: Simplicity • Opracowany przez Microsoft Research (dla MSN) • In what year did Abraham Lincoln die? • Ignorujemy dokumenty trudne do analizy i poszukujemy prostych
Query rewriting • Zapytanie użytkownika jest często syntaktycznie bliskie zdaniu zawierającemu odpowiedź: • Where istheLouvreMuseumlocated? • TheLouvreMuseumislocated in Paris • Who createdthecharacterofScrooge? • Charles DickenscreatedthecharacterofScrooge. • Klasyfikacja zapytania do jednej z siedmiu kategorii • Who is/was/are/were…? • When is/did/will/are/were …? • Where is/are/were …? • a. transformacje (zależne od kategorii pytania) • np: “For Where questions, move ‘is’ to all possible locations”: • “Where is the Louvre Museum located” • “is the Louvre Museum located” • “the is Louvre Museum located” • “the Louvre is Museum located” • “the Louvre Museum is located” • “the Louvre Museum located is” • b. specyfikacja „typu” odpowiedzi (np. Date, Person, Location, …) • When was the French Revolution? DATE • Powyższe reguły tworzone ręcznie
Where is the Louvre Museum located? Weight 5Jeśli coś znajdziemy to jest wysoce prawdopodobne iż jest to poszukiwana odpowiedź Waga = 1 Wiele możliwych fałszywych trafień +“the Louvre Museum is located” +Louvre +Museum +located Search engine • System wag powiązanych z „zaufaniem” odpowiedzi • Wszystkie zapytania wysyłamy do wyszukiwarki • Pobieramy opisy (snippets) najlepszych N dokumentów
Mining • Tworzymy listę wszystkich n-gramów (N=1,2,3...k) ze wszystkich odnalezionych opisów • Poszczególnym n-gramom przypisujemy wartości związane z liczbą wystąpień ważonych wagami zapytań • Np: “Who created the character of Scrooge?” • Dickens - 117 • Christmas Carol - 78 • Charles Dickens - 75 • Disney - 72 • Carl Banks - 54 • A Christmas - 41 • Christmas Carol - 45 • Uncle - 31
Scores 20 15 10 Date Charles Dickens Location Dickens Person Mr Charles Filtrowanie & składanie • Każde zapytanie jest związane z filtrami typów odpowiedzi • When… • Where… • What … • Who … • Podwyższamy wartość n-gramów które pasują • Obniżamy wartość tych, które nie pasują Mr Charles Dickens Score 45
Rezultaty • Słabo działa na repozytorium TREC (dobre odpowiedzi na ~4 – 5 pozycji) • Nieźle działa w WWW (2-3) – przyczyną jest rozmiar repozytorium • Niestety w wielu zastosowaniach (szczególnie komercyjnych) dysponujemy jedynie ograniczonym zbiorem dokumentów • Działa tylko dla prostych pytań typu fact-based • Oparty o ręcznie tworzony i niewielki zbiór: • klas pytań • reguł tworzenia zapytań • filtrów odpowiedzi
Dopasowywanie wzorców • Wykorzystywane są charakterystyczne frazy • "When was <person> born” • Typowe odpowiedzi • "Mozart was born in 1756.” • "Gandhi (1869-1948)...” • A zatem takie wzorce • "<NAME> was born in <BIRTHDATE>” • "<NAME> ( <BIRTHDATE>-” • Wyrażenia regularne mogą być tu przydatne
Wzorce • Oczywiście najlepiej, jeśli wzorców nie trzeba będzie tworzyć ręcznie – potrzebne są metody uczenia • Np: • “The great composer Mozart (1756-1791) achieved fame at a young age” • “Mozart (1756-1791) was a genius” • “The whole world would always be indebted to the great music of Mozart (1756-1791)” • Najdłuższy wspólny podciąg to "Mozart (1756-1791)” • Możemy użyć tu np. algorytmu drzew sufiksowych do odnajdywania najdłuższych wspólnych ciągów • (Suffix Tree, używane także do grupowania jako Suffix Tree Clustering) • Należy powyższe powtórzyć dla innych pytań np. • “Gandhi 1869”, “Newton 1642”, etc. • Rezultat (jako wzorzec dla BIRTHDATE) • a. born in <ANSWER>, <NAME> • b. <NAME> was born on <ANSWER> , • c. <NAME> ( <ANSWER> - • d. <NAME> ( <ANSWER> - )
Przykładowe wyniki • 6 typów pytań • BIRTHDATE, LOCATION, INVENTOR, DISCOVERER, DEFINITION, WHY-FAMOUS • różna precyzja otrzymywanych odpowiedzi: • BIRTHDATE • 1.0 <NAME> ( <ANSWER> - ) • 0.85 <NAME> was born on <ANSWER>, • 0.6 <NAME> was born in <ANSWER> • 0.59 <NAME> was born <ANSWER> • 0.53 <ANSWER> <NAME> was born • 0.50 - <NAME> ( <ANSWER> • 0.36 <NAME> ( <ANSWER> - • INVENTOR • 1.0 <ANSWER> invents <NAME> • 1.0 the <NAME> was invented by <ANSWER> • 1.0 <ANSWER> invented the <NAME> in • DISCOVERER • 1.0 when <ANSWER> discovered <NAME> • 1.0 <ANSWER>'s discovery of <NAME> • 0.9 <NAME> was discovered by <ANSWER> in • DEFINITION • 1.0 <NAME> and related <ANSWER> • 1.0 form of <ANSWER>, <NAME> • 0.94 as <NAME>, <ANSWER> and
Problemy • Potrzebna jest analiza POS i semantyczna • "Where are the Rocky Mountains?” • "Denver's new airport, topped with white fiberglass cones in imitation of the Rocky Mountains in the background , continues to lie empty” • <NAME> in <ANSWER> • "background" to nie <LOCATION> • Long distance dependencies • "Where is London?” • "London, which has one of the most busiest airports in the world, lies on the banks of the river Thames” • tu potrzebny byłby wzorzec tego typu:<QUESTION>, (<any_word>)*, lies on <ANSWER> • Nadzieja w obfitości danych w WWW • Tylko jedno słowo charakterystyczne • "In which county does the city of Long Beach lie?” • "Long Beachis situated in Los Angeles County” • możliwy wzorzec:<Q_TERM_1> is situated in <ANSWER> <Q_TERM_2> • Wielkość liter może być istotna • "What is a micron?” • "...a spokesman for Micron, a maker of semiconductors, said SIMMs are...„ • Dla pytania o Micron taka odpowiedź byłaby poprawna