问题标签 [dcg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
8362 浏览

nlp - 对于对自然语言处理感兴趣的人来说,什么是好的起点?

问题

因此,我最近提出了一些新的可能项目,这些项目必须处理从用户提交和生成的文本中获取“意义”。

自然语言处理是处理这类问题的领域,经过一些初步研究,我发现了OpenNLP Hub和大学的合作,比如尝试项目。而stackoverflow有这个

如果有人可以将我链接到一些好的资源,从研究论文和介绍性文本到 api,我会比一个 6 岁的孩子打开他的圣诞礼物更快乐!

更新

通过您的一项建议,我发现了 opencyc“世界上最大、最完整的通用知识库和常识推理引擎”)。更令人惊奇的是,有一个项目是 opencyc 的精炼版本,名为UMBEL。它具有 rdf/owl/skos n3 语法中的语义数据。

我还偶然发现了antlr,这是一个解析器生成器,用于“从语法描述中构建识别器、解释器、编译器和翻译器”

我在这里提出了一个问题,列出了大量免费和开放的数据

感谢stackoverflow社区!

0 投票
4 回答
6624 浏览

mapping - 在 Prolog 中输入

我目前正在开发一个递归 Prolog 程序,将路线链接在一起,以创建伯明翰地区的基本GPS。目前我可以得到这样的输出:

输入

输出

我想做的是让我的程序提供某种接口,所以如果我要输入以下内容:

它会为我提供:

Prolog 是一种强大的语言,所以我认为这很容易实现,但是我取出的许多书似乎都跳过了这一部分。据我所知,我必须使用类似于 write() 和 read() 的东西,尽管我不知道细节。

这里有人可以提供一些基本示例或更多信息链接的 Prolog 新手吗?

编辑:很多这些答案似乎非常复杂,解决方案应该只有大约 5-10 行代码。读入一个值不是问题,因为我可以按照以下方式做一些事情:

如果可以使用 write() 写出输出,我会更喜欢它,以便可以使用新行 (nl),以便它像上面的输出一样显示。

如果这是我的输入,那么我将如何安排顶级 routeplan() 来处理这些输入?另外,如果我要为这些车站添加线路作为额外参数,那么这将如何实现?所有链接都在文件开头定义,如下所示:

因此,有了这些信息,能够像这样读取该行会很好。

0 投票
7 回答
8008 浏览

prolog - SML 是做什么用的?

SML在现实世界中的用途是什么?

它的实际用途是否与 Prolog 相似?

0 投票
4 回答
39604 浏览

list - 将成员谓词实现为单行

面试题!

这是您通常member在 Prolog 中定义关系的方式:

仅使用一个规则来定义它。

0 投票
1 回答
582 浏览

parsing - 在 Scheme 中使用 DCG 解析(没有 Prolog)?

有很多 Prolog-in-Scheme 实现。例如 Kanren,Schelog。

显然,在“人工智能编程范式”中,Norvig 在 Lisp 中实现了 Prolog-to-Lisp 编译器,以便使用定句语法。

但是有没有更简单的清洁方法?也许巧妙地使用 amb 来避免实现完整的“Prolog”?在 Scheme 中进行基于 DCG 的解析的最简单方法是什么?

0 投票
1 回答
1424 浏览

prolog - SWI-Prolog tokenize_atom/2 替换?

我需要做的是将原子分解为令牌。例如:

会统一L=['Hello',',','World','!']。完全一样tokenize_atom/2。但是当我尝试使用tokenize_atom/2非拉丁字母时它失败了。有没有通用的替代品,或者我怎么写一个?提前致谢。

0 投票
1 回答
1936 浏览

prolog - Prolog:句子解析器

坐在这里几个小时现在只是盯着这段代码,不知道我做错了什么。我知道通过跟踪代码会发生什么(当它遇到动词短语时,它会进入一个永恒的循环)。任何提示都更受欢迎。谢谢你。

0 投票
3 回答
2572 浏览

prolog - 立即学习 Prolog!DCG 实践示例

我一直在通过Learn Prolog Now 取得进展!作为自学,现在正在学习定从句语法。我在实践课程的一项任务中遇到了一些困难。任务内容如下:

形式语言 a n b 2m c 2m d n由以下形式的所有字符串组成:一个完整​​的a s 块,后跟一个完整的b s 块,然后是一个完整的c s 块,然后是一个完整的d s块,使得ad块的长度完全相同,并且cd块的长度也完全相同,并且分别由偶数个c s 和d s 组成。例如,εabbccdaaabbbbccccddd都属于 a n b 2m c 2m d n。编写一个生成这种语言的 DCG。

我能够编写生成 a n d n、 b 2m c 2m甚至 a n b 2m和 c 2m d n的规则……但我似乎无法将所有这些规则加入 a n b 2m c 2m dn 。_ 以下是我可以生成 a n d n和 b 2m c 2m的规则。

a n b 2m c 2m d n真的是 CFG,是否可以仅使用课程中教授的内容(没有额外的参数或代码等)编写 DCG?如果是这样,任何人都可以为我提供一些指导,我可以如何加入这些,以便我可以解决给定的任务?

0 投票
3 回答
438 浏览

prolog - 在 Prolog 中计算确定子句语法递归

我有以下 Prolog 定句语法:

这将导致像 [a,a,b,b] 这样的单词被接受,而不是像 [a,b,a,b] 这样的单词。简而言之,语法显然是 a^nb^n。现在我想将 n 返回给用户。我如何计算n?

0 投票
3 回答
2275 浏览

prolog - 在 Prolog 中解析多位数字

我有以下简单的表达式解析器:

但是,这只支持 1 位数字。在这种情况下,如何解析具有多个数字的数字?