Prolog列表(使用词干功能)

时间:2012-01-06 22:55:45

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

有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

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

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