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 item to list2
    return list2

有人能给我指正确的方向吗?

根据您的prolog实现,考虑使用maplist/3或等效物:类似maplist(porter_stem, List, Result).的东西就足够了。

如果你有兴趣学习如何构建正确的递归,请发表评论,我会尝试扩展我的答案:)