我们正在尝试通过遵循this question中的代码来使用BreakIterator将日语句子拆分成单词。这段代码只适用于问题中给出的文本,当我们尝试给出一个不同的文本时,例如"速い茶色のキツネは怠惰な犬を飛び越えます“,它无法拆分单词。
可能的问题是什么?
发布于 2021-05-21 01:23:45
this question中的BreakIterator.getSentenceInstance(Locale.JAPAN)将日语脚本拆分成句子,而不是单词。通常,日语在书写时不使用标点符号来分隔单词。
你必须使用词法分析器把一个句子分解成单词。例如,您可以使用Java port of TinySegmenter。
import java.util.List;
import jp.toastkid.libs.tinysegmenter.TinySegmenter;
public class Test {
public static void main(String[] args) {
TinySegmenter ts = TinySegmenter.getInstance();
List<String> list = ts.segment("速い茶色のキツネは怠惰な犬を飛び越えます。");
System.out.println(String.join(" | ", list));
// You will get "速い | 茶色 | の | キツネ | は | 怠惰 | な | 犬 | を | 飛び越え | ます"
}
}https://stackoverflow.com/questions/64258959
复制相似问题