我们正在尝试按照这个问题中的代码使用 BreakIterator 将日语句子分解成单词。此代码仅适用于问题中给出的文本,当我们尝试给出不同的文本时,例如“速い茶色のキツネは慵懒な犬を飞び越えます”时,它无法破坏单词。
可能是什么问题?
我们正在尝试按照这个问题中的代码使用 BreakIterator 将日语句子分解成单词。此代码仅适用于问题中给出的文本,当我们尝试给出不同的文本时,例如“速い茶色のキツネは慵懒な犬を飞び越えます”时,它无法破坏单词。
可能是什么问题?
BreakIterator.getSentenceInstance(Locale.JAPAN)
在这个问题中,将日语脚本分解为句子,而不是单词。通常,日语的书写没有标点符号来分隔单词。
您必须使用形态分析器将句子分解为单词。例如,您可以使用TinySegmenter 的 Java 端口。
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 "速い | 茶色 | の | キツネ | は | 怠惰 | な | 犬 | を | 飛び越え | ます"
}
}