-1

我使用了一些字数统计算法,仔细观察我想知道,因为我在文本中得到的字数比原来少,因为它们将例如“it's”视为一个字。所以我试图找到一个解决方案但没有任何成功,所以我问自己他们是否存在任何东西可以将“它”这样的“短词”转换为他们的“基本词”,说“它是”。

4

2 回答 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 回答