问题:词干删除词后缀以将屈折(或有时派生)的词减少到它们的基本形式或词根形式。例如,“友好”是“朋友”的变形。通过词干(在这种情况下词干意味着删除后缀“ly”),“友好”被简化为“朋友”。给定一个标记列表和一个后缀列表 你的任务是编写一个函数,将所有标记都打印到标准输出(stdout),如果在后缀列表中找到所有标记(请每行打印一个标记) token 如果有多个后缀可以删除,请选择最长的一个注意,您的函数将接收以下参数:
我的代码:
class MyClass {
public static void token_stemming(String[] tokens, String[] suffixes)
{
int count=0;
String[] stemmedList = new String[tokens.length];
for(int i=0; i<tokens.length; i++)
{
int length=0;int flag=0;
for(int j=0; j<suffixes.length; j++)
{
if(tokens[i].contains(suffixes[j]))
{
int strlength = tokens[i].length()-1;
int suflegnth = suffixes[j].length()-1;
for(int z=suffixes[j].length(); z>0; z--)
{
if(tokens[i].charAt(strlength--)==suffixes[j].charAt(suflegnth--))
{
}
else
{
flag=1;
}
}
if(length<suffixes[j].length() && flag==0)
{
length = suffixes[j].length();
}
}
}
stemmedList[count] = tokens[i].substring(0, tokens[i].length()-length);
System.out.println(stemmedList[count]);
count++;
}
}
}