prolog - Convert DRS to Sentence
问题描述
How do you convert Discourse-Repsentation-Structure (DRS) to text Sentence? Here are some DRS samples:
drs([A, B], [object(A, book, countable, na, eq, 1)-1/4, predicate(B, own, named('Peter'), A)-1/2]).
drs([], [question(drs([A, B], [query(A, what)-1/1, predicate(B, own, named('Peter'), A)-1/4]))]).
drs([], [question(drs([A, B], [object(A, book, countable, na, eq, 1)-1/5, predicate(B, own, named('Peter'), A)-1/3]))]).
解决方案
您可以使用
拥有 ACE 文本:drs_to_ace(Drs, AceSentenceList)
将解释 Drs。
纯文本:drs_to_ascii(Drs, DrsAscii)
它们是从以下位置导入的:
:- use_module(utils/drs_to_ace, [drs_to_ace/2]).
:- use_module(utils/drs_to_ascii).
提示:runape.pl
包含许多对 APE 有用的 hack。为了进行自己的处理,我首先将注解 Pred-NumLine/NumToken 移除到 Pred。
推荐阅读
- beautifulsoup - Beautifulsoup 代码中的 getchildren() 到 LXML
- java - java - 如何在java中使用split制作二维数组列表?
- python - Python - 遍历行和列
- c# - 在控制台中使用 csc 构建 C# 项目 - 在所有类上出现两个错误
- .net - 无法安装 Umbraco Headless .Net 客户端
- algorithm - 一个包含 100 万个整数的大文件,找到最常出现的整数的最快方法是什么?
- unit-testing - 使用 Spock 测试如何验证 json 属性键值对作为动态输入
- python - CPython:为什么一个 3 行脚本在解释器中需要远远超过 3 个周期才能执行?
- extjs4 - IE上的Extjs 4面板列宽问题
- javascript - 使用 AJAX 加载页面并取消以前的 JavaScript