List Prolog列表(使用词干函数)
我知道这是一个非常简单的问题,但我似乎有一些问题 我试图使用porter_-stem生成一个单词列表,但我遇到了一个错误: 本地堆栈外 这是我的代码:List Prolog列表(使用词干函数),list,prolog,List,Prolog,我知道这是一个非常简单的问题,但我似乎有一些问题 我试图使用porter_-stem生成一个单词列表,但我遇到了一个错误: 本地堆栈外 这是我的代码: stemming([],[]). stemming([H|T], A) :- stemming(T,Answer), porter_stem(H,S), append(Answer,S,A). 基本上,这方面的伪代码如下所示: for all items in list stem item add ite
stemming([],[]).
stemming([H|T], A) :-
stemming(T,Answer),
porter_stem(H,S),
append(Answer,S,A).
基本上,这方面的伪代码如下所示:
for all items in list
stem item
add item to list2
return list2
有人能给我指出正确的方向吗?考虑使用
maplist/3
或等效工具,具体取决于您的prolog实现:类似maplist(porter\u-stem,List,Result)的工具。
就足够了
如果您对学习如何构建适当的递归感兴趣,请发表评论,我将尝试扩展我的答案:)那么,词干谓词所做的第一件事就是调用词干,这应该是它所做的最后一件事。谢谢,修复了。但是仍然会出现相同的错误:/I如果您愿意,我可以向您详细说明正常递归,但是您是否尝试使用
maplist/3
或等效工具,具体取决于您的prolog实现?类似于maplist(porter\u-stem,List,Result)的东西就足够了。哇,谢谢。我不知道地图列表存在:O@Mog:将其作为答案发布!非常感谢你!如果我能理解我粘贴的代码出了什么问题,我将非常感激。