【问题标题】:OpenNLP error while parsing the training file for document categorization解析文档分类的训练文件时出现 OpenNLP 错误
【发布时间】:2016-12-08 08:13:04
【问题描述】:

我正在尝试使用 opennlp 处理文档分类器。但是我很难处理培训文件。 opennlp 读取文件时出现以下错误:

Indexing events using cutoff of 5

    Computing event counts...  done. 17 events
    Indexing...  Dropped event greetings:[bow=hello]
Dropped event greetings:[bow=hi]
Dropped event greetings:[bow=salam]
Dropped event internet_problem:[bow=internet]
Dropped event internet_problem:[bow=no, bow=data]
Dropped event internet_problem:[bow=data, bow=not, bow=working]
Dropped event internet_problem:[bow=not, bow=able, bow=to, bow=open, bow=website]
Dropped event internet_problem:[bow=browsing, bow=issue]
Dropped event balance_problem:[bow=balance]
Dropped event balance_problem:[bow=usage]
Dropped event balance_problem:[bow=bill, bow=amount]
Dropped event balance_problem:[bow=billed]
Dropped event voice_problem:[bow=signals]
Dropped event voice_problem:[bow=call]
Dropped event voice_problem:[bow=voice]
Dropped event voice_problem:[bow=call, bow=drop]
Dropped event voice_problem:[bow=not, bow=connecting]
done.
Sorting and merging events... Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.get(ArrayList.java:429)
    at opennlp.tools.ml.model.AbstractDataIndexer.sortAndMerge(AbstractDataIndexer.java:89)
    at opennlp.tools.ml.model.TwoPassDataIndexer.<init>(TwoPassDataIndexer.java:105)
    at opennlp.tools.ml.AbstractEventTrainer.getDataIndexer(AbstractEventTrainer.java:74)
    at opennlp.tools.ml.AbstractEventTrainer.train(AbstractEventTrainer.java:91)
    at opennlp.tools.ml.model.TrainUtil.train(TrainUtil.java:53)
    at opennlp.tools.doccat.DocumentCategorizerME.train(DocumentCategorizerME.java:204)
    at com.nlp.CategoryTrainUtil.trainModel(CategoryTrainUtil.java:39)
    at com.nlp.Boot.main(Boot.java:12)

我的训练文件如下所示:

greetings hello
greetings hi
greetings salam
internet_problem internet
internet_problem no data
internet_problem data not working
internet_problem not able to open website
internet_problem browsing issue
balance_problem balance
balance_problem usage
balance_problem bill amount
balance_problem billed
voice_problem signals
voice_problem call
voice_problem voice
voice_problem call drop
voice_problem not connecting

我没有得到我可能错过的东西。

【问题讨论】:

    标签: opennlp


    【解决方案1】:

    第一行写着Indexing events using cutoff of 5

    这可能意味着您必须为每个分类提供至少 5 个示例。所以,再给greeting 和其他两个例子,只要你的训练数据中没有 5 个。

    或者,如果您没有足够的训练数据,您可以将截止值降低到 3,但这不会给您带来好的结果。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 2020-02-03
      • 1970-01-01
      相关资源
      最近更新 更多