【问题标题】:Train NER model in Stanford NLP在斯坦福 NLP 中训练 NER 模型
【发布时间】:2018-07-30 23:12:26
【问题描述】:

执行训练模型时出现异常。请找到我训练 NER 模型所遵循的步骤,

Step1:创建训练文件,如,

the 0
Greenland   LOC
whale   0
is  0
deposed 0
,   0
-   0
the 0
great   0
sperm   0
whale   0
now 0
reigneth    0
!   0

并保存为“TrainingFile.tsv”文件。

第 2 步:创建一个 .prop 文件,我们可以用它来训练第一个分类器。

Custom-ner.prop:

trainFile = TrainingFile.tsv
serializeTo = ner-model.ser.gz
map = word=0,answer=1
maxLeft=1
useClassFeature=true
useWord=true
useNGrams=true
noMidNGrams=true
maxNGramLeng=6
usePrev=true
useNext=true
useDisjunctive=true
useSequences=true
usePrevSequences=true
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC

Step3:通过执行以下代码构建分类器,

java -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier \
-prop propforclassifierone.prop

在执行 Step3 时会抛出异常,例如,

例外:

useSequences=true
wordShape=chris2useLC
useTypeySequences=true
useDisjunctive=true
noMidNGrams=true
serializeTo=ner-model.ser.gz
maxNGramLeng=6
useNGrams=true
usePrev=true
useNext=true
maxLeft=1
trainFile=directories2-10combined.tsv
map=word=0,answer=1
useWord=true
useTypeSeqs=true
=\
Exception in thread "main" edu.stanford.nlp.io.RuntimeIOException: java.io.FileN
otFoundException: directories2-10combined.tsv (The system cannot find the file s
pecified)
        at edu.stanford.nlp.io.IOUtils.inputStreamFromFile(IOUtils.java:509)
        at edu.stanford.nlp.io.IOUtils.readerFromFile(IOUtils.java:550)
        at edu.stanford.nlp.objectbank.ReaderIteratorFactory$ReaderIterator.setN
extObject(ReaderIteratorFactory.java:189)
        at edu.stanford.nlp.objectbank.ReaderIteratorFactory$ReaderIterator.<ini
t>(ReaderIteratorFactory.java:161)
        at edu.stanford.nlp.objectbank.ResettableReaderIteratorFactory.iterator(
ResettableReaderIteratorFactory.java:98)
        at edu.stanford.nlp.objectbank.ObjectBank$OBIterator.<init>(ObjectBank.j
ava:414)
        at edu.stanford.nlp.objectbank.ObjectBank.iterator(ObjectBank.java:253)
        at edu.stanford.nlp.sequences.ObjectBankWrapper.iterator(ObjectBankWrapp
er.java:45)
        at edu.stanford.nlp.ie.crf.CRFClassifier.train(CRFClassifier.java:1585)
        at edu.stanford.nlp.ie.AbstractSequenceClassifier.train(AbstractSequence
Classifier.java:758)
        at edu.stanford.nlp.ie.AbstractSequenceClassifier.train(AbstractSequence
Classifier.java:746)
        at edu.stanford.nlp.ie.crf.CRFClassifier.main(CRFClassifier.java:3034)
Caused by: java.io.FileNotFoundException: directories2-10combined.tsv (The syste
m cannot find the file specified)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at edu.stanford.nlp.io.IOUtils.inputStreamFromFile(IOUtils.java:503)
        ... 11 more

【问题讨论】:

    标签: java nlp stanford-nlp


    【解决方案1】:

    您确定您使用的是正确的文件吗?

    在步骤 2 的示例中,您有一个名为 Custom-ner.prop 的属性文件,而在步骤 3 中,您使用名为 propforclassifierone.prop 的文件调用命令。 此外,您的训练文件的名称似乎不同:TrainingFile.tsvdirectories2-10combined.tsv

    另外,请确保您的培训文件位于您的类路径中(分别位于与 jar 文件相同的目录中)或提供您的培训文件的绝对路径。

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      相关资源
      最近更新 更多