【问题标题】:In MALLET Java API, why can't the Input2CharSequence pipe feed into the CharSequenceLowercase() pipe?在 MALLET Java API 中,为什么 Input2CharSequence 管道不能输入 CharSequenceLowercase() 管道?
【发布时间】:2014-11-17 16:47:10
【问题描述】:

当我尝试连续使用这些管道时,我得到了错误:

线程“main”中的异常 java.lang.IllegalArgumentException: CharSequenceLowercase 需要一个字符串,找到了一个类 java.lang.StringBuffer

我没有在 MALLET 中看到任何可用的管道来解决这个问题。但在我看来 CharSequenceLowercase() 应该能够接受 CharSequence...

【问题讨论】:

    标签: java mallet charsequence


    【解决方案1】:

    评论该行,然后调用

    pipeList.add(new TokenSequenceLowercase());
    

    将标记小写。看起来 CharSequenceLowerCase 管道不能接受 StringBuffer。如果你查看它的代码,它只接受字符串。

    【讨论】:

    • 是的,我最终做了以下事情:pipeList.add(new Input2CharSequence("UTF-8")); pipeList.add(new CharSequence2TokenSequence(Pattern.compile("\\p{L}[\\p{L}\\p{P}]+\\p{L}"))); pipeList.add( new TokenSequenceLowercase() ); 因为 CharSequence2TokenSequence 似乎没有与 CharSequenceLowercase 相同的问题。根据命名约定,在我看来,这两个管道都应该接受相同的输入,但我想情况并非如此。
    猜你喜欢
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多