Automatische quizvragen generatie op basis van voorbeelden

Jinfu
Chen

Het is weer zover, de jaarlijkse quiz van je vereniging, en ze hebben jou gevraagd om de quizvragen samen te stellen. Plots word je geconfronteerd met het vinden van originele vragen met de juiste moeilijkheidsgraad. Artificiële intelligentie systeem IBM Watson heeft al succes geboekt in de Amerikaanse game show quiz Jeopardy!. Als artificiële intelligentie gebruikt kan worden om vragen te beantwoorden, waarom ook niet om interessante vragen te genereren?

Vragen genereren

Vragen maken voor een quiz brengt twee uitdagingen met zich mee. De eerste uitdaging is dat het moeilijk kan zijn om interessante vragen te bedenken. De tweede uitdaging is zorgen dat de vragen de juiste moeilijkheid hebben. Een ideale quiz bevat een goede mix van makkelijke en moeilijke vragen voor respectievelijk onervaren en ervaren quizzers.

We lossen de eerste uitdaging in deze thesis op door sjablonen te extraheren uit bestaande quizvragen. Een sjabloon is een tekst waar woorden ingevuld kunnen worden, bijvoorbeeld ‘In welk continent ligt X? Y.’ Vervolgens vullen we deze sjablonen in met woorden met dezelfde relatie om een nieuwe reeks van quizvragen te krijgen, bijvoorbeeld ‘In welk continent ligt België? Europa.’ De tweede uitdaging lossen we op door naar de onderlinge moeilijkheidsgraad van de gegenereerde vragen te schatten door te kijken hoe algemeen gekend de ingevulde woorden zijn.

scriptieimg

België-Brussel, Frankrijk-Parijs, Duitsland-Berlijn… 

Het systeem leidt sjablonen af uit bestaande vragen en bijhorende antwoorden. Neem bijvoorbeeld: ‘Wat is de hoofdstad van China? Beijing.’ Het systeem zoekt de logische connectie(s) tussen woorden in de vraag en antwoord. Hiervoor gebruikt het algoritme de kennisbank Wikidata. Deze kennisbank bevat allerlei informatie over entiteiten, bijvoorbeeld dat Beijing de hoofdstad is van China of dat Christopher Nolan de regisseur is van de film Inception. Deze eerste connectie kunnen we gebruiken om uit de originele vraag het sjabloon ‘Wat is de hoofdstad van X? Y.’ af te leiden. Dankzij de kennisbank kunnen we namelijk automatisch achterhalen dat de relatie tussen X en Y ‘hoofdstad van’ is. Het systeem hoeft hiervoor niet eens de rest van de vraag te begrijpen. Door aan de kennisbank andere invullingen van deze ‘hoofdstad van’-relatie op te halen, kunnen we andere vragen genereren, zoals bijvoorbeeld ‘Wat is de hoofdstad van België? Brussel.’ of ‘Wat is de hoofdstad van Duitsland? Berlijn.’

Het systeem kon 1272 sjablonen extraheren uit 4300 vragen verspreid over drie datasets. Uit die 1272 waren er 436 sjablonen die bij invulling resulteerden in kwaliteitsvolle vragen.

Wat maakt een quizvraag moeilijk?

Een vraag is moeilijker als de quizzer een concept minder goed kent, daarom kijken we naar twee populariteitskenmerken van de ingevulde entiteiten in het sjabloon om een moeilijkheidsgraad te schatten. De eerste populariteitskenmerk krijgen we door gebruik te maken van Google Trends, dat ons leert hoe populair een entiteit als zoekterm is. Als tweede populariteitskenmerk kijken we naar hoeveel connecties de entiteit heeft in de Wikidata kennisbank. Hoe meer connecties, hoe hoger de kans dat de quizzer ervan gehoord heeft. Naast populariteitskenmerken kijken we ook nog naar hoe verwant de ingevulde entiteiten zijn. Hoe meer verwant de entiteiten zijn, hoe hoger de kans dat de quizzer een pad naar het antwoord kent.

Resultaten tonen aan dat de combinatie van deze drie bovenstaande kenmerken over het algemeen een betere moeilijkheidsgraad schatting oplevert dan elk van de kenmerken apart te gebruiken voor de schatting. 

AI vervangt Erik Van Looy

Voor deze headline hoeft u nog niet te vrezen. Het systeem dat in deze thesis gecreëerd werd, is een assisterend systeem dat samen met de gebruiker vragen bedenkt. De gebruiker kiest zelf een paar voorbeeldvragen waar het variaties op wil. Het systeem genereert dan enkele gelijkaardige vragen met gelijkaardige relaties, en presenteert deze gesorteerd op moeilijkheid. Zo stel je vanaf nu in een mum van tijd die jaarlijkse quiz samen!

Bibliografie

  • A. Abujabal, M. Riedewald, M. Yahya, and G. Weikum. Automated template generation for question answering over knowledge graphs. In 26th International World Wide Web Conference, WWW 2017, pages 1191–1200, 2017.
  • J. Berant, A. Chou, R. Frostig, and P. Liang. Semantic parsing on freebase from question-answer pairs. In Proceedings of the 2013 conference on empirical methods in natural language processing, pages 1533–1544, 2013.
  • J. Biega, E. Kuzey, and F. Suchanek. Inside yago2s: a transparent information extraction architecture. pages 325–328, 05 2013.
  • K. D. Bollacker, C. Evans, P. K. Paritosh, T. Sturge, and J. Taylor. Freebase: a collaboratively created graph database for structuring human knowledge. In SIGMOD Conference, 2008.
  • A. Bordes, N. Usunier, S. Chopra, and J. Weston. Large-scale simple question answering with memory networks. CoRR, abs/1506.02075, 2015.
  • L. Buitinck, G. Louppe, M. Blondel, F. Pedregosa, A. Mueller, O. Grisel, V. Niculae, P. Prettenhofer, A. Gramfort, J. Grobler, R. Layton, J. VanderPlas, A. Joly, B. Holt, and G. Varoquaux. API design for machine learning software: experiences from the scikit-learn project. In ECML PKDD Workshop: Languages for Data Mining and Machine Learning, pages 108–122, 2013.
  • V. K. Chaudhri, P. Clark, A. Overholtzer, and A. Spaulding. Question generation from a knowledge base. In EKAW, 2014.
  • A. Faizan and S. Lohmann. Automatic generation of multiple choice questions from slide content using linked data. In Proceedings of the 8th International Conference on web intelligence, mining and semantics, WIMS ’18, pages 1–8. ACM, 2018.
  • E. Gabrilovich, M. Ringgaard, and A. Subramanya. Facc1: Freebase annotation of clueweb corpora, version 1. 06 2013.
  • Google. Google trends. https://www.google.com/trends.
  • M. Honnibal, I. Montani, S. Van Landeghem, and A. Boyd. spaCy: Industrialstrength Natural Language Processing in Python. 2020.
  • M. Joshi, E. Choi, D. S. Weld, and L. Zettlemoyer. Triviaqa: A large scale distantly supervised challenge dataset for reading comprehension. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, Vancouver, Canada, July 2017. Association for Computational Linguistics.
  • G. Kurdi, J. Leo, B. Parsia, U. Sattler, and S. Al-Emari. A systematic review of automatic question generation for educational purposes. International Journal of Artificial Intelligence in Education, 30(1):121–204, 2020.
  • J. Lehmann, R. Isele, M. Jakob, A. Jentzsch, D. Kontokostas, P. Mendes, S. Hellmann, M. Morsey, P. Van Kleef, S. Auer, and C. Bizer. Dbpedia - a large-scale, multilingual knowledge base extracted from wikipedia. Semantic Web Journal, 6, 01 2014.
  • C. Lin, D. Liu, W. Pang, and E. Apeh. Automatically predicting quiz difficulty level using similarity measures. In Proceedings of the 8th International Conference on Knowledge Capture, K-CAP 2015, New York, NY, USA, 2015. Association for Computing Machinery.
  • D. Liu and C. Lin. Sherlock: a semi-automatic quiz generation system using linked data. In SEMWEB, 2014.
  • P. N. Mendes, M. Jakob, A. Garcia-Silva, and C. Bizer. Dbpedia spotlight: Shedding light on the web of documents. In Proceedings of the 7th International Conference on Semantic Systems (I-Semantics), 2011.
  • J. Mynarz and V. Zeman. Db-quiz: a dbpedia-backed knowledge game. Proceedings of the 12th International Conference on Semantic Systems, 2016.
  • A. Passant. Measuring semantic distance on linking data and using it for resources recommendations. In AAAI Spring Symposium: Linked Data Meets Artificial Intelligence, 2010.
  • T. Pellissier Tanon, G. Weikum, and F. Suchanek. Yago 4: A reason-able knowledge base. In A. Harth, S. Kirrane, A.-C. Ngonga Ngomo, H. Paulheim, A. Rula, A. L. Gentile, P. Haase, and M. Cochez, editors, The Semantic Web, pages 583–596, Cham, 2020. Springer International Publishing.
  • T. Raynaud, J. Subercaze, and F. Laforest. Thematic question generation over knowledge bases. In 2018 IEEE/WIC/ACM International Conference on Web Intelligence (WI), pages 1–8. IEEE, 2018.
  • I. V. Serban, A. García-Durán, C. Gulcehre, S. Ahn, S. Chandar, A. Courville, and Y. Bengio. Generating factoid questions with recurrent neural networks: The 30M factoid question-answer corpus. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 588–598, Berlin, Germany, Aug. 2016. Association for Computational Linguistics. 48 Bibliography
  • D. Seyler, M. Yahya, and K. Berberich. Knowledge questions from knowledge graphs. Proceedings of the ACM SIGIR International Conference on Theory of Information Retrieval, Oct 2017.
  • L. Song and L. Zhao. Question generation from a knowledge base with web exploration, 2017.
  • Sporcle. Sporcle website. https://www.sporcle.com/.
  • A. Thalhammer, N. Lasierra, and A. Rettinger. Linksum: Using link analysis to summarize entity data. In ICWE, 2016.
  • G. Vega-gorgojo. Clover quiz: A trivia game powered by dbpedia. Semantic Web, 10, 06 2018.
  • D. Vrandecic and M. Krotzsch. Wikidata: a free collaborative knowledgebase. Communications of the ACM, 57(10):78–85, 2014.
  • Wikidata. Wikidata page of entity q16069692. https://www.wikidata.org/ wiki/Q16069692. Used on 2022/05/27.
  • Y. Yang and M.-W. Chang. S-mart: Novel tree-based structured learning algorithms applied to tweet entity linking, 2016.
  • R. Zhang, J. Guo, L. Chen, Y. Fan, and X. Cheng. A review on question generation from natural language text. ACM Transactions on Information Systems, 40:1–43, 1 2022
Download scriptie (2.09 MB)
Genomineerde longlist mtech+prijs
Universiteit of Hogeschool
KU Leuven
Thesis jaar
2022
Promotor(en)
Prof. dr. Luc De Raedt