Nltk: يطرح corenlp.py CoreNLPServer استثناء TypeError

تم إنشاؤها على ٢٢ يونيو ٢٠١٧  ·  21تعليقات  ·  مصدر: nltk/nltk

أهلا،

ها هو الكود:

>>> s = nltk.parse.corenlp.CoreNLPServer(path_to_jar='/usr/local/share/stanford/stanford-corenlp-3.8.0.jar', path_to_models_jar='/usr/local/share/stanford/stanford-english-corenlp-2017-06-09-models.jar')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    s = nltk.parse.corenlp.CoreNLPServer(path_to_jar='/usr/local/share/stanford/stanford-corenlp-3.8.0.jar', path_to_models_jar='/usr/local/share/stanford/stanford-english-corenlp-2017-06-09-models.jar')
  File "/Users/adiep/feedback-sentiment/.env/src/nltk/nltk/parse/corenlp.py", line 69, in __init__
    key=lambda model_name: re.match(self._JAR, model_name)
TypeError: '>' not supported between instances of 'NoneType' and 'NoneType'

تطرح الدالة max هذا الاستثناء.

أعتقد أن ما يحدث هو أن key=lambda model_name: re.match(self._JAR, model_name) يقوم بإرجاع NoneType لأنه لا يتطابق مع أي شيء. لذلك تملأ قائمة NoneType و max في فرزها. لقد اكتشفت أن self._JAR و model_name تقييمها على النحو التالي:

>>> type(re.match(r'stanford-corenlp-(\d+)\.(\d+)\.(\d+)\.jar', '/usr/local/share/stanford/stanford-corenlp-3.8.0.jar'))
<class 'NoneType'>

شكرا،

pleaseverify resolved stanford api

التعليق الأكثر فائدة

يا إلهي ، إنه يعمل الآن.

بشكل عام ، كان علي أن أغير مباراة re.search.group وأقتل خادم corenlpserver عائم في الخلفية.

ربما يجب أن يكون هناك بعض التعليمات البرمجية لاكتشاف ما إذا كان هناك خوادم corenlpservers أخرى قيد التشغيل؟ لا أعرف ما إذا كان الأمر يستحق القيام به.

ال 21 كومينتر

هل الوظيفة max المفترض أن تكون أسماء ملفات تغذية وليست مسارات كاملة؟

حاولت تمرير المجلد CoreNLPServer بدلاً من ذلك ولم يتمكن nltk من العثور عليه لسبب ما.

أهلا،

أعتقد ذلك ، ما هي jars ؟

البرطمانات موجودة في "/ usr / local / share / stanford"

هنا ls للدير ذي الصلة:

(.env) ➜  stanford l
total 2794816
-rwxr-xr-x   1 adiep  admin   5.3K Jun 21 17:20 CoreNLP-to-HTML.xsl*
-rw-r--r--   1 adiep  admin   1.6K Jun 21 17:20 LIBRARY-LICENSES
-rw-r--r--   1 adiep  admin    34K Jun 21 17:20 LICENSE.txt
-rw-r--r--   1 adiep  admin   769B Jun 21 17:20 Makefile
-rw-r--r--   1 adiep  admin   3.6K Jun 21 17:20 README.txt
-rw-r--r--   1 adiep  admin   2.3K Jun 21 17:20 SemgrexDemo.java
-rw-r--r--   1 adiep  admin   1.8K Jun 21 17:20 ShiftReduceDemo.java
-rw-r--r--   1 adiep  admin   5.7K Jun 21 17:20 StanfordCoreNlpDemo.java
-rw-r--r--   1 adiep  admin   195K Jun 21 17:20 StanfordDependenciesManual.pdf
-rw-r--r--   1 adiep  admin   3.9K Jun 21 17:20 build.xml
-rwxr-xr-x   1 adiep  admin   871B Jun 21 17:20 corenlp.sh*
-rw-r--r--   1 adiep  admin   1.2M Jun 21 17:20 ejml-0.23-src.zip
-rw-r--r--   1 adiep  admin   207K Jun 21 17:20 ejml-0.23.jar
-rw-r--r--   1 adiep  admin    89B Jun 21 17:20 input.txt
-rw-r--r--   1 adiep  admin    19K Jun 21 17:20 input.txt.xml
-rw-r--r--   1 adiep  admin    54K Jun 21 17:20 javax.json-api-1.0-sources.jar
-rw-r--r--   1 adiep  admin    83K Jun 21 17:20 javax.json.jar
-rw-r--r--   1 adiep  admin   756K Jun 21 17:20 joda-time-2.9-sources.jar
-rw-r--r--   1 adiep  admin   615K Jun 21 17:20 joda-time.jar
-rw-r--r--   1 adiep  admin   192K Jun 21 17:20 jollyday-0.4.9-sources.jar
-rw-r--r--   1 adiep  admin   209K Jun 21 17:20 jollyday.jar
drwxr-xr-x  10 adiep  admin   340B Jun 21 17:20 patterns/
-rw-r--r--   1 adiep  admin   5.3K Jun 21 17:20 pom.xml
-rw-r--r--   1 adiep  admin   1.3M Jun 21 17:20 protobuf.jar
-rw-r--r--   1 adiep  admin    31K Jun 21 17:20 slf4j-api.jar
-rw-r--r--   1 adiep  admin    10K Jun 21 17:20 slf4j-simple.jar
-rw-r--r--   1 adiep  admin   9.6M Jun 21 17:20 stanford-corenlp-3.8.0-javadoc.jar
-rw-r--r--   1 adiep  admin   346M Jun 21 17:20 stanford-corenlp-3.8.0-models.jar
-rw-r--r--   1 adiep  admin   5.0M Jun 21 17:20 stanford-corenlp-3.8.0-sources.jar
-rw-r--r--   1 adiep  admin   7.6M Jun 21 17:20 stanford-corenlp-3.8.0.jar
-rw-r--r--   1 adiep  admin   991M Jun 21 17:37 stanford-english-corenlp-2017-06-09-models.jar
drwxr-xr-x   5 adiep  admin   170B Jun 21 17:20 sutime/
drwxr-xr-x   6 adiep  admin   204B Jun 21 17:20 tokensregex/
-rw-r--r--   1 adiep  admin   656K Jun 21 17:20 xom-1.2.10-src.jar
-rw-r--r--   1 adiep  admin   306K Jun 21 17:20 xom.jar

لا أفهم سبب فشل العثور على جرة في المجلد.

هل يمكنك تعيين متغير classpath env قبل بدء الخادم:

os.environ['CLASSPATH'] = '/usr/local/share/stanford'

يمكن أن يكون الحل الآخر:

os.environ['STANFORD_PARSER'] = '/usr/local/share/stanford'
os.environ['STANFORD_MODELS'] = '/usr/local/share/stanford'

في الإعداد المحلي الخاص بي ، قمت بتعيين جميع المتغيرات الثلاثة.

لقد أضفت الثلاثة إلى zsh وما زلت أواجه نفس المشكلات.

أيضًا ، عندما أجري اختبارات السموم ، أرى نفس الأخطاء بالضبط.

لا أعرف مقدار المساعدة التي يقدمها هذا ، لكنني أضفت سطرًا لطباعة قائمة ملفات الجرة التي تقارن بها.

['/usr/local/share/stanford/stanford-corenlp-3.8.0.jar', '/usr/local/share/stanford/stanford-corenlp-3.8.0.jar']
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    s = nltk.parse.corenlp.CoreNLPServer()
  File "/Users/adiep/feedback-sentiment/.env/src/nltk/nltk/parse/corenlp.py", line 70, in __init__
    key=lambda model_name: re.match(self._JAR, model_name)
TypeError: '>' not supported between instances of 'NoneType' and 'NoneType'

فشل re.match في مطابقة _JAR مع ملفات jar التي تم العثور عليها.
استيراد nltk

إعادة الاستيراد
s = nltk.parse.corenlp.CoreNLPServer ()
['/usr/local/share/stanford/stanford-corenlp-3.8.0.jar'، '/usr/local/share/stanford/stanford-corenlp-3.8.0.jar']
Traceback (آخر مكالمة أخيرة):
ملف " "، السطر 1 ، في
s = nltk.parse.corenlp.CoreNLPServer ()
ملف "/Users/adiep/feedback-sentiment/.env/src/nltk/nltk/parse/corenlp.py" ، السطر 70 ، في __init__
key = lambda model_name: re.match (self._JAR، model_name)
TypeError: '>' غير مدعوم بين مثيلات 'NoneType' و 'NoneType'
jar = '/usr/local/share/stanford/stanford-corenlp-3.8.0.jar'
r_jar = nltk.parse.corenlp.CoreNLPServer._JAR
re.match (r_jar، jar)

""

يبدو أن ما يحدث هو أن re.match يتم تغذيته بالمسار الكامل ، ويبحث عن ملف jar في بداية السلسلة ، ويفشل دائمًا. أعتقد أنه من المفترض أن يتم إطعام أسماء ملفات الجرة فقط.

حسنًا ، الإصلاح بسيط جدًا.

لقد غيرت re.match (...) إلى re.search (...). group () لذا فبدلاً من البحث فقط في بداية السلسلة ، فإنها تبدو في كل مكان.

ركض في قضية أخرى.

أعتقد أن هذا مرتبط بالمشكلة التي واجهتها من قبل مع CoreNLPParse باستخدام الخادم الوكيل.

>>> s = nltk.parse.corenlp.CoreNLPServer()
>>> s.url
'http://localhost:9000'
>>> s.start()
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    s.start()
  File "/Users/adiep/feedback-sentiment/.env/src/nltk/nltk/parse/corenlp.py", line 149, in start
    'Could not connect to the server.'
nltk.parse.corenlp.CoreNLPServerError: Could not connect to the server.

حسنًا ، كانت مشكلة الوكيل. اكتشفت أنه يمكنك تعيين NO_PROXY='localhost' .

الآن لدي مشكلة مع الخادم يرفض الاتصال.

لست متأكدًا من السبب ، ولكن عندما أقوم بتهيئة كائن الخادم ، فإنه يبدأ خادمًا عند المنفذ 9000.
تحرير: تبين أنه كان لدي خادم corenlp عائم في الخلفية. لقد قتلته للتو والآن يتم تنفيذ الأمر pinging على المنفذ 9000.
استيراد nltk

s = nltk.parse.corenlp.CoreNLPServer (مطول = صحيح)
[تم العثور على stanford-corenlp - (\ d +). (\ d +). (\ d +). jar: /usr/local/share/stanford/stanford-corenlp-3.8.0.jar]
[تم العثور على stanford-corenlp - (\ d +). (\ d +). (\ d +). jar: /usr/local/share/stanford/stanford-corenlp-3.8.0.jar]
[تم العثور على stanford-corenlp - (\ d +). (\ d +). (\ d +) - Models.jar: /usr/local/share/stanford/stanford-corenlp-3.8.0-models.jar]
s.start ()
[تم العثور على java: / usr / bin / java]
[تم العثور على java: / usr / bin / java]
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى لإعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى لإعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى لإعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى لإعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى لإعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من إعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى لإعادة المحاولات بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
HTTPConnectionPool (host = 'localhost' ، المنفذ = 59023): تم تجاوز الحد الأقصى من عمليات إعادة المحاولة بعنوان url: / live (سببها NewConnectionError (': فشل إنشاء اتصال جديد: [Errno 61] تم رفض الاتصال '،))
Traceback (آخر مكالمة أخيرة):
ملف " "، السطر 1 ، في
s.start ()
ملف "/Users/adiep/feedback-sentiment/.env/src/nltk/nltk/parse/corenlp.py" ، السطر 150 ، في البداية
"تعذر الاتصال بالخادم".
nltk.parse.corenlp.CoreNLPServer خطأ: تعذر الاتصال بالخادم.
""

يا إلهي ، إنه يعمل الآن.

بشكل عام ، كان علي أن أغير مباراة re.search.group وأقتل خادم corenlpserver عائم في الخلفية.

ربما يجب أن يكون هناك بعض التعليمات البرمجية لاكتشاف ما إذا كان هناك خوادم corenlpservers أخرى قيد التشغيل؟ لا أعرف ما إذا كان الأمر يستحق القيام به.

يبدو أنه إذا كنت لا تستخدم مع الجمل ، وأنشئ كائنات خوادم ، ولا توقفها ، فإن Python يحذف الكائن وليس الخادم الفعلي. ما كنت أفعله هو أنني بدأت تشغيل الخوادم في المترجم الفوري الخاص بي ونسيت تشغيل s.stop() .

نحتاج إلى توثيق كيفية عمل Stanford CoreNLP API بطريقة أو بأخرى حتى نطلب من الأشخاص عدم بدء تشغيل الخادم داخل Python.

بدلاً من ذلك ، أعتقد أننا إذا استخدمنا خدعة __all__ ، فربما يمكننا السماح بوصول محدود إلى ما بداخل nltk.parse.corenlp ومنع المستخدمين من الوصول إلى CoreNLPServer . أدنى مستوى يجب على المستخدم استخدامه هو GenericCoreNLPParser .

راجع للشغل ، dimazest هو استخدام CoreNLPServer لبيئة الاختبار فقط؟

نعم ، يتم استخدامه فقط في الاختبارات.

مرحباً - أعتقد أنني أواجه مشكلة تتعلق بالمشكلة المذكورة هنا.

لقد بدأت مؤخرًا في استخدام هذه الحزمة وأنا أستخدم StanfordNERTagger ، الذي يعرض خطأ الإهلاك.

/usr/local/lib/python2.7/dist-packages/nltk/tag/stanford.py:183: DeprecationWarning: 
The StanfordTokenizer will be deprecated in version 3.2.5.
Please use nltk.tag.corenlp.CoreNLPPOSTagger or nltk.tag.corenlp.CoreNLPNERTagger instead.

لاحظ أن هناك خطأ مطبعي في هذا التحذير. اضطررت إلى الاستيراد من nltk.tag.stanford للعثور على CoreNLPNERTagger .

لذلك حاولت التبديل إلى الوظيفة الجديدة ولا يبدو أنني أجعلها تعمل.
في السابق كان لدي:

    stanfordClassifier = '/root/stanford-ner-2017-06-09/classifiers/english.muc.7class.distsim.crf.ser.gz'
    stanfordNerPath = '/root/stanford-ner-2017-06-09/stanford-ner.jar'
    st = StanfordNERTagger(stanfordClassifier, stanfordNerPath, encoding='utf8')
    tokens = nltk.tokenize.word_tokenize(text) 
    ner_tags = st.tag(tokens)

الذي تغيرت إليه الآن

    stanfordClassifier = '/root/stanford-ner-2017-06-09/classifiers/english.muc.7class.distsim.crf.ser.gz'
    stanfordNerPath = '/root/stanford-ner-2017-06-09/stanford-ner.jar'
    with CoreNLPServer(stanfordNerPath, stanfordClassifier) as server:
        st = CoreNLPNERTagger(url=server.url)
        tokens = nltk.tokenize.word_tokenize(text) 
        ner_tags = st.tag(tokens)

ومع ذلك ، يقوم هذا الرمز بإرجاع هذا الخطأ: CoreNLPServerError: Could not connect to the server.

لا يمكنني العثور على وثائق في أي مكان لكيفية الاتصال بـ CoreNLPNERTagger وكيف تختلف هذه المكالمة عن StanfordNERTagger الموقوف.

أي مساعدة هي محل تقدير كبير. شكرا!

مرحبًا ، أنا آسف لعدم وجود وثائق. لقد تغيرت واجهة برمجة التطبيقات ، فإليك ما تحتاج إلى القيام به. ارجع إلى # 1510 ، فهو يحتوي على مناقشة طويلة حول كيفية بدء تشغيل الخادم.

التغيير الرئيسي: NLTK لا يبدأ خادم CoreNLP ، تحتاج إلى بدء تشغيله. ارجع إلى https://stanfordnlp.github.io/CoreNLP/corenlp-server.html للحصول على شرح مفصل ، ولكن يجب أن يكون الأمر مثل:

# Run the server using all jars in the current directory (e.g., the CoreNLP home directory)
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000

افتح http: // localhost : 9000 / للتأكد من تشغيل الخادم.

أنت الآن جاهز لاستخدام عميل NLTK corenlp:

tagger = CoreNLPNERTagger(url='http://localhost:9000')
tokens = tagger.tag(text)

أرجوك أخبرني إن كانت تشتغل.

نعم! هذا يعمل. شكرا جزيلا لمساعدتك.

شكرا dimazest ،alvations

لسبب ما ، لا يمكنني الاتصال بالخادم. يمكن لأي شخص مساعدتي؟ هذا هو الكود الذي أقوم بتشغيله.

من nltk.parse.corenlp استيراد CoreNLPServer
server = CoreNLPServer ("stanford-corenlp-4.0.0.jar"، "stanford-corenlp-4.0.0-models.jar"، verbose = True)
server.start ()

من nltk.parse.corenlpnltk.pa استيراد CoreNLPParser
المحلل اللغوي = CoreNLPParser ()
parse = next (parser.raw_parse ("لقد وضعت الكتاب في المربع على الطاولة."))

server.stop ()

أقوم بتشغيله في ملف داخل المجلد الذي قمت بتنزيله لـ CoreNLP حتى لا داعي للقلق بشأن مسارات abs أو أي شيء.
إليك ما ينتج عنه:

[تم العثور على java: / usr / bin / java]
[تم العثور على java: / usr / bin / java]
Traceback (آخر مكالمة أخيرة):
ملف "/Users/benstevens/Desktop/Bernstein2/Ben/stanford-corenlp-4.0.0/BenTest.py" ، السطر 4 ، في
server.start ()
ملف "/Users/benstevens/Library/Python/3.8/lib/python/site-packages/nltk/parse/corenlp.py" ، السطر 153 ، في البداية
رفع CoreNLPServerError ("تعذر الاتصال بالخادم.")
nltk.parse.corenlp.CoreNLPServer خطأ: تعذر الاتصال بالخادم.

سأكون ممتنا جدا أي مساعدة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات