3 research outputs found
ORAKEL: A Natural Language Interface to an F-Logic Knowledge Base
Cimiano P. ORAKEL: A Natural Language Interface to an F-Logic Knowledge Base. In: Meziane F, MĂ©tais E, eds. Natural Language Processing and Information Systems, 9th International Conference on Applications of Natural Languages to Information Systems, NLDB 2004, Salford, UK, June 23-25, 2004, Proceedings. Lecture Notes in Computer Science, 3136. Springer; 2004: 401-406
Modelling a conversational agent (Botocrates) for promoting critical thinking and argumentation skills
Students in higher education institutions are often advised to think critically, yet without being guided to do so. The study investigated the use of a conversational agent (Botocrates) for supporting critical thinking and academic argumentation skills. The overarching research questions were: can a conversational agent support critical thinking and academic argumentation skills? If so, how?
The study was carried out in two stages: modelling and evaluating Botocrates' prototype. The prototype was a Wizard-of-Oz system where a human plays Botocrates' role by following a set of instructions and knowledge-base to guide generation of responses. Both stages were conducted at the School of Education at the University of Leeds.
In the first stage, the study analysed 13 logs of online seminars in order to define the tasks and dialogue strategies needed to be performed by Botocrates. The study identified two main tasks of Botocrates: providing answers to students' enquiries and engaging students in the argumentation process. Botocratesâ dialogue strategies and contents were built to achieve these two tasks. The novel theoretical framework of the âchallenge to explainâ process and the notion of the âconstructive expansion of exchange structureâ were produced during this stage and incorporated into Botocratesâ prototype. The aim of the âchallenge to explainâ process is to engage users in repeated and constant cycles of reflective thinking processes. The âconstructive expansion of exchange structureâ is the practical application of the âchallenge to explainâ process.
In the second stage, the study used the Wizard-of-Oz (WOZ) experiments and interviews to evaluate Botocratesâ prototype. 7 students participated in the evaluation stage and each participant was immediately interviewed after chatting with Botocrates. The analysis of the data gathered from the WOZ and interviews showed encouraging results in terms of studentsâ engagement in the process of argumentation. As a result of the role of âcriticâ played by Botocrates during the interactions, users actively and positively adopted the roles of explainer, clarifier, and evaluator. However, the results also showed negative experiences that occurred to users during the interaction. Improving Botocratesâ performance and training users could decrease usersâ unsuccessful and negative experiences. The study identified the critical success and failure factors related to achieving the tasks of Botocrates
Eine agentenbasierte Architektur fĂŒr Programmierung mit gesprochener Sprache
Sprachgesteuerte Computersysteme werden heutzutage von Millionen von Nutzern verwendet; Chatbots, virtuelle Assistenten, wie Siri oder Google Assistant, und Smarthomes sind lĂ€ngst fester Bestandteil des Alltags vieler Menschen. Zwar erscheinen derartige Systeme inzwischen intelligent; tatsĂ€chlich reagieren sie aber nur auf einzelne Befehle, die zudem bestimmte Formulierungen erfordern. Die Nutzer sind auĂerdem auf vorgefertigte FunktionalitĂ€ten beschrĂ€nkt; neue Befehle können nur von Entwicklern einprogrammiert und vom Hersteller zur VerfĂŒgung gestellt werden. In Zukunft werden Nutzer erwarten, intelligente Systeme nach ihren BedĂŒrfnissen anzupassen, das heiĂt programmieren zu können.
Das in dieser Arbeit beschriebene System ProNat ermöglicht Endnutzer-Programmierung mit gesprochener Sprache. Es befĂ€higt Laien dazu, einfache Programme fĂŒr unterschiedliche Zielsysteme zu beschreiben und deren FunktionalitĂ€t zu erweitern. ProNat basiert auf PARSE, einer eigens entworfenen agentenbasierten Architektur fĂŒr tiefes SprachverstĂ€ndnis. Das System ermöglicht die Verwendung alltĂ€glicher Sprache zur Beschreibung von Handlungsanweisungen. Diese werden von ProNat als Programm fĂŒr ein Zielsystem interpretiert, das eine Anwendungsschnittstelle zur Endnutzer-Programmierung anbietet. Bisherige AnsĂ€tze zur Programmierung mit natĂŒrlicher Sprache ermöglichen nur die Erzeugung kurzer Programme anhand textueller Beschreibungen. Da die meisten Systeme monolithisch entworfen wurden, können sie zudem nur mit groĂem Aufwand adaptiert werden und sind ĂŒberwiegend auf die Anwendung einer Technik (z. B. maschinelles Lernen) sowie auf eine AnwendungsdomĂ€ne festgelegt (z. B. Tabellenkalkulation). AnsĂ€tze, die gesprochene Sprache verarbeiten, können hingegen bisher nur einzelne Befehle erfassen.
Um die Restriktionen bisheriger AnsĂ€tze aufzuheben, wird eine neuartige Architektur entworfen. Die Kernkomponenten der Architektur PARSE bilden unabhĂ€ngige Agenten, die je einen bestimmten Aspekt der natĂŒrlichen Sprache analysieren. Die Kapselung in unabhĂ€ngige Agenten ermöglicht es, je Teilaspekt zum VerstĂ€ndnis der Sprache eine andere Technik zu verwenden. Die Agenten werden nebenlĂ€ufig ausgefĂŒhrt. Dadurch können sie von Analyseergebnissen anderer Agenten profitieren; unterschiedliche Sprachanalysen können sich so gegenseitig unterstĂŒtzen. Beispielsweise hilft es, sprachliche Referenzen wie Anaphern aufzulösen, um den Kontext des Gesagten zu verstehen; manche Referenzen können wiederum nur mithilfe des Kontextes aufgelöst werden. Ihr Analyseergebnisse hinterlegen die Agenten in einer geteilten Datenstruktur, einem Graphen. Die Architektur stellt sicher, dass keine Wettlaufsituationen eintreten und nur gĂŒltige Ănderungen am Graphen durchgefĂŒhrt werden. Die Agenten werden so lange wiederholt ausgefĂŒhrt, bis keine oder nur noch zyklische Ănderungen eintreten. Neben den Agenten gibt PARSE die Verwendung von FlieĂbĂ€ndern zur Vor- und Nachverarbeitung vor. Zudem können externe Ressourcen, wie Wissensdatenbanken oder Kontextmodellierungen, angeschlossen werden.
Das System ProNat entsteht, indem konkrete Agenten und FlieĂbandstufen fĂŒr die Rahmenarchitektur PARSE bereitgestellt werden. ZusĂ€tzlich werden Informationen ĂŒber die AnwendungsdomĂ€ne (das heiĂt die Anwendungsschnittstelle des Zielsystems und gegebenenfalls eine Modellierung der Systemumgebung) in Form von Ontologien als externe Ressource angebunden. Eine gesprochene ĂuĂerung wird von ProNat vorverarbeitet, indem zunĂ€chst das Audiosignal in eine textuelle Wortsequenz ĂŒberfĂŒhrt wird. AnschlieĂend erfolgt eine grundlegende syntaktische Analyse, bevor ein initialer Graph als Analysegrundlage fĂŒr die Agenten erzeugt wird. Die Interpretation des Gesagten als Programm obliegt den Agenten. Es wurden sechzehn Agenten entwickelt, die sich in drei Kategorien unterteilen lassen: Erstens, Agenten, die allgemeine SprachverstĂ€ndnis-Analysen durchfĂŒhren, wie die Disambiguierung von Wortbedeutungen, die Auflösung von sprachlichen Referenzen oder die Erkennung von GesprĂ€chsthemen. Zweitens, Agenten, die das Gesagte auf programmatische Strukturen, wie Anwendungsschnittstellenaufrufe oder Kontrollstrukturen, untersuchen; hierzu zĂ€hlt auch ein Agent, der aus verbalisierten Lehrsequenzen Methodendefinitionen synthetisiert. Da die Agenten unabhĂ€ngig voneinander agieren, kann zur Lösung der jeweiligen Problemstellung eine beliebige Technik eingesetzt werden. Die Agenten zur Erkennung von Kontrollstrukturen verwenden beispielsweise Heuristiken, die auf syntaktischen Strukturen basieren, um ihre Analysen durchzufĂŒhren. Andere Agenten, wie die Agenten zur Disambiguierung von Wortbedeutungen oder zur Bestimmung der GesprĂ€chsthemen, verwenden Wikipedia, Wordnet oder Ă€hnliche Quellen und inferieren anhand dieser Informationen. Zuletzt verwenden einige Agenten, wie beispielsweise der Agent zur Erkennung von Lehrsequenzen, maschinelles Lernen. Die Interpretation einer gesprochenen ĂuĂerung erfolgt dementsprechend mittels einer Kombination von sowohl regel- als auch statistik- und wissensbasierten Techniken. Dank der strikten Trennung der Agenten können diese einzeln (und zumeist unabhĂ€ngig voneinander) evaluiert werden. Hierzu wurden parallel zur Entwicklung der Agenten fortwĂ€hrend mithilfe von Nutzerstudien realistische Eingabebeispiele gesammelt. FĂŒr jeden Agenten kann somit ĂŒberprĂŒft werden, ob er einen zufriedenstellenden Beitrag zur Interpretation des Gesagten beitrĂ€gt. Das gemeinschaftliche Analyseergebnis der Agenten wird in der Nachverarbeitung sukzessive in ein konkretes Programm ĂŒbersetzt: ZunĂ€chst wird ein abstrakter Syntaxbaum generiert, der anschlieĂend in Quelltext zur Steuerung eines Zielsystems ĂŒberfĂŒhrt wird.
Die FĂ€higkeit des Systems ProNat, aus gesprochenen ĂuĂerungen Quelltext zu generieren, wurde anhand von drei unabhĂ€ngigen Untersuchungen evaluiert. Als Datengrundlage dienen alle in den Nutzerstudien gesammelten natĂŒrlichsprachlichen Beschreibungen. ZunĂ€chst wurden fĂŒr eine Online-Studie UML-AktivitĂ€tsdiagramme aus gesprochenen ĂuĂerungen generiert und 120 Probanden zur Bewertung vorgelegt: Der ĂŒberwiegende Teil der AktivitĂ€tsdiagramme (69%) wurde von der Mehrheit der Probanden als vollstĂ€ndig korrekt eingestuft, ein vielversprechendes Ergebnis, da die gesprochenen ĂuĂerungen die Synthese von bis zu 24 Anweisungen (bzw. AktivitĂ€ten) sowie Kontrollstrukturen erfordern. In einer zweiten Untersuchung wurde Java-Quelltext, bestehend aus Aufrufen einer Anwendungsschnittstelle zur Steuerung eines humanoiden Roboters, synthetisiert und mit einer Musterlösung verglichen: ProNat konnte Aufrufe meist korrekt erzeugen (F1: 0,746); auch die Synthese von Kontrollstrukturen gelingt in 71% der FĂ€lle korrekt. Zuletzt wurde untersucht, wie gut ProNat anhand von natĂŒrlichsprachlichen Beschreibungen neue Funktionen erlernen kann: Verbalisierte Lehrsequenzen werden mit einer Genauigkeit von 85% in ĂuĂerungen erkannt. Aus diesen leitet ProNat Methodendefinitionen ab; dabei gelingt es in ĂŒber 90% der FĂ€lle, einen sprechenden Methodennamen zu erzeugen. Auch der Aufruf der neu erlernten Funktion (durch natĂŒrlichsprachliche Anweisungen) gelingt mit einer Genauigkeit von 85%. Zusammengenommen zeigen die Untersuchungen, dass ProNat grundsĂ€tzlich in der Lage ist, Programme aus gesprochenen ĂuĂerungen zu synthetisieren; auĂerdem können neue Funktionen anhand natĂŒrlichsprachlicher Beschreibungen erlernt werden