A Technique for Prolog Program Synthesis from Natural Language Specification
暂无分享,去创建一个
Summary This paper describes a system that automatically synthesizes a program from a specification written in natural language. The system infers a goal from the given specification, plans from the goal, and then repeatedly infers simpler plans from each plan, on the basis of the concept of goal-plan analysis. In other words, it synthesizes a program by executing top-down hierarchic decomposition. The system requires many types of knowledge, such as common knowledge, domain-dependent knowledge, and knowledge about the syntax and semantics of the target language. In order to apply such a variety of knowledge effectively, we used a knowledge-based method to implement the system. Essentially, this method is the framework of the cooperative production system. The system has several knowledge sources which work cooperatively to resolve problems. We explain the concept, implementation, and application of the system in this paper.