Computers die moeiteloos kunnen converseren met mensen, ze bestaan. Althans in sciencefictionfilms. In de echte wereld zijn we nog ver verwijderd van pratende computers zoals Tony Starks J.A.R.V.I.S. of HAL 9000, de opstandige boordcomputer uit ‘2001: A Space Odyssey’. Het vakgebied dat hier iets aan wil veranderen is natural language processing of kortweg NLP. NLP houdt zich bezig met het aanleren van menselijke taal aan computers, zodat ze in staat zijn om taal te begrijpen zoals mensen dat kunnen. Hoe NLP precies werkt en waarom ik ermee aan de slag ging in mijn fysicathesis, kom je hier te weten.
Je staat er waarschijnlijk niet bij stil, maar de toepassingen van NLP in ons dagelijks leven zijn schijnbaar eindeloos. De spellingscorrector in tekstverwerkers, vertaalapplicaties, virtuele (spraak)assistenten, de spamfilter van je e-mailprovider, chatbots… en ga zo nog maar een tijdje door. Het zijn allemaal voorbeelden van NLP die niet meer weg te denken zijn uit onze hedendaagse maatschappij.
Hoewel de spraakassistent in je smartphone er behoorlijk goed in slaagt om eenvoudige opdrachten uit te voeren, kan je voor een leuk babbeltje beter bij de buurman aankloppen. Waarom is het zo moeilijk om een computer te leren praten zoals een mens? Dat heeft alles te maken met de complexiteit van de menselijke taal en de vele nuances en ambiguïteiten die gesproken en geschreven tekst kleur geven. Een zin bevat vaak niet alle informatie die nodig is om hem te begrijpen, omdat een stukje van de betekenis vervat zit in de context. Ook veronderstelt taal een zekere kennis van de wereld om ons heen.
Het menselijk brein kan rekenen op miljarden zenuwcellen (neuronen) die gespecialiseerd zijn in het ontvangen en doorgeven van informatie om taal op correcte wijze te interpreteren. Een computer beschikt jammer genoeg niet over zo’n handig menselijk brein. In plaats daarvan gebruikt hij twee tekens om informatie op te slaan: 0 en 1, ook wel bits genoemd. Aangezien die bits met z’n tweeën zijn, zeggen we dat een computer een binaire machine is. Als we een computer taalvaardigheid willen bijbrengen, dan moeten we onze woordenschat vertalen naar een vorm die leesbaar is voor de computer. Getallen worden in computers binair voorgesteld, dus als we alle woorden vertalen naar getallen zijn ze leesbaar voor de computer.
Doorheen de geschiedenis van NLP zijn er een aantal methodes gebruikt om zo’n numerieke representatie van woorden te bekomen. Een manier die vandaag veel wordt gebruikt is Word2vec. Het basisidee van Word2vec is dat de betekenis van een woord verweven zit in de context waarin het gebruikt wordt. Een computer kan deze informatie gebruiken om taalvaardigheid aan te leren. Dat doen we door hem niet één, maar miljoenen zinnen te tonen die hij woord per woord zal bekijken. Een computermodel als Word2vec maakt bij het bekijken van de woorden gebruik van een kunstmatig neuraal netwerk. Zo’n netwerk bestaat uit kunstmatige neuronen die de ‘echte’ biologische neuronen uit het menselijke brein proberen na te bootsen. Door het kunstmatige neurale netwerk een hele hoop zinnen te voeden, zal het na verloop van tijd leren welke woorden vaak samen voorkomen of op dezelfde manier gebruikt worden. Het resultaat van dat leerproces zit vervat in de uiteindelijke woordvectoren, die gelijkaardig zijn voor gelijkaardige woorden.
Wat hebben talige computers nu met fysica te maken? Heel veel, aangezien taal de manier is waarop wetenschappers in papers communiceren met elkaar. In tegenstelling tot mensen kan een computer in enkele seconden de gehele literatuur doornemen en zo verbanden leggen die mensen er niet of slechts na enkele jaren van grondige literatuurstudie kunnen uithalen. Vooral in de materiaalfysica werden met NLP al goede resultaten behaald. Indien je een nieuw soort batterij wil ontwikkelen bijvoorbeeld, dan kan je met bestaande NLP methodes in een oogopslag te weten komen welke materialen in het verleden reeds getest werden en welke resultaten ze opleverden.
In mijn thesis trok ik op avontuur in de wereld van de materiaalfysica, daarbij gewapend met woordvectoren van materialen. Deze vectoren werden in eerder onderzoek bekomen door een Word2vec model miljoenen wetenschappelijke artikelen over materiaalfysica te laten ‘lezen’.
Als centrale vraag in mijn thesis probeerde ik na te gaan in hoeverre deze vectoren relevante, fysische info bevatten. Met andere woorden: als je enkel de woordvector van een materiaal krijgt, kan je dan aan de hand van die vector achterhalen om welk materiaal het gaat? Om dat te testen voorspelde ik verschillende materiaaleigenschappen (bvb. smelttemperatuur) op basis van de woordvectoren van enkelvoudige materialen. Door vervolgens na te gaan hoezeer de voorspelde waarde van de theoretisch gekende waarde verschilde, kon ik kwantitatief beoordelen of de woordvectoren fysische info bevatten. Dat bleek inderdaad het geval.
Aangespoord door dit resultaat ging ik over naar complexere materialen. Met behulp van een zelfgebouwd neuraal netwerk poogde ik vervolgens om de vormingsenergie te voorspellen, een belangrijke waarde in de materiaalfysica omdat ze ons veel kan leren over de stabiliteit van een materiaal. Het neuraal netwerk bleek op zichzelf zo goed te presteren dat de woordvectoren hier jammer genoeg geen doorslaggevende rol speelden.
Als uitsmijter besloot ik de brute voorspellingskracht van de woordvectoren te testen. Eerder onderzoek had immers aangetoond dat nieuwe toepassingen van materialen verscholen bleken te zitten in hun woordvectoren. Ik nam zelf de proef op de som en vertrok van een databank met mogelijke kandidaten voor nieuwe thermo-elektrische materialen. Deze soort materialen zijn zeer gegeerd in de industrie aangezien ze heel efficiënt warmte naar elektrische stroom kunnen omzetten, wat ze erg interessant maakt voor warmterecuperatie. Een meer dan toevallig aantal dat uitgelicht werd door de woordvectoren bleek eerder als veelbelovend omschreven voor thermo-elektrische toepassingen, en dus kon ik besluiten dat de woordvectoren hun job als talentscouts goed gedaan hadden.
Mijn thesis bleek een boeiende ontdekkingstocht en bevestigde dat er wel degelijk heel wat (materiaal)fysica verscholen zit in woordvectoren. Het is duidelijk dat er nog veel werk nodig is vooraleer computers zullen praten zoals mensen, maar fysicapapers lezen kunnen ze al behoorlijk goed.
[1] V. Tshitoyan, J. Dagdelen, L. Weston, A. Dunn, Z. Rong, O. Kononova,
K. Persson, G. Ceder, and A. Jain, “Unsupervised word embeddings capture
latent knowledge from materials science literature,” Nature, vol. 571, pp. 95–98,
07 2019.
[2] P. Migdal, “king - man + woman is queen; but why?.” https://p.migdal.pl/
2017/01/06/king-man-woman-queen-why.html, 2017.
[3] L. Weston, V. Tshitoyan, J. Dagdelen, O. Kononova, A. Trewartha, K. A. Persson,
G. Ceder, and A. Jain, “Named entity recognition and normalization applied to
large-scale information extraction from the materials science literature,” Journal
of Chemical Information and Modeling, vol. 59, no. 9, pp. 3692–3702, 2019. PMID:
31361962.
[4] L. Bornmann and R. Mutz, “Growth rates of modern science: A bibliometric
analysis based on the number of publications and cited references,” 2014.
[5] A. Oberoi, “7 interesting applications of natural language processing (NLP).”
https://bit.ly/3bvXnSZ, 2020.
[6] A. Medelyan, “8 natural language processing (NLP) examples you use every
day.” https://bit.ly/3bv4RWr, 2016.
[7] Y. Bengio, R. Ducharme, P. Vincent, and C. Janvin, “A neural probabilistic
language model,” J. Mach. Learn. Res., vol. 3, p. 1137–1155, Mar. 2003.
[8] T. Mikolov, K. Chen, G. Corrado, and J. Dean, “Efficient estimation of word
representations in vector space,” 2013.
[9] T. Mikolov, W. tau Yih, and G. Zweig, “Linguistic regularities in continuous
space word representations,” 2013.
[10] T. Mikolov, I. Sutskever, K. Chen, G. Corrado, and J. Dean, “Distributed
representations of words and phrases and their compositionality,” 2013.
[11] D. Morgan and R. Jacobs, “Opportunities and challenges for machine learning
in materials science,” Annual Review of Materials Research, vol. 50, p. 71–103, Jul
2020.
[12] E. Kim, K. Huang, A. Tomala, S. Matthews, E. Strubell, A. Saunders,
A. McCallum, and E. Olivetti, “Machine-learned and codified synthesis
parameters of oxide materials,” Scientific data, vol. 4, p. 170127, 2017.
[13] E. Kim, Z. Jensen, A. Van Grootel, K. Huang, M. Staib, S. Mysore, H. S. Chang,
E. Strubell, A. McCallum, S. Jegelka, and E. Olivetti, “Inorganic Materials
Synthesis Planning with Literature-Trained Neural Networks,” Journal of
Chemical Information and Modeling, 2020.
[14] C. Kang, H. Wang, J.-H. Bahk, H. Kim, and W. Kim, Thermoelectric Materials and
Devices, pp. 107–141. 01 2015.
[15] Bokeh Development Team, “Bokeh:
Python library for interactive
visualization.” https://bokeh.org/, 2020.
[16] L. McInnes, J. Healy, N. Saul, and L. Grossberger, “UMAP: Uniform Manifold
Approximation and Projection,” Journal of Open Source Software, vol. 3, p. 861,
09 2018.
[17] L. Mentel, “Mendeleev – a python resource for properties of chemical elements,
ions and isotopes.” https://github.com/lmmentel/mendeleev.
[18] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel,
M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos,
D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay, “Scikit-learn:
Machine learning in Python,” Journal of Machine Learning Research, vol. 12,
pp. 2825–2830, 2011.
[19] K. P. F.R.S., “On lines and planes of closest fit to systems of points in space,”
The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science,
vol. 2, no. 11, pp. 559–572, 1901.
[20] Nanoshel, “Boron carbide.” https://www.nanoshel.com/boron-carbide.
[21] S. Kirklin, J. Saal, B. Meredig, A. Thompson, J. Doak, M. Aykol, S. Rühl, and
C. Wolverton, “The open quantum materials database (OQMD): Assessing the
accuracy of dft formation energies,” npj Computational Materials, vol. 1, p. 15010,
12 2015.
[22] F. A. Faber, A. Lindmaa, O. A. von Lilienfeld, and R. Armiento, “Machine
learning energies of 2 million elpasolite ABC 2 D 6 crystals,” Phys. Rev. Lett.,
vol. 117, p. 135502, Sep 2016.
[23] K. Biswas and M.-H. Du, “Energy transport and scintillation of cerium doped
elpasolite Cs 2 LiYCl 6 : Hybrid density functional calculations,” Physical Review
B, vol. 86, 05 2012.
[24] S. Gražulis, A. Daškevič, A. Merkys, D. Chateigner, L. Lutterotti, M. Quirós,
N. R. Serebryanaya, P. Moeck, R. T. Downs, and A. Le Bail, “Crystallography
open database (COD): an open-access collection of crystal structures and
platform for world-wide collaboration,” Nucleic Acids Research, vol. 40, no. D1,
pp. D420–D427, 2012.
[25] I. Goodfellow, Y. Bengio, and A. Courville, Deep Learning. MIT Press, 2016.
http://www.deeplearningbook.org.
[26] F. Bre, J. Gimenez, and V. Fachinotti, “Prediction of wind pressure coefficients
on building surfaces using artificial neural networks,” Energy and Buildings,
vol. 158, 11 2017.
[27] J. Howard, “fastai.” https://github.com/fastai/fastai, 2020.
[28] A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan, T. Killeen,
Z. Lin, N. Gimelshein, L. Antiga, A. Desmaison, A. Kopf, E. Yang, Z. DeVito,
M. Raison, A. Tejani, S. Chilamkurthy, B. Steiner, L. Fang, J. Bai, and S. Chintala,
“Pytorch: An imperative style, high-performance deep learning library,” in
Advances in Neural Information Processing Systems 32 (H. Wallach, H. Larochelle, A. Beygelzimer, F. d'Alché-Buc, E. Fox, and R. Garnett, eds.), pp. 8024–8035,
Curran Associates, Inc., 2019.
[29] Jasper De Witte, “Data-efficient discovery of thermoelectric materials using
deep learning,” master’s thesis, Universiteit Gent, 2020.
[30] K. Choudhary, K. F. Garrity, and F. Tavazza, “Data-driven discovery of 3d and
2d thermoelectric materials,” Journal of Physics: Condensed Matter, vol. 32, no. 47,
p. 475501, 2020.
[31] J. Howard and S. Gugger, Deep Learning for Coders with fastai and PyTorch.
O’Reilly Media, 2020.
[32] E. Olivetti, J. Cole, E. Kim, O. Kononova, G. Ceder, T. Han, and A. Hiszpanski,
“Data-driven materials research enabled by natural language processing and
information extraction,” Applied Physics Reviews, vol. 7, p. 041317, 12 2020.