在 SparkNLP 中,PipelineModel所有階段都必須是AnnotatorModel. 但是,如果這些 annotatormodels 中的一個需要資料集中的某個列作為輸入,而該輸入列是 an 的輸出AnnotatorApproach呢?
例如,我有一個經過訓練的 NER 模型(作為管道的最后階段),它需要令牌和 POS 標簽作為兩個輸入。POS 標記器也需要令牌。但是 Tokenizer 是一個AnnotatorApproach,我無法將其添加到管道中。
這是 Tokenizer 的實體化方式(在 Java 中):
AnnotatorApproach<TokenizerModel> tokenizer = new Tokenizer();
這有效:
Pipeline pipeline = new Pipeline().setStages( new PipelineStage[]{tokenizer} );
但這不起作用,因為 Tokenizer 不是 Transformer:
List<Transformer> list;
list.add(tokenizer);
PipelineModel pipelineModel = new PipelineModel("ID42", list);
uj5u.com熱心網友回復:
始終擬合管道將為您回傳一條準備好進行推理的管道,即使您擬合空資料集也是如此。如果您只依賴不需要培訓的注釋器,那也沒關系。這是推薦的用法,在通常不必要的情況下操作各個階段,hacky,并且可能導致錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/364874.html
