基于知识的计算和Wolfram | Alpha API的2.0版

Wolfram | Alpha正在使一种全新的非常有趣和强大的计算成为可能Wolfram | Alpha API,对于广泛的软件开发人员来说,利用它将非常容易。

我很高兴地说,Wolfram | Alpha似乎对人类非常有用,例如通过wolframalpha.com网站但它也证明了Wolfram | Alpha对程序非常有用。事实上,即使在今天,程序每秒向Wolfram | Alpha发出的请求数量也往往超过直接来自人类的所有请求。

这种流行的原因非常简单:Wolfram | Alpha完全改变了许多编程的经济性。你看,现在有相当多的项目依赖于某种知识。传统上,将知识输入到程序中的唯一方法是程序员将其辛苦地放在那里。

但是对于Wolfram | Alpha,情况就不同了。因为内置在Wolfram | Alpha中的已经是大量可计算的知识。如果一个程序连接到Wolfram | Alpha,那么它可以立即利用所有这些知识。

无论是构建网站、移动应用程序、桌面软件还是企业应用程序,关键在于可以将Wolfram | Alpha用作“基于知识的计算”平台,从而从工程角度有效地解放出各种可计算知识。

程序如何与Wolfram | Alpha通信?它使用Wolfram | Alpha API(如今,API本身几乎是一个术语,但它来自“应用程序接口”)

Wolfram | Alpha API浏览器

最后,它的工作方式非常简单http://www.wolframalpha.com/input/?i=2+加+2. 您的web浏览器从该URI中得到的是各种HTML和Javascript等,这使得它能够组装您看到的页面。

好吧,如果你是一个程序,你所要做的就是使用一个URI的形式http://api.wolframalpha.com/…你会得到一个可以在程序中使用的结构。

与大多数现代API一样,Wolfram | Alpha API是一种所谓的REST风格API,它返回XML输出。

XML输出可以包含各种不同的元素。它可以有一个大的HTML结构,适合复制整个Wolfram | Alpha输出页面。或者它可以有单独的图像或文本,对应于Wolfram | Alpha输出中特定的pod或pod的一部分。

它还可以对输出的每一部分进行完整的符号表示,以数学软件象征性表达。

不用说,这里提供了各种各样的详细控件。用于确定要假定的地理位置。用于指定结果是同步返回到一起,还是在准备好后异步返回到各个部分。等等。

Wolfram | Alpha查询还有一个完整的扩展语言,它可以指定应该生成哪些特定的输出吊舱,或者应该对输入中的对象类型做出哪些假设。

所有这些功能最终都可以通过向Wolfram | Alpha服务器发送适当的字符串来访问。但为了方便起见,现在有了许多通用语言的库(.Net、Perl、Python、Ruby、PHP和Java,更不用说了数学软件)设置请求字符串,然后操作返回的结果结构。(修订)数学软件case特别方便,因为它是一种符号语言,因此可以轻松处理任意结构,而且它是交互式的,因此可以立即看到所有内容。)

Wolfram | Alpha API的许多语言库实际上都是由Wolfram | Alpha社区的软件开发人员提供的(谢谢!)。还有更多的语言库,以及用于各种环境和平台的SDK(“软件开发工具包”)。

Wolfram | Alpha API的一种使用方法是向网站添加Wolfram | Alpha功能。但它可以在桌面上的任何软件系统中使用(如数学软件),在服务器上或在云中(如网状物数学软件),或在任何类型的移动或其他设备中。(例如,所有Wolfram | Alpha应用程序,以及Wolfram课程助理应用程序,使用Wolfram | Alpha API构建。)

有很多软件项目已经在使用Wolfram | Alpha API在微软,查询从Bing搜索引擎发送到Wolfram | Alpha API触摸印刷电子书,其中Wolfram | Alpha用于生成书籍中的动态元素。

Wolfram | Alpha API的2.0版今天的情况是,我们向软件开发人员开放了更多。API本身进行了精简和扩展。我们正在简化API的许可要求,尤其是这样,任何人都可以免费开始使用API。

创建一个广泛使用的API是一项相当大的责任。有服务器云可以保持良好的运行。有兼容性需要维护。有用户需要支持。

但我们知道我们要做什么。因为我们已经有了一个API数学软件从那以后的21年里,还没有人听说过API。的MathLink API数学软件非常复杂。允许外部程序与之通信数学软件从1990年开始,事实上数学软件广泛使用它本身,特别是在将用户界面(“前端”)连接到计算内核以及设置分布式计算时。

当我们使用Wolfram | Alpha技术构建新事物时,还有很多东西正在开发中,它们基本上都是基于Wolfram | Alpha API。但是我们在内部所做的很快就会与外部开发人员使用Wolfram | Alpha API所做的事情相形见绌。

我不知道所有正在进行的项目。但在我所知道的项目中,最值得注意的是它们的多样性。它们最终都使用相同的Wolfram | Alpha平台。但它们使用它的方式却大不相同。

开始构建Wolfram | Alpha引入的基于知识的计算概念所带来的第一代功能…

1评论

  1. WA是对人类知识的巨大贡献。
    令人难以置信的是,斯蒂芬·沃尔夫拉姆(Ste新利app怎么样phen Wolfram)将此免费提供给全世界。
    谢谢

    R.罗伊
Baidu