Deep Learning of Graph Transformations
Total Page:16
File Type:pdf, Size:1020Kb
FELADATKIÍRÁS A szemantikai elemzés célja, hogy természetes nyelvi adathoz készíthessünk szeman- tikai reprezentációt, így tudjuk modellezni a szöveg jelentését. Ha a nyelvi jelentést fo- galmak irányított gráfjaival reprezentáljuk, ezeket pedig a mondat szintaktikai szerkezetét reprezentáló fákból kell előállítanunk, akkor a teljes feladat egyetlen komplex gráftranszfor- mációként definiálható. A népszerű szemantikai feladatokra, mint a szemantikai hasonlóság mérése vagy a gépi szövegértés, ritkán használják a természetes nyelv szemantikájának gráfos reprezentációját, főleg state-of-the art rendszerekben. Ezek a rendszerek többnyire szó embeddingeket használnak szavak jelentésének ábrázolására, amik a szavak jelentését legfeljebb nehány száz dimenziós valós vektorként ábrázolják. Egy új kísérleti megközelítés a gráf-transzformációk közvetlen tanulása, amely során gráf-hálózatokat használva ezek a szemantikai reprezentációk gráf formában való transzformálása is lehetséges lenne. Ilyen feladatot támogató keretrendszerek például a Graph Nets Library (ld. GitHub) vagy a Deep Graph Library (ld. GitHub). A hallgató munkájának központi témáját az erre irányuló kísérletek adják. A hallgató feladatai a következőkre terjednek ki: • Ismerjen meg egy gráf-hálózatok tanulására irányuló keretrendszert. • Végezzen kísérleteket gráf-transzformációk mély tanulására. • Ismerjen meg legalább egy szemantikai reprezentációt igénylő feladatot, ahol a mód- szer közvetlen értékelhető lenne, például a Surface Realization (ld. Surface Realization cikk) vagy az Extractive Summarization. • Végezzen közvetlen kísérleteket a szemantikai reprezentációt igénylő feladaton. • Mérje fel a rendszer korlátait az eredmények kiértékelésén keresztül. 1 Budapest University of Technology and Economics Faculty of Electrical Engineering and Informatics Department of Automation and Applied Informatics Deep learning of graph transformations Masters Thesis Written By Consultant Gémes Kinga Andrea Kovács Ádám December 19, 2019 Contents Kivonat 4 Abstract 5 Introduction6 1 Background7 1.1 Summarization..................................7 1.1.1 Abstractive summarizaton........................7 1.1.2 Extractive summarization........................8 1.2 Evaluation.....................................8 1.2.1 BLEU score................................8 1.2.2 ROUGE score...............................8 1.3 Previous work................................... 10 1.3.1 TextRank................................. 10 1.3.2 Deep Learning models.......................... 10 2 Data processing 12 2.1 CNN and Daily Mail data............................ 12 2.1.1 Greedy algorithm............................. 12 2.1.2 Gensim Benchmark............................ 13 2.1.3 Example from the dataset........................ 13 2.2 Universal Dependencies............................. 14 2.3 Graph format................................... 16 2.4 Building the graphs................................ 18 2.5 Forming the target graphs............................ 19 3 Graph neural network 22 3.1 Neural Networks................................. 22 3.1.1 Perceptron................................ 22 3.1.2 Feed forward neural network...................... 23 3.1.3 Embedding layers............................. 25 3.1.4 Recurrent Neural Networks....................... 26 3.1.5 Attention................................. 28 1 3.2 The graph_nets library............................. 30 3.2.1 Graph Network block.......................... 30 3.2.2 Graph Independent block........................ 30 3.2.3 Self Attention block........................... 31 4 Models 32 4.1 Encode Process Decode model.......................... 32 4.1.1 Encoder.................................. 32 4.1.2 Core.................................... 32 4.1.3 Decoder.................................. 33 4.2 SimpleGraphAttention model.......................... 33 4.2.1 Encoder.................................. 33 4.2.2 Network.................................. 34 4.2.3 Decoder.................................. 35 4.3 GraphAttention model.............................. 35 4.3.1 Network and Graph Attentional Layer................. 36 5 Experiments and results 38 5.1 Evaluation methods............................... 38 5.2 Experiments and results............................. 39 5.2.1 Encode Process Decode......................... 39 5.2.2 SimpleGraphAttention Network..................... 40 5.2.3 GraphAttention Network........................ 44 5.3 Comparison between models........................... 47 5.3.1 Results by summary length....................... 48 6 Conclusion and future work 53 Acknowledgement 54 Bibliography 57 Appendices 58 A.1 Modules and packages.............................. 58 A.1.1 Functions and classes in each relevant module............. 58 A.2 Class diagram................................... 60 2 HALLGATÓI NYILATKOZAT Alulírott Gémes Kinga Andrea, szigorló hallgató kijelentem, hogy ezt a diplomater- vet meg nem engedett segítség nélkül, saját magam készítettem, csak a megadott forrá- sokat (szakirodalom, eszközök stb.) használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen, a forrás megadásával megjelöltem. Hozzájárulok, hogy a jelen munkám alapadatait (szerző(k), cím, angol és magyar nyelvű tartalmi kivonat, készítés éve, konzulens(ek) neve) a BME VIK nyilvánosan hozzáférhető elektronikus formában, a munka teljes szövegét pedig az egyetem belső hálózatán keresztül (vagy autentikált felhasználók számára) közzétegye. Kijelentem, hogy a benyújtott munka és annak elektronikus verziója megegyezik. Dékáni engedéllyel titkosított diplomatervek esetén a dolgozat szövege csak 3 év eltelte után válik hozzáférhetővé. Budapest, December 19, 2019 Gémes Kinga Andrea hallgató Kivonat Diplomamunkám során annak a lehetőségét vizsgálom, lehetséges-e gráftranszformációként értelmezni a természetes nyelvfeldolgozásban kivonatolással létrehozott összefoglalásként ismert feladatot és gráf neurális hálót építeni ezen feladat megoldására a DeepMind graph_nets könyvtárát felhasználva. Kivonatolással létrehozott összefoglalás (angolul extractive summarization) alatt azt a feladatot értjük, amely során egy szöveghez összefoglalót képzünk a szövegben szereplő modatok felhasználásával. Munkám során megvalósítottam egy leképzést, mely cikkekből megfelelő universal de- pendency (UD) gráfot generál a stanfordnlp könyvtár felhasználásával. Mivel a gráfok tanulásakor feltétel, hogy az élek és csúcsok száma be és kimeneti gráfpáronként egyezőek kell legyenek, így az egyes összefoglalókhoz képzett gráfokat ennek megfelelően alakítottam ki. A graph_nets könyvtár tartalmaz egy Encode-Process-Decode modellt, amelyet kiin- dulási alapnak tudtam felhasználni munkám során. Több módszerrel is megvizsgáltam ezen modell használhatóságát a feladaton, majd az így szerzett tapaszalatokkal építettem két másik gráf neurális hálót, természetes nyelvfeldolgozás feladatok megoldására szabva. A gráf neurális hálók tanítása kihívásokkal teli feladatnak bizonyult, mivel felépítése eltér a megszokott neurális háló struktúráktól. A hozzá kapcsolódó cikk és a demó példák segítették a megértést. Az eredményeimet az adathalmazhoz tartozó szabad szavas összefoglalóhoz mértem, ezzel meghatározva a ROUGE pontját, valamint ezt összevetettem a kivonatolással elérhető maximum ROUGE ponttal és a gensim könyvtár TextRank alapú összefoglalójával. 4 Abstract In my masters thesis I examined the possibility of using graph transformations for a natural language processing task known as extractive summarization and whether we could build a graph neural network for this purpose using DeepMind’s graph_nets library. Extractive summarization is the task of generating a summary for a text using only the words, expressions and/or sentences from the original text. I’ve used a standard method to transform the articles into their respective universal dependency (UD) graph using the stanfordnlp library. Since the structure of input and output graphs are required to be the same for the graph neural networks to be able to train on them I had to modify the graphs built from the summary accordingly. The graph_nets library already contains an Encode-Process-Decode model that proved to be a great starting point while exploring the task and possibilities. I experimented with the usability of this model on my task and with the observations I gathered I have built another graph neural network specifically for solving natural language processing tasks. The training of these graphs was a challenging task, because their structure vastly differs from regular neural networks. The related article [4] and the demo examples helped me understand it better. I compared the achieved results with the human-written summaries provided in the dataset determining the result’s ROUGE score. This score was compared with the maxi- mum achievable ROUGE score with extractive summarization and also with the summary generated by gensim’s TextRank algorithm. 5 Introduction Summarization tasks are relevant in the field of natural language processing (NLP). Com- plex end-to-end neural network models like Hierarchical Structured Self-Attentive Model (HSSAS) [1] can construct great summaries, and the state-of-the-art as of writing this thesis is Text Summarization with Pretrained Encoders [14]. I write about the background of this field in chapter1. Graph neural networks on the other hand are not yet widely researched and their usage for NLP purposes has not been explored