2017-03-29 4 views
0

나는 중국어 코퍼스에 POS 태깅을하기 위해 스탠포드 CoreNLP를 사용하고 있습니다. 이제 Spark에서 사용하고 싶지만이 오류가 발생합니다.Stanford CoreNLP on Spark 오류 : 알 수없는 언어 UniversalChinese

java.io.IOException: java.lang.RuntimeException: Unknown language UniversalChinese 
at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1163) 
at org.apache.spark.rdd.ParallelCollectionPartition.readObject(ParallelCollectionRDD.scala:70) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058) 
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1909) 
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) 
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) 
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) 
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) 
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) 
at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:72) 
at org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:98) 
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:194) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

답변

0

스탠포드 CoreNLP에 전화하는 방법에 대해 자세히 알려주십시오.

내 첫 번째 추측은 사용중인 코드 jar와 모델이 일치하지 않는다는 것입니다. 코드와 모델에 사용하는 항아리는 무엇입니까?

일부 예제와 함께 더 많이 사용하고있는 코드를 설명 할 수 있다면 문제는 아닙니다. 더 자세히 살펴볼 수 있습니다. 스탠포드 CoreNLP 용 표준 스파크를 사용하고 있습니까?

이 하나 : https://github.com/databricks/spark-corenlp

+0

감사합니다. 나는 스파크 NLP를 사용하지 않은,하지만 문제는 내가 '목록 문장 = annotation.get (CoreAnnotations.SentencesAnnotation.class)를 사용하려고한다는 생각,' 이 JavaSparkContext.parallelize() 를 사용 JAVARDD에 결합 이제 문장을 나눠서 작동합니다! – Francis