জেনিয়া কর্পাসের সাথে স্ট্যানফোর্ড পার্সারকে কীভাবে প্রশিক্ষণ দেওয়া যায়?


93

স্ট্যানফোর্ড পার্সারের জন্য একটি নতুন মডেল তৈরি করতে আমার কিছু সমস্যা আছে।

স্ট্যানফোর্ড থেকে আমি সর্বশেষ সংস্করণটিও ডাউনলোড করেছি: http://nlp.stanford.edu/software/lex-parser.shtml

এবং এখানে, জেনিয়া কর্পাস 2 টি ফর্ম্যাটে, এক্সএমএল এবং পিটিবি (পেন ট্রিব্যাঙ্ক)।

স্ট্যান্ডফোর্ড পার্সার পিটিডি ফাইলগুলি দিয়ে প্রশিক্ষণ দিতে পারেন; তারপরে আমি জেনিয়া কর্পস ডাউনলোড করেছি, কারণ আমি বায়োমেডিকাল পাঠ্য নিয়ে কাজ করতে চাই:

http://categorizer.tmit.bme.hu/~illes/genia_ptb/ (লিঙ্কটি আর উপলভ্য নয়) (জেনিয়া_পটিবি.আর.এস.জেড)

তারপরে, একটি বায়োমেডিকাল বাক্যটির নির্ভরতা উপস্থাপনের জন্য আমার একটি ছোট মেইন ক্লাস রয়েছে:

    String treebankPath = "/stanford-parser-2012-05-22/genia_ptb/GENIA_treebank_v1/ptb";

    Treebank tr = op.tlpParams.diskTreebank();
    tr.loadPath(treebankPath);  
    LexicalizedParser lpc=LexicalizedParser.trainFromTreebank(tr,op);

আমি বিভিন্ন উপায়ে চেষ্টা করেছি, তবে সর্বদা একই ফলাফল পেতে পারি।

আমার শেষ লাইনে একটি ত্রুটি আছে। এটি আমার আউটপুট:

Currently Fri Jun 01 15:02:57 CEST 2012
Options parameters:
useUnknownWordSignatures 2
smoothInUnknownsThreshold 100
smartMutation false
useUnicodeType false
unknownSuffixSize 1
unknownPrefixSize 1
flexiTag true
useSignatureForKnownSmoothing false
parserParams edu.stanford.nlp.parser.lexparser.EnglishTreebankParserParams
forceCNF false
doPCFG true
doDep false
freeDependencies false
directional true
genStop true
distance true
coarseDistance false
dcTags false
nPrune false
Train parameters: smooth=false PA=true GPA=false selSplit=true (400.0; deleting [VP^SQ, VP^VP, VP^SINV, VP^NP]) mUnary=1 mUnaryTags=false sPPT=false tagPA=true tagSelSplit=false (0.0) rightRec=true leftRec=false collinsPunc=false markov=true mOrd=2 hSelSplit=true (10) compactGrammar=3 postPA=false postGPA=false selPSplit=false (0.0) tagSelPSplit=false (0.0) postSplitWithBase=false fractionBeforeUnseenCounting=0.5 openClassTypesThreshold=50 preTransformer=null taggedFiles=null
Using EnglishTreebankParserParams splitIN=4 sPercent=true sNNP=0 sQuotes=false sSFP=false rbGPA=false j#=false jJJ=false jNounTags=false sPPJJ=false sTRJJ=false sJJCOMP=false sMoreLess=false unaryDT=true unaryRB=true unaryPRP=false reflPRP=false unaryIN=false sCC=1 sNT=false sRB=false sAux=2 vpSubCat=false mDTV=2 sVP=3 sVPNPAgr=false sSTag=0 mVP=false sNP%=0 sNPPRP=false dominatesV=1 dominatesI=false dominatesC=false mCC=0 sSGapped=4 numNP=false sPoss=1 baseNP=1 sNPNNP=0 sTMP=1 sNPADV=1 cTags=true rightPhrasal=false gpaRootVP=false splitSbar=0 mPPTOiIN=0
Binarizing trees...done. Time elapsed: 141 ms
Extracting PCFG...done. Time elapsed: 56 ms
Compiling grammar...done Time elapsed: 1 ms
Extracting Lexicon...Exception in thread "main" edu.stanford.nlp.util.ReflectionLoading$ReflectionLoadingException: edu.stanford.nlp.util.MetaClass$ClassCreationException: java.lang.ClassNotFoundException: edu.stanford.nlp.parser.lexparser.EnglishUnknownWordModelTrainer
    at edu.stanford.nlp.util.ReflectionLoading.loadByReflection(ReflectionLoading.java:39)
    at edu.stanford.nlp.parser.lexparser.BaseLexicon.initializeTraining(BaseLexicon.java:335)
    at edu.stanford.nlp.parser.lexparser.LexicalizedParser.getParserFromTreebank(LexicalizedParser.java:800)
    at edu.stanford.nlp.parser.lexparser.LexicalizedParser.trainFromTreebank(LexicalizedParser.java:226)
    at edu.stanford.nlp.parser.lexparser.LexicalizedParser.trainFromTreebank(LexicalizedParser.java:237)
    at ABravoDemo.main(ABravoDemo.java:35)
Caused by: edu.stanford.nlp.util.MetaClass$ClassCreationException: java.lang.ClassNotFoundException: edu.stanford.nlp.parser.lexparser.EnglishUnknownWordModelTrainer
    at edu.stanford.nlp.util.MetaClass.createFactory(MetaClass.java:353)
    at edu.stanford.nlp.util.MetaClass.createInstance(MetaClass.java:370)
    at edu.stanford.nlp.util.ReflectionLoading.loadByReflection(ReflectionLoading.java:37)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: edu.stanford.nlp.parser.lexparser.EnglishUnknownWordModelTrainer
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at edu.stanford.nlp.util.MetaClass$ClassFactory.construct(MetaClass.java:119)
    at edu.stanford.nlp.util.MetaClass$ClassFactory.<init>(MetaClass.java:192)
    at edu.stanford.nlp.util.MetaClass$ClassFactory.<init>(MetaClass.java:53)
    at edu.stanford.nlp.util.MetaClass.createFactory(MetaClass.java:349)
    ... 7 more

আমি এই কর্পাস দিয়ে কীভাবে একটি নতুন মডেল তৈরি করতে পারি?


4
চেক করুন: stackoverflow.com/a/3158157/2128327
Khaled.K


5
আসল কারণ হ'ল "java.lang.ClassNotFoundException: edu.stanford.nlp.parser.lexparser.EnglishUn UnknownWordModelTrainer"। Nlp.stanford.edu/software/… এর কি ক্লাস আছে? আমি এই মুহুর্তে চেক করতে 900MB ডাউনলোড করতে পারি না।
অ্যান্ড্রুজ

4
এই ভিডিওটি চেষ্টা করুন এটি আপনাকে সহায়তা করতে পারে, youtube.com/watch?v=w4rWpvBjBRI
লক্ষণ জি

উত্তর:


1

অ্যান্ড্রুজ তার মন্তব্যে যেমন বলেছিলেন, আপনার সমস্যার আসল কারণ মনে হচ্ছে নিখোঁজ শ্রেণীর কাছ থেকে এসেছে।

চেক কিনা আপনি সঠিকভাবে আপনার লাইব্রেরি আমদানিকৃত চেষ্টা করুন (এবং নিশ্চিত করুন যে এটি বর্গ রয়েছে, EnglishUnknownWordModelTra‌​inerএর মধ্যে edu.stanford.nlp.parser.lexparser

(আপনি যদি মাভেন ব্যবহার করছেন তবে যাচাই করুন যে আপনি সঠিকভাবে নির্ভরতা যুক্ত করেছেন - একটি দ্রুত গুগল এটি তৈরি করেছে: স্ট্যানফোর্ড পার্সার মাভেন রেপো )


1

এনএলপি লাইব্রেরি কি সঠিকভাবে ইনস্টল হয়েছে? কোনও ত্রুটি নেই তা যাচাই করতে লগগুলিতে চেক করুন। স্ট্যানফোর্ড nltk গ্রন্থাগারটি সঠিকভাবে ইনস্টল করা হয় না যখন এই সমস্যাটি আসে বেশিরভাগ সময়।

দ্রুত যাচাই করার একটি উপায় জিইউআই চালিয়ে পার্সার চেষ্টা করে যদি এটি সফলভাবে চলে তবে লাইব্রেরিটি সঠিকভাবে ইনস্টল করা হয়েছে অন্যথায় যদি ত্রুটি ছুঁড়ে ফেলেছে তবে আপনি জানেন যে আপনার ইনস্টলেশনটি খুব কম ছিল।

স্ট্যানফোর্ড ওয়েবসাইট এটিকে একবার দেখার জন্য উল্লেখ করেছে:

আপনি যদি পার্সিংয়ের ক্ষেত্রে নতুন হন তবে পার্সারটি চেষ্টা করার জন্য আপনি জিইউআই চালিয়ে শুরু করতে পারেন। স্ক্রিপ্টগুলি লিনাক্সের জন্য অন্তর্ভুক্ত করা হয়েছে (lexparser-gui.sh) এবং উইন্ডোজ (lexparser-gui.bat)। জাভাডোক লেপপার্সার প্যাকেজ ডকুমেন্টেশন এবং লেক্সিকালাইজড পার্সার ক্লাস ডকুমেন্টেশনগুলি দেখুন। (অন্তর্ভুক্ত জাভাদোক ডিরেক্টরিতে সূচক। HTML ফাইলটিতে আপনার ওয়েব ব্রাউজারটি নির্দেশ করুন এবং সেই আইটেমগুলিতে নেভিগেট করুন)) সাধারণ প্রশ্নের উত্তরগুলির জন্য পার্সার এফএকিউ দেখুন। যদি এর কোনওটিই সহায়তা করে না, দয়া করে আরও সহায়তার জন্য কীভাবে আমাদের কাছে পৌঁছাবেন সে সম্পর্কে নির্দেশাবলীর জন্য আমাদের ইমেল নির্দেশিকা দেখুন।


0

আপনার সঠিকভাবে গ্রন্থাগারটি আমদানি হয়েছে কিনা তা পরীক্ষা করে দেখুন এবং এটি {ইংলিশ ইউনডর্ডারমডেলট্রা ইনার the শ্রেণিটি রয়েছে কিনা তা নিশ্চিত করুন এবং আপনি যে সংস্করণটি সঠিকভাবে ডাউনলোড করেছেন তা জেনিয়া কর্পসের সাথে কাজ করে কিনা তাও নিশ্চিত করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.