Building Conventional "experts" With a Dialogue Logic Programming Language - Zheng, Xiaoqing (IEEE/ACM transactions on audio, speech, and language processing, 2023)
We describe DiaProlog, a dialogue logic programming language that extends the vanilla Prolog with the features to facilitate the integration of reasoning capabilities into task-oriented dialogue systems. The extended language combines the expressive power of Horn rule and description logic with uncertainty and allows us to describe the specifications for both problem solving and dialogue management in a declarative programming manner. The systems incorporated with DiaProlog are capable of asking appropriate questions when necessary and collecting the answers to direct the line of reasoning and guide the conversation toward the correct solution. Besides, an explanation facility is provided to explain the reasoning behind its conclusion. We also describe a dialogue management framework built upon DiaProlog, which has been validated in multiple implementations providing legal consulting, financial advising, and medical guidance services where many questions require complex inferences about knowledge.