Språkteknologitill kteknologitillämpningar Hercules Dalianis NADA-KTH Email: hercules@nada.kth.se Tel: 08-790 91 05 http://www.nada.kth.se/~hercules Hercules Dalianis sid 1 Innehåll Maskinöversättning NL-gränssnitt till databaser Validering av formella specifikationer Diktafoner/Diktering Stavningskontroll/Ordprediktion Sökmotor med språkstöd Textsammanfattning/ Indexering Nyhetsbevakning / TDT / Business Intelligence Hercules Dalianis sid 2 Maskinövers versättning Machine Translation (MT) Machine Aided Human Translation (MAHT) Human-Aided Machine Translation (HAMT) Computer Aided Translation (CAT) Hercules Dalianis sid 3 Hercules Dalianis sid 4 Automatisk översättning mellan två naturliga språk Ideerna kom på 1700-talet. Första patenten 1933 i Frankrike och Sovjet Första systemen kom på 50-talet. Ryska till engelska Parsning och generering Ord för ord Mening för mening (syntaktiskt) Mening för mening (semantiskt) Hercules Dalianis sid 5 Hercules Dalianis sid 6
Interlingua och Pivot Interlingua språkoberoende beskrivning Logik, Frames, Scripts, Pivot- Naturliga språk som Interlingua Esperanto (DLT systemet) Qechua (Mellan Spanska och Engelska) Transfer Transfer-Transformation av syntaktiska eller semantiska träd, så att det blir mer målspråkliknande? Direkt transfer - direkt mapping. Syntaktisk transfer - gör om syntaxträdet Semantisk transfer- gör om det semantiska trädet Hercules Dalianis sid 7 Hercules Dalianis sid 8 Syntaktisk transfer Källa) Igår kom han hem Syntaxträd S Transformation Syntaxträd M Mål) He came home yesterday Vauqois Triangel Interlingua Semantic transfer Syntactic transfer Direct transfer Hercules Dalianis sid 9 Hercules Dalianis sid 10 Statistisk MT IBM 1978 Ideér från talteknologin Canadas parlament har parallella texter på två språk engelska och franska Sk Hansarddata, efter den förläggare som publicerade brittiska parlamentsdebatter i början på 1800- talet. Hercules Dalianis sid 11 98 miljoner franska ord och deras ekvivalens på engelska. Ett lexikon på 82.000 franska ord och ett på 60.000 engelska ord (Engelska språket använder färre ord än franska språket). Detta gör 2,8 miljoner ordpar och medianlängden på en sats är 22 ord. Hercules Dalianis sid 12
De tre parametrarna i den statistiska maskinöversättningsmodellen är: 1) Längdfördelningen, längden av engelska ord. 2) Distortionssannolikheten, positionen av ett franskt ord i en sats beroende på positionen av ett engelskt ord i en annan sats och längden av ett franskt ord. 3) Översättningssannolikheten, att ett franskt ord ord skall översättas till ett engelskt ord beroende på ett engelskt ord. Upplärning av systemet tog 150 CPUtimmar på en IBM stordator. Ett experiment: De 1000 vanligaste förkommande orden i engelska valdes ut och de 1700 mest förekommande orden i franska. 73 satser kortare än 10 ord, översattes till franska. Av dessa satser blev 5% exakt som Hansard versionen och 48% semantiskt korrekta!!! Hercules Dalianis sid 13 Hercules Dalianis sid 14 Ett exempel där det blev en exakt översättning jämfört med det upplärande Hansard exemplet. Franska: Ces ammendements sont certainement nécessaires Engelska Hansard data: These amendments are certainly necessary Avkodat som: These amendments are certainly necessary Ett exempel där det blev en semantiskt korrekt översättning jämfört med det upplärande Hansard exemplet. Franska: C`est pourtant très simple Engelska Hansard data: Yes it is very simple Avkodat som: It is still very simple Hercules Dalianis sid 15 Hercules Dalianis sid 16 SYSTRAN systemet i företaget Babelfish Hercules Dalianis sid 17 MT system SYSTRAN (Babelfish) (Kommersiellt) Rosetta (Philips) Holl.-Engelska Eurotra, Europeiska språk METAL (Siemens) Tyska-Engelska etc Pangloss, Spanska, Engelska, Japanska Global One (Kommersiellt) Japan och Kina etc Hercules Dalianis sid 18
MT och tal Swetra Lunds Universitet Spoken Language Translator SLT, Telia-SICS-SRI Tal till tal Svenska Engelska Multra - Uppsala Universitet ESTEAM Svenska, Engelska, etc Inlärning i en viss domän Tal till talöversättning i telefoni Hercules Dalianis sid 19 Hercules Dalianis sid 20 Textgenerering Natural language generation (NLG) Naturligt språk generering Parsning-Textgenerering Canned text Burkad text Forskningsområdet började 1980- Vad används nds textgenerering till? Parafrasering av parsade frågor En parsning ger upphov till två eller fler tolkningar av en mening i tex ett frågegränsnitt Parafrasera dessa tolkningar till NL Oftast en menings genereringar (Man kan använda en bidirektionell grammatik både för parsning och generering tex DCG) Hercules Dalianis sid 21 Hercules Dalianis sid 22 Vad används nds textgenerering till? Generering av måltexten vid maskinöversättning Generering av väder- eller börsrapporter direkt från rådata På flera språk Generering av bruksanvisningar på flera språk på en gång (Scania) Hercules Dalianis sid 23 Hercules Dalianis sid 24
Validering av formella specifikationer genom att parafrasera dessa till NL Förklaringar till medicinska, juridiska, och tekniska komplexa system, t.ex. expertsystemet MYCIN Hercules Dalianis sid 25 Hercules Dalianis sid 26 Parafrasering HSQL-(Help systen for structured query language) prototypen är implementerad mot en databas som innehållerinformation om olika sjukhus och deras verksamheter. Exempel på generering av SQL från naturligt språk samt parafrasering från SQL tillbaka till naturligt språk Fråga: vilken diagnos har Amster? SQL: SELECT DISTINCT T2.other_info, T1.name, T2.reg_no FROM PATIENT T1, DIAGNOSIS T2 WHERE (T1.name = `Amster K.`) AND (T2.reg_no=T1.reg_no) PARAFRAS AV SQL I NATURLIGT SPRÅK vilka diagnoser har en patient som heter Amster K. Fråga: vem behandlar Adler. SQL: SELECT DISTINCT T3.name, T1.name,T2.empl_no, T3.reg_no FROM DOCTOR T1, ATTDOCTOR T2, PATIENT T3 WHERE (T1.name = `Adler J.`) AND (T2.empl_no = T1.empl_no) AND (T3.reg_no=T2.reg_no) PARAFRAS AV SQL I NATURLIGT SPRÅK: Vilka patienter behandlar doktor Adler J. Fråga: vem behandlar Hansson. SQL: SELECT DISTINCT T1.name,T2.empl_no, T3.reg_no, T3.name FROM DOCTOR T1, ATTDOCTOR T2, PATIENT T3 WHERE (T2.empl_no = T1.empl_no) AND (T3.reg_no = T2.reg_no) AND (T3.name=T2.`Hansson A.`) PARAFRAS AV SQL I NATURLIGT SPRÅK: Vilka doktorer behandlar patienten Hansson A. Hercules Dalianis sid 27 Hercules Dalianis sid 28 Generering till ett eller flera språk Väderrapporter COGENTEX, Canada Börsrapporter Bilmanualer TechDoc, Honda Tyskland Stödsystem Scarrie - Scania (via Scaniasvenska och direkt) Indata till GOSSIP: ee(martin,ttyp0,login,[],8:20:03,_,_,0). Generering från n rådatar ee(martin,ttyp0,editor,[f1],8:30:00,9:10:32,0:40:32,240). ee(martin,ttyp1,editor,[f2],8:42:21,9:13:14,0:30:53,183). ee(martin,ttyp0,logout,[],9:21:05,_,1:01:02,0). ee(martin,ttyp0,login,[],10:17:32,_,_,0). ee(martin,ttyp0,editor,[f1],10:20:58,12:15:27,1:54:29,1200). ee(martin,ttyp1,editor,[f2],11:00:39,11:32:48,0:32:09,185). ee(jessie,ttyd0,login,[],11:03:46,_,_,0). ee(jessie,ttyd0,editor,[f5],11:12:45,12:48:22,1:35:37,573). ee(jessie,ttyd1,compiler,[f4],11:23:32,11:31:01,0:07:29,300). ee(jessie,ttyd1,editor,[f3],11:32:25,11:45:56,0:13:31,70). ee(jessie,ttyd1,editor,[f4],11:47:34,11:59:09,0:11:35,65). ee(jessie,ttyd1,compiler,[f4],12:04:47,12:08:32,0:03:45,186). ee(jessie,ttyd1,editor,[f3],12:09:57,12:16:34,0:06:37,15). ee(jessie,ttyd1,editor,[f4],12:18:43,12:39:24,0:20:41,154). ee(martin,ttyp0,logout,[],12:20:21,_,2:02:49,0). ee(jessie,ttyd1,editor,[f7],12:56:01,13:15:02,0:19:01,143). ee(jessie,ttyd0,editor,[f6],12:59:56,13:20:43,0:20:47,187). Utdata från GOSSIP: The system was used for 7 hours 32 minutes and 12 seconds. The users of the system ran editors and compilers during this time. Compilers were run six times (the cpu-time equal to 46% of the total cpu-time). Editors were run twelwe times (the cpu-time equal to 53% of the total cpu-time). Two users, Martin and Jessie, logged on to the system. Jessie used the system for 63 % of the time in use. Hercules Dalianis sid 29 Hercules Dalianis sid 30
Validering av formella specifikationer genom att parafrasera dessa till NL Ellemtel-Ericsson LOXY ett predikatlogiskt språk för att beskriva telefonitjänster Clare = LOXY+Konceptuell modell Validera LOXY och Clare genom att översätta dessa till NL CLARE-Ericsson Subscribers are part of a network. Mobile subscribers are subscribers. Subscribers can either be in the state idle or busy. The state busy can either be in the substates ringtone, ringsignal, busytone or dialtone. When one subscriber is calling an other subscriber then the first subscriber has ringtone and the other subscriber has ringsignal. network[1] subscriber[0..1000] #phonenumber XOR idle busy XOR [1] ringtone busytone calling ringsignal [1] dialtone isa mobile_subscriber Hercules Dalianis sid 31 Hercules Dalianis sid 32 ASTROGEN-Validerar INSTANTIATION example OF SPECIFICATION network ENTITIES John:subscriber phonenumber = 100;phonenumber = 101 IS STATES idle; Mary:subscriber phonenumber = 200 IS STATES idle; Tom:subscriber phonenumber = 300 IS STATES idle; END; john, mary and tom are subscribers they are idle john has phonenumbers 100 and 101 mary has a phonenumber 200 tom has a phonenumber 300. yes Hercules Dalianis sid 33 Hercules Dalianis sid 34 Automatisk dokumentation Modell över systemet, telefonisystem, video, tvättmaskin etc Generering av styrkod C Pascal Generering av bruksanvisningar på flera språk Andra tillämpningar Diktering - Dragon Systems Taligenkänning och skrivning av text Taligenkänning och styrning av maskiner I vissa yrken, maskinskötare, läkare, sjuksköterska SJ-tågupplysning Bilregistret Telia nummerupplysning Hercules Dalianis sid 35 Hercules Dalianis sid 36
Stavningskontroll/ Prediktion Stavnings- och grammatikkontroll lokalt eller på server Ordprediktion SMS vid inmatning av meddelande Handikapptillämpning Sökmotor med språkst kstöd Automatisk språkigenkänning Stemming / expandering Stavningsstöd Hercules Dalianis sid 37 Hercules Dalianis sid 38 Automatisk språkigenk kigenkänningnning Mha av en liten mängd statistik kunna avgöra vilket språk en text är skriven på. Kategorisering av texter. Stemming/expandering Normalisering/lemma/rotform Olika för olika språk bilverkstäder => bilverkstad För sökmotorer för att öka täckning => förbättra precision 5-40% bättre beroende på språk Hercules Dalianis sid 39 Hercules Dalianis sid 40 Dynamiskt stavningsst Dynamiskt stavningsstöd 10 % av frågorna felstavande Index som lexikon Hercules Dalianis sid 41 Hercules Dalianis sid 42
Indexering Indexering/Nyckelordsextraktion Ta ut nyckelord automatiskt från en text Bibliotekssystem Manuell indexering tar tid och är tråkigt Automatisk nyhetsbevakning Agent bevakar massor av nyhetskanaler Användaren talar om vilka nyckelord han/hon och vilka nyhetskanaler han/hon vill bevaka. Ordet/orden eller del av ordet skall finnas i nyheten, dvs stemming tillämpas. Om detta uppfylls så mailas nyheten sammanfattad eller som vanligt till användaren. Omvärldsbevakning, (Business Intelligence). Hercules Dalianis sid 43 Hercules Dalianis sid 44 Hercules Dalianis sid 45 Hercules Dalianis sid 46 TDT-Topic Topic Detection Tracking TDT begreppet kommer från DARPA programmet TIDES Translingual Information Detection, Extraction and Summarization, dvs med datorer automatiskt detektera nyheter, extrahera och översätta dessa. Engelska och kinesiska nyheter på radio, TV och vanliga textmedia bevakas med taligenkänning och statistiska och lingvistiska metoder. Hercules Dalianis sid 47 Hercules Dalianis sid 48
Fem olika uppgifter i TDT. Segmentation - att kunna urskilja olika nyheter i nyhetsfloden, Tracking - att kunna följa nyheter med samma ämne/topic. Detection - att kunna gruppera nyheter efter ämne, Link detection- har två nyheter ngn koppling ämnesmässigt och slutligen det svåraste och intressantaste First Story Detection kunna upptäcka en helt ny nyhet i nyhetsfloden. Man lyckas hyfsat bra med de fyra första uppgifterna, man gör 33-25 % fel där, men med First Story Detection hamnar man på 70% fel. Hercules Dalianis sid 49