Može li kompjutor čitati kemijske formule?

Japanski su znanstvenici napisali računalni program koji čita kemijske formule iz knjiga. Je li uspješan? Pa sad...

Nenad Raos subota, 10. srpnja 2021. u 06:00

Da kompjutor skenira tekst iz knjige, a zatim ono što je skenirao izgovara ljudskim glasom stara je stvar. Odnedavno imamo i programe koji čitaju matematičke zadatke ispisane rukom, a potom ih rješavaju. No što je s drugime što se nalazi u rukopisu ili na stranicama knjige? Što je sa slikama, fotografijama, tablicama, grafikonima i na kraju – a to je tema ovog priloga – što je s kemijskim formulama?

Kompjutori su, nema sumnje, mnogo pomogli slijepima i slabovidnima kojima je prije informatičke revolucije put u svijet videćih vodio samo kroz Brailleovo pismo i ljudski glas, bilo živi bilo s magnetofonske vrpce, no kako ljudski glas može prenijeti kemijsku formulu? (Pritom mislim na strukturnu, konstitucijsku, a ne molekulsku formulu.) Može i to, tako da imenuje kemijski spoj koji formula prikazuje. Pritom ne treba reći trivijalno ime, glicerol, anilin ili TNT, nego ono sustavno. Sustavno je ime sastavljeno prema pravilima Međunarodne unije za čistu i primijenjenu kemiju (IUPAC). Prema IUPAC-ovoj nomenklaturi glicerol se zove propan-1,2,3-triol, anilin je aminobenzen, a TNT je kratica za 1-metil-2,4,6-trinitrobenzen.

Nekoć sam davno napisao članak protiv takve, sustavne nomenklature – jer kemičaru je lakše i jednostavnije pisati i čitati formule nego duga i komplicirana imena – no samo kemičaru koji nema problema s vidom. Onome tko taj problem ima, ne preostaje drugo nego da se u sustavnoj nomenklaturi toliko izvješti da kad čuje „1-metil-2,4,6-trinitrobenzen“, ili neko još kompliciranije ime, svojim unutrašnjim okom vidi formulu rečenoga kemijskog spoja sa svim atomima i vezama među njima.

Dijagram toka programa CleArS
Dijagram toka programa CleArS

No vratimo se kemiji, ili – bolje rečeno – kemijskoj informatici. Zadatka da nauče računalo čitati kemijske formule prihvatila su se šestrica japanskih znanstvenika s četiri sveučilišta te su izradili programski sustav CLeArS („Chemical Literature Extraction and Aloud-reading System“) koji može činiti ovo što sam upravo napisao, i još više od toga.

Program može izdvajati kemijske formule iz teksta, analizirati pročitano pronalaženjem slova (optical character recognition, OCR), a potom pročitane formule interpretirati te ih imenovati prema spomenutim IUPAC-ovim pravilima te zatim imena naglas pročitati. I za ova dva posljednja koraka već postoje algoritmi. Nova su međutim dva srednja koraka. Prvi je izdvajanje formule iz teksta („Chemical Literature Extraction“), a drugi ispravno čitanje „ekstrahirane“ kemijske formule.

Prvi korak, izdvajanje formule iz teksta, ne čini se teškim, pa ipak. Kako prepoznati kemijsku formulu umetnutu u tekst? Odgovor je da u formuli ima više praznina, tj. manje punih piksela po retku i po površini. Jednostavno pravilo, no opet ne tako dobro da bude nepogrešivo: iz 450 uzoraka na kojima je ispitan program, izdvojeno je 405 formula, dakle 90 %. No kada su izdvojene formule bile potom podvrgnute analizi, samo ih je pola bilo ispravno pročitano. Razlog tome bila su prije svega pogrešno pročitana slova.

Kemijska se formula, ukratko, sastoji od crtica, koje označavaju kemijsku vezu, i slova, koja označavaju atome. No nije sve tako jednostavno, jer neki atomi, poput vodika, ne moraju uopće biti označeni, a drugi, poput ugljika, mogu biti prikazani samo vrhom kuta između dviju crtica, koji obično iznosi 120 stupnjeva. Ako se samo jedno slovo krivo pročita, jasno je, cijela formula neće valjati, jer će je program krivo interpretirati. To se najbolje vidi po tome što je ispravno pročitano samo 40 % oznaka H, 60 % oznaka C i 75 % oznaka N. Usto rezultat umnogome ovisi o tome jesu li slova pisana istim ili različitim pismom. Kako je to moguće?

Razlog pogreškama je što je program počesto čitao „-O-“ i „-N-“ kao „H“, jer se u slovu „H“ nalazi horizontalna crtica. U jednoj je formuli oznaka „H“ bila napisana odmah ispod „N“ pa je oba slova program pročitao kao „N“. Ili, drugi slučaj, kada je formula bila crtkanom crtom podijeljena na dva dijela. Program to nije prepoznao, pa je umjesto jedne napisao dvije formule.

Sve u svemu, rezultati ohrabruju, ali daleko je to od toga da se može skenirati formula iz knjige ili s papira, a onda prepustiti računalu da se pobrine za sve ostalo. Možda ćemo jednom imati i takve programe, programe koji će nam sve reći o kemijskom spoju prema njegovoj formuli napisanoj rukom na papiru, ali da do toga dođe trebat će smisliti bolje algoritme. Evo prilike za kemičare i informatičare!

Nenad Raos je kemičar, doktor prirodnih znanosti i znanstveni savjetnik u trajnome zvanju, sada u mirovini. Autor je i koautor više od stotinu znanstvenih i stručnih radova iz područja bioanorganske i teorijske kemije, molekularnog modeliranja te povijesti kemije i komunikacijskih vještina u znanosti. Još od studentskih dana bavi se popularizacijom znanosti. Sada piše za Čovjek i svemir i, naravno, za BUG online. Sedam je godina bio glavni i tehnički urednik časopisa Priroda, a danas je urednik rubrike Kemija u nastavi u časopisu Kemija u industriji. Koautor je dva sveučilišna udžbenika i autor 13 znanstveno-popularnih knjiga. Nagrađen je Državnom godišnjom nagradom za promidžbu i popularizaciju znanosti 2003. godine.