我使用此处发布的 Porter Stemming 算法的 Matlab 实现。当我在大部分文本上使用它时,"ies"
传入字符串时会收到一条错误消息。
>> porterStemmer('ies')
我收到错误消息:
Subscript indices must either be real positive integers or
logicals.
Error in porterStemmer>step2 (line 274)
switch b(k-1)
Error in porterStemmer (line 42)
x = step2(x{1}, x{2}, k0);
我想可能是这样,因为它"ies"
是一个常见的词尾,并且在第 223 行的脚本中也显示为elseif ends('ies', b, k)
.
我期待该程序能够应对此类情况。我认为这是错误的还是这是一个错误?
目前,我使用了 Porter Stemmer 2(此处),它不会引发错误并将“ies”转换为“ie”。显然,词干“ies”有点毫无意义,但我宁愿不要让它在这样的极端情况下抛出错误。