Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Magia
5
Google’aobejmującydokumentywjęzykachnaturalnychmaponad100milionówgiga-
bajtów2.Atuchodzitylkooindeks.Iniejestonpełny.Rozmiartreściwjęzykach
naturalnychdostępnychobecnieonlinemusiprzekraczać100miliardówgigabajtów3.
Aletaogromnailośćtekstówwjęzykachnaturalnychniejestjedynympowodem,dla
któregoważnejesttworzenieoprogramowania,któremożejeprzetwarzać.
Ciekawe,żeprocestenjesttrudny.Maszynyzmożliwościąprzetwarzaniaczegośnatu-
ralnegonienaturalne.Przypominatobudowaniestruktury,którapotrafizrobićcoś
użytecznegozrysunkamiarchitektonicznymi.Gdyoprogramowaniemożeprzetwarzać
języki,którenieprzeznaczonedlamaszyn,wyglądatonamagięcoś,couważaliśmy
dotądzawyłącznązdolnośćludzi.
Słowo„naturalny”wwyrażeniu„języknaturalny”używanejestwtakimsamymsen-
siejakwwyrażeniu„światnaturalny”.Naturalnerzeczywokółnas,którewyewoluo-
wały,różniąsięodmechanicznych,sztucznychrzeczyzaprojektowanychizbudowanych
przezludzi.Zdolnośćdozaprojektowaniaizbudowaniaoprogramowania,któremoże
czytaćiprzetwarzaćjęzyk,jakto,coterazczytaciejęzykotworzeniuoprogramowa-
nia,któremożeprzetwarzaćjęzyknaturalnycóż,bardzometa,bardzomagiczne.
Abybyłowamłatwiej,skupimysięnajednymjęzykunaturalnym,naangielskim.
Aletechnikipoznanewtejksiążcemożeciewykorzystaćdostworzeniaoprogramowa-
nia,którebędzieprzetwarzaćdowolnyjęzyk,nawetjęzyk,któregonierozumieciealbo
musizostaćodszyfrowanyprzezarcheologówilingwistów.Ipokażemywam,jakpisać
oprogramowaniedoprzetwarzaniaigenerowaniategojęzyka,wykorzystująctylkojeden
językprogramowania,Python.
Pythonzostałzaprojektowanyodpodstawtak,bybyłjęzykiemczytelnym.Poka-
zujeonteżwiele„bebechów”sposobu,wjakijestprzetwarzany.Obietecechyspra-
wiają,żestanowinaturalnywybórdonaukiprzetwarzaniajęzykanaturalnego.Jestto
świetnyjęzykdotworzeniałatwychdoutrzymaniapotokówprodukcyjnychdlaalgoryt-
mówNLPwśrodowiskufirmowym,zwielomaosobamitworzącymijednąbazękodu.
Gdzietylkojesttomożliwe,używamyPythonanawetwmiejsce„językauniwersalnego”
matematykiisymbolimatematycznych
4
,ajestzaprojektowanytak,żejestbardzoczy-
telnydlatakichprogramistówjakwy.
1.2.1.Maszynyprowadzącekonwersację
Językinaturalneniemogązostaćbezpośrednioprzetłumaczonenadokładnyzbiór
działańmatematycznych,alezawierająinformacjeiinstrukcje,któremożnaznich
wyodrębnić.Tefragmentyinformacjiiinstrukcjimożnazapisać,indeksować,przeszu-
kiwaćlubwykonaćnanichnatychmiastowedziałania.Jednymztychdziałańmożebyć
2Patrzstronainternetowapodtytułem„Jakwyszukiwarkaporządkujeinformacje”(https://www.
google.com/search/howsearchworks/crawling-indexing/).
3Możnaszacować,żeliczbaobecnychtekstówwjęzykunaturalnymwsiecijestconajmniej1000razy
większaniżindeksGoogle’a.
4Zapismatematycznyjestdwuznaczny.Patrzdział„Mathematicalnotation”wartykulewWikipedii
„Ambiguity”(https://en.wikipedia.org/wiki/Ambiguity#Mathematical_notation).