Visualisering som representerar den fonetiska kodningen av Pinyin -initialer. Kredit:IBM
Utföra den mentala gymnastiken för att göra den fenetiska åtskillnaden mellan ord och fraser som "Jag hör" till "Jag är här" eller "Jag kan inte så men massor" till "Jag kan inte sy knappar, "är bekant för alla som har stött på autokorrigerade textmeddelanden, punny sociala medier inlägg och liknande. Även om det vid första anblicken kan tyckas att fonetisk likhet bara kan kvantifieras för hörbara ord, detta problem finns ofta i rent textmässiga utrymmen.
AI -metoder för analys och förståelse av text kräver ren inmatning, vilket i sin tur innebär en nödvändig mängd förbehandling av rådata. Felaktiga homofoner och synofoner, om det används av misstag eller på skämt, måste korrigeras precis som alla andra stavnings- eller grammatikfel. I exemplet ovan, att exakt omforma orden "hör" och "så" till sina fonetiskt liknande korrekta motsvarigheter kräver en robust representation av fonetisk likhet mellan ordpar.
De flesta algoritmer för fonetisk likhet motiveras av engelska användningsfall, och designad för indoeuropeiska språk. Dock, många språk, som kinesiska, har en annan fonetisk struktur. Talljudet för en kinesisk karaktär representeras av en enda stavelse i Pinyin, det officiella romaniseringssystemet för kinesiska. En Pinyin -stavelse består av:en (valfri) initial (t.ex. 'b', 'Z H', eller 'x'), en final (t.ex. 'a', 'du', 'wai', eller 'yuan') och ton (av vilka det finns fem). Att mappa dessa talljud till engelska fonem resulterar i en ganska felaktig representation, och att använda indoeuropeiska fonetiska likhetsalgoritmer förenar ytterligare problemet. Till exempel, två välkända algoritmer, Soundex och dubbelmetafon, indexera konsonanter medan du ignorerar vokaler (och har inget begrepp om toner).
Pinyin
Som en Pinyin -stavelse representerar i genomsnitt sju olika kinesiska tecken, överväldigandet av homofoner är ännu större än på engelska. Under tiden, användningen av Pinyin för textskapande är extremt utbredd i mobil- och chattapplikationer, både när du använder tal-till-text och när du skriver direkt, eftersom det är mer praktiskt att mata in en Pinyin -stavelse och välja det tänkta tecknet. Som ett resultat, fonetiskt baserade inmatningsfel är extremt vanliga, betonar behovet av en mycket exakt fonetisk likhetsalgoritm som man kan lita på för att åtgärda fel.
Motiverad av detta användningsfall, som generaliserar till många andra språk som inte lätt passar engelska fonetiska form, vi utvecklade en metod för att lära sig en n-dimensionell fonetisk kodning för kinesiska, En viktig egenskap hos Pinyin är att de tre komponenterna i en stavelse (initial, final och ton) bör övervägas och jämföras oberoende. Till exempel, den fonetiska likheten mellan finalerna "ie" och "ue" är identisk i Pinyin -paren "" xie2, "" xue2 "} och {" lie2, "" lue2 "}, trots de olika initialerna. Således, likheten mellan ett par Pinyin -stavelser är en sammanställning av likheterna mellan deras initialer, final, och toner.
Dock, artificiellt begränsa kodningsutrymmet till en låg dimension (t.ex. indexera varje initial till en enda kategorisk, eller till och med numeriskt värde) begränsar noggrannheten för att fånga de fonetiska variationerna. Det rätta, datadriven strategi är därför att organiskt lära sig en kodning av lämplig dimension. Inlärningsmodellen får exakta kodningar genom att gemensamt överväga språkliga egenskaper hos Pinyin, såsom artikulerings- och uttalmetoder, samt högkvalitativa annoterade utbildningsdatauppsättningar.
Demonstrera en förbättring på 7,5 gånger över befintliga metoder för fonetisk likhet
De inlärda kodningarna kan därför användas för att, till exempel, acceptera ett ord som inmatning och returnera en rankad lista med fonetiskt liknande ord (rankad efter minskande fonetisk likhet). Ranking är viktigt eftersom nedströms applikationer inte kommer att skala för att ta hänsyn till ett stort antal ersättande kandidater för varje ord, speciellt när du kör i realtid. Som ett verkligt exempel, vi utvärderade vårt tillvägagångssätt för att generera en rankad kandidatlista för vart och ett av 350 kinesiska ord hämtade från en social media -dataset, och visade en förbättring på 7,5 gånger jämfört med befintliga fonetiska likhetsmetoder.
Vi hoppas att de förbättringar som detta arbete ger för att representera språkspecifika fonetiska likheter bidrar till kvaliteten på många flerspråkiga applikationer för naturligt språk. Detta jobb, del av IBM Research SystemT -projektet, presenterades nyligen vid 2018 SIGNLL Conference on Computational Natural Language Learning, och den förutbildade kinesiska modellen är tillgänglig för forskare att använda som en resurs för att bygga chatbots, meddelandeprogram, stavningskontroll och andra relevanta applikationer.