我使用了一些字数统计算法,仔细观察我想知道,因为我在文本中得到的字数比原来少,因为它们将例如“it's”视为一个字。所以我试图找到一个解决方案但没有任何成功,所以我问自己他们是否存在任何东西可以将“它”这样的“短词”转换为他们的“基本词”,说“它是”。
问问题
111 次
2 回答
0
我刚刚从头开始构建这个以应对挑战。它似乎对我有用。让我知道它是如何为您工作的。
public static void main(String[] args) {
String s = "it's such a lovely day! it's really amazing!";
System.out.println(convertText(s));
//output: it is such a lovely day! it is really amazing!
}
public static String convertText(String text) {
String noContraction = null;
String replaced = null;
String[] words = text.split(' ');
for (String word : words) {
if (word.contains("'s")) {
String replaceAposterphe = word.replace("'", "$");
String[] splitWord = replaceAposterphe.split('$');
noContraction = splitWord[0] + " is";
replaced = text.replace(word, noContraction);
}
}
return replaced;
}
我在 C# 中做到了这一点,并试图将其转换为 Java。如果您发现任何语法错误,请指出。
于 2014-11-27T14:37:01.537 回答
0
好吧,基本上你需要提供一个数据结构,将缩写词映射到它们对应的长版本。但是,这并不像听起来那么简单,例如,您不想转换“客户的汽车”。到“客户是汽车”。
要管理这些情况,您可能需要一个启发式算法,对您正在处理的语言及其包含的语法规则有更深入的了解。
于 2014-11-27T14:02:28.933 回答