【问题标题】:OpenNLP Tokenizer does not detect words that belong together?OpenNLP Tokenizer 不检测属于一起的单词?
【发布时间】:2018-12-19 23:23:44
【问题描述】:

我是 NLP 新手,遇到了 OpenNLP。据我了解tokenization 意味着将文本分割成单词和句子。单词通常由空格分隔,但并非所有空格都相等。比如Los Angeles中的一个人认为不管留白。但是每当我运行 OpenNLP Tokenizer 时,它都会为洛杉矶创建两个不同的标记:LosAngeles。这是我的代码(我从旧 OpenNLP 站点获得模型 en-token.bin)。

InputStream inputStream = new FileInputStream("C:\\apache-opennlp-1.9.0\\Models\\en-token.bin"); 
TokenizerModel tokenModel = new TokenizerModel(inputStream);
//Instantiating the TokenizerME class 
TokenizerME tokenizer = new TokenizerME(tokenModel);

String tokens[] = tokenizer.tokenize(sentence2);

for(String token : tokens) {
     System.out.println(token);
}

这是输出:

The
city
of
Los
Angeles
is
one
of
the
most
beautiful
places
in
California

我在网上测试了一些其他的分词器,它们产生了相同的输出。如果不是标记化,那么识别这两个词的过程是什么?

【问题讨论】:

    标签: java nlp tokenize opennlp


    【解决方案1】:

    正如您所注意到的,英语分词器基本上总是将空格视为分隔词。您可以有一个智能标记器来检查是否应该拆分一个位置,但通常在 NLP 管道(对于使用空格的语言)中,标记器尽可能简单。将已分离的单词连接在一起将是标记化后的一个单独步骤。

    查找应该连接的单词,例如“Los Angeles”,通常称为短语检测搭配检测。这些短语本身在学术写作中通常被称为多词表达。 OpenNLP 似乎没有任何与 MWE 相关的功能,但 Gensim 有一个易于使用的phrases 功能,并且它们链接到其实现所基于的论文。斯坦福大学的 CoreNLP 也有一个library 用于该任务。

    【讨论】:

      【解决方案2】:

      opennlp 提供“TokenizerTrainer”工具来训练数据。 OpenNLP 格式每行包含一个句子。您还可以指定由空格或特殊标记分隔的标记。

      您可以关注 this 博客,以便在 opennlp 中为各种目的抢占先机。该帖子将向您展示如何创建训练文件和构建新模型。

      您可以使用modelbuilder addon 轻松创建自己的训练数据集,并遵循此处提到的一些规则来训练创建一个好的NER model

      您可以使用模型构建器插件here 找到一些帮助。

      基本上,您将所有信息放在一个文本文件中,将 NER 实体放在另一个文件中。插件搜索特定实体并将其替换为所需的标签。因此产生标记数据。这个工具用起来一定很简单!

      另外,请关注mr. markg's 的回答,了解如何自行创建新模型。这将帮助您构建自己的模型,这些模型可以针对您的应用程序进行定制。

      希望这会有所帮助!

      【讨论】:

        【解决方案3】:

        在线提供的基本词分词器通常通过看到空格将句子分成单词。为了解决具有物理意义的单词(如 Los Angeles 或 New Delhi 等)不应该被拆分的情况,我们可以自己编写一个函数,在拆分单词后,查看某种包含以下单词的字典物理意义,并尝试将这些词组合成一个组。

        【讨论】:

          猜你喜欢
          • 2015-01-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-10-05
          相关资源
          最近更新 更多