【问题标题】:StanfordNLP Spanish TokenizerStanfordNLP 西班牙语分词器
【发布时间】:2015-02-17 17:54:05
【问题描述】:

我想用 StanfordNLP 对西班牙语文本进行标记,我的问题是模型将匹配模式“\d*s”(由数字组成并以“s”结尾的单词)的任何单词分成两个标记。如果单词以另一个字母结尾,例如“e”,则标记器仅返回一个标记。

例如,给定句子: “Vendo iPhone 5s es libre de fabrica esta nuevo sin usar。”

标记器为文本“iPhone 5s”返回三个标记:“iPhone”、“5”和“s”。

有人知道我该如何避免这种行为?

【问题讨论】:

    标签: tokenize stanford-nlp


    【解决方案1】:

    我想您使用的是 SpanishTokenizer 而不是 PTBTokenizer。

    SpanishTokenizer 很大程度上基于FrenchTokenizer,它也来自PTBTokenizer(英文)。

    我已经用你的句子运行了所有三个,似乎 PTBTokenizer 给你你需要的结果,而不是其他的。

    由于它们都是确定性标记器,我认为您无法避免该问题,因为在我看来,问题不在于启发式部分,应该在确定性之后运行。

    一种可能的解决方法是使用WhitespaceTokenizer,只要您不介意使用标点符号或其他一些语法规则。

    【讨论】:

    • 感谢您的回答!我使用 StanfordCoreNLP 使用的标记器。如果我删除属性: props.setProperty("tokenize.language", "es") ,那么标记器将返回预期的结果,如您所说。我不想使用 WhitespaceTokenizer,因为它以相同的标记返回单词和标点符号。
    猜你喜欢
    • 2017-08-14
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多