57得票2回答
Prolog中单引号和双引号有什么区别?

我刚接触Prolog,注意到单引号和双引号的行为不同,但是很好奇为什么会这样。具体来说,在加载文件时,?- ['test1.pl'].可以正常工作,而?- ["test1.pl"].则不能。

42得票10回答
对于对自然语言处理感兴趣的人来说,有哪些好的起点?

问题 我最近想出了一些新的潜在项目,这些项目需要从用户提交和生成的文本中获取“含义”。 自然语言处理是处理这类问题的领域。通过一些初步研究,我发现了OpenNLP Hub以及像attempto project这样的大学合作项目。而stackoverflow上也有这个。 如果有人能为我提供...

32得票4回答
将成员谓词实现为一行代码

面试题! 这是在Prolog中通常定义member关系的方式:member(X, [X|_]). % member(X, [Head|Tail]) is true if X = Head % that is, if X is ...

30得票7回答
在Prolog中展开一个列表

我只接触 Prolog 几天时间。虽然有些东西我已经理解了,但这个问题真的让我感到困惑。 我需要编写一个函数,接收一个列表并将其展平。?- flatten([a,[b,c],[[d],[],[e]]],Xs). Xs = [a,b,c,d,e]. ...

25得票3回答
SWI-Prolog在语义Web中的应用

我希望能听到有实际编程经验的人使用SWI-Prolog语义库的经验。 编辑:我提出这个问题的原因是,在与许多拥有Prolog经验的人交谈中,他们中的大多数似乎在他们的学术项目中将其用于一些人工智能编程。我想知道是否有人在生产环境中广泛使用它。因为实时可维护性和性能不同于完成项目以获得好成绩。 ...

22得票5回答
在Prolog中逐行读取文件

我想读取一个纯文本文件,并对每一行应用一个谓词(这些谓词包含“write”来进行输出)。我该如何做?

20得票7回答
SML被用于什么?

SML在实际应用中有哪些用途? 它的实际用途是否与Prolog类似?

18得票3回答
在Prolog中进行解析而不使用cut?

我在这里找到了一个很好的用于在Prolog中解析Lisp的代码片段(来源:这里):ws --> [W], { code_type(W, space) }, ws. ws --> []. parse(String, Expr) :- phrase(expressions(Expr)...

16得票3回答
Prolog DCG语法规则中的堆栈溢出:如何高效或惰性地处理大型列表

我正在解析一个相当简单的文件格式,它由一系列行组成,每一行都有一些用空格分隔的字段,看起来像这样: l 0x9823 1 s 0x1111 3 l 0x1111 12 ⋮ 我正在使用SWI-Prolog。这是我目前的DCG: :- consult(library(pure_input)...

12得票2回答
删除不正确的后续解决方案而不重复。

我有一个谓词可以找到正确的解决方案,但它会继续寻找错误的解决方案。 ?- data(D),data_threshold_nonredundantbumps(D,5,Bs),write(D). [3,6,7,8,2,4,5,6,9,4,7,3] D = [3, 6, 7, 8, 2, 4, 5...