gfsage:Sage的一个自然语言界面

这项工作的目标是开发一种命令行工具,该工具能够接受自然语言的命令,并由Sage执行,Sage是一个以统一方式呈现的计算机代数包的集合。我们在这里介绍了如何构建接口的说明及其预期用途的示例。

构建可执行文件

您需要:

  • 温室气体具有阴谋集团,如中所示Haskell平台
  • 卷曲
  • 打电话的方式圣人在终端上(通常圣人命令。它假设它在您的路径中)
  • POSIX系统
  • GF的源版本。

您可以通过以下方式获取此源版本:

电缆安装gf

我们也可以通过以下方式安装其他依赖项:

阴谋集团安装json curl

查看数学语法库:

svn公司svn://molto项目.eu/mgl

这是活动分支。对于固定用途:

svn公司svn://molto-project.eu/tags/D6.2

进入mgl/鼠尾草目录(D6.2/页如果您正在使用固定分支)并使其:

镉mgl/sage制作

第一次你制作它将失败,要求您在圣人安装。请参阅安装页面.

现在尝试构建g鼠尾草再一次。所有这些构建操作都会要求圣人“重建”自身。请注意,第一次重建需要一些时间:

制作

该系统在Mac(OS X 10.7)和Linux(Ubuntu)上进行了测试。

用法

按以下方式运行工具:

./gfsage英语

给出输入语言作为自变量。启动服务器需要几秒钟的时间。之后,它将回复一些服务器信息并显示提示:

鼠尾草>

然后可以输入查询:

sage>计算八进制数12和二进制数100的乘积。(3) 40答案:是40。

为了显示CAS实际上是幕后黑手,让我们尝试一些象征性的东西:

计算x的最大公约数以及x和y的乘积。(4) x个答案:它是x。

并与以下内容进行比较:

计算x的最大公约数以及x和y的和。(5) 1答案:是1。

Sage在这两种情况下都做了正确的事情,x和y是未绑定的数值变量。

sage>计算pi处余弦的二次迭代导数。(6) 1答案:是1。

正在退出

通过发出CRTL+D退出会话:这样服务器就可以干净地退出。

另一个不同语言的例子:

./g西班牙语通过端口9000登录到localhost会话ID为c1ef10dfd49e4fdb3214fa6d3a3b9c92等待。。。清空区块2握手结束。会话是c1ef10dfd49e4fdb3214fa6d3a3b9c92sage>calcula la part imaginaria de la deriverada de la exponencial en pi(圣哲>艺术形象计算)。(4) 0答案:es 0。

涉及整数文字和积分的最新示例:

sage>计算1、2、3、4和5的总和。(3) 15答案:是15。sage>计算x在1到100范围内的总和。(4) 5050个答案:是5050。sage>计算余弦从0到pi和2的商的积分。等待。。。(5) 1答案:是1。sage>计算将x映射到x的平方根的函数从1到2的积分。(6) 4/3*平方米(2)-2/3答案:是4乘以2的平方根减去2和3的商。

其他调用选项

使用英语:

g鼠尾草

使用语言:

gfsage语言

一般调用:

gfsage[选项]

哪里选项是:

缩写形式 长形 描述
-小时 --帮助 打印使用情况页
-i语言 --input-lang=语言 在中进行查询语言
-o语言 --output-lang=语言 在中给出答案语言
-V液位 --verbose=级别 设置详细程度水平
-t文件 --test=文件 测试样品在里面文件
-v[声音] --语音[=voice] 使用语音输出。要列出声音,请使用?作为语音.
-F类 --有反馈 回答时重述查询。

限制

  • 在Darwin(OS X 10.6和10.7)上,Sage部分中的一个错误使系统在一些计算(介于7和10之间)后没有响应
  • 在某些机器上,Sage服务器需要时间进行响应。

此情况由以下消息发出信号:

gfsage:连接CurlCouldntConnect

我使用Linux虚拟机来重现这种情况,发现有时服务器需要大约10次重试才能捕获,但随后它会正常运行数小时。我猜这与一些超时服务器中的限制。从以前的重试中终止孤立的python进程可能也会有所帮助(killall蟒蛇).