Natural language understanding for logical games
Adrian Groza and Cristian Nițu Department of Computer Science, Technical University of Cluj-Napoca Cluj-Napoca, Romania
Abstract
We developed a system able to automatically solve logical puzzles in natural language. Our solution is composed by a parser and an inference module. The parser translates the text into first order logic (FOL), while the MACE4 model finder is used to compute the models of the given FOL theory. We also empower our software agent with the capability to provide Yes/No answers to natural language questions related to each puzzle. Moreover, in line with Explainalbe Artificial Intelligence (XAI), the agent can back its answer, providing a graphical representation of the proof. The advantage of using reasoning for Natural Language Understanding (NLU) instead of Machine learning is that the user can obtain an explanation of the reasoning chain. We illustrate how the system performs on various types of natural language puzzles, including 382 knights and knaves puzzles. These features together with the overall performance rate of 80.89% makes the proposed solution an improvement upon similar solvers for natural language understanding in the puzzles domain.
中文速览
自动求解自然语言逻辑谜题是人工智能领域的经典难题,难点在于机器既要"读懂"文字、又要进行严密推理。研究者构建了一套端到端的系统:先用基于上下文无关文法和WordNet的解析器,将谜题原文自动转换为一阶逻辑(First-Order Logic, FOL)表达式,再调用模型求解器MACE4计算满足所有约束的解,并借助定理证明器Prover9支持对自然语言问题给出是/否答案。与纯机器学习方法不同,该系统还能输出可视化的推理证明图,符合可解释人工智能(Explainable AI, XAI)的理念,让用户清楚看到每一步推断的依据。在涵盖382道"骑士与无赖"(knights and knaves)谜题的测试集上,系统整体正确率达80.89%,优于同类自然语言谜题求解器,表明将语言理解与形式推理相结合是处理此类任务的有效路径。
原文 arXiv:2110.00558;中英对照 + 大白话阅读 https://aha.fim.ai/paper/2110.00558v1