TwitterKoreanProcessorCS
TwitterKoreanProcessorCS copied to clipboard
Update to twitter-korean-text 4.4
I have tried to make the dll from twitter-korean-text 4.4, but I had no idea how to do it. Can you share me the way I can make it to a C# library?
It is said that version 4.4 is the end of adding features, So I think upgrading the version to 4.4 will be a nice thing to do. (Actually, custom dictionary feature is definitely needed)
Thanks very much.
I did it like below:
$ mono ~/Downloads/ikvm-7.2.4630.5/bin/ikvmc.exe -target:library korean-text.jar
IKVM.NET Compiler version 7.2.4630.5
Copyright (C) 2002-2012 Jeroen Frijters
http://www.ikvm.net/
note IKVMC0002: Output file is "korean-text.dll"
$ ls -al
-rwxr-xr-x 1 Joon staff 9091072 Feb 12 15:46 korean-text.dll
Thanks for notifying me update. I'll follow up.
Actuailly I tried ikvmc in Windows but some NoClassDefFoundError
gets thrown.
Since I'm not familiar with Java, Can you check if my procedure is right?
-
mvn compile
&mvn package
and generate jar -
ikvmc -target:library korean-twitter-text.jar
- And there comes a bunch of NoClassDefFoundError.
A piece of error is below:
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.Hangul$.composeHangul(CCC)C"
("scala.Predef$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.Hangul$.composeHangul(Lcom.twitter.penguin.korean.util.Hangul$HangulChar;)C"
("com.twitter.penguin.korean.util.Hangul$HangulChar")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.Hangul$.<init>()V"
("scala.collection.immutable.List$")
warning IKVMC0100: Class "com.twitter.penguin.korean.util.Hangul$HangulChar$" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.Hangul$DoubleCoda$" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanConjugation$$anonfun$com$twitter$penguin$korean$util$KoreanConjugation$$addPreEomi$1" not found
warning IKVMC0100: Class "scala.collection.Set" not found
warning IKVMC0100: Class "scala.runtime.ObjectRef" not found
warning IKVMC0100: Class "scala.runtime.VolatileByteRef" not found
warning IKVMC0100: Class "scala.collection.generic.Subtractable" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanConjugation$$anonfun$expanded$lzycompute$1$1" not found
warning IKVMC0100: Class "scala.runtime.BoxedUnit" not found
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanConjugation$.com$twitter$penguin$korean$util$KoreanConjugation$$addPreEomi(CLscala.collection.Seq;)Lscala.collection.Seq;"
("com.twitter.penguin.korean.util.KoreanConjugation$$anonfun$com$twitter$penguin$korean$util$KoreanConjugation$$addPreEomi$1")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanConjugation$.conjugatePredicatesToCharArraySet(Lscala.collection.immutable.Set;Z)Lcom.twitter.penguin.korean.util.CharArraySet;"
("scala.collection.JavaConversions$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanConjugation$.conjugatePredicated(Lscala.collection.immutable.Set;Z)Lscala.collection.immutable.Set;"
("scala.runtime.ObjectRef")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanConjugation$.expanded$lzycompute$1(Lscala.collection.immutable.Set;ZLscala.runtime.ObjectRef;Lscala.runtime.VolatileByteRef;)Lscala.collection.immutable.Set;"
("scala.runtime.VolatileByteRef")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanConjugation$.expanded$1(Lscala.collection.immutable.Set;ZLscala.runtime.ObjectRef;Lscala.runtime.VolatileByteRef;)Lscala.collection.immutable.Set;"
("scala.runtime.VolatileByteRef")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanConjugation$.<init>()V"
("scala.collection.Seq$")
warning IKVMC0100: Class "scala.Symbol$" not found
warning IKVMC0100: Class "scala.Symbol" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$typoDictionaryByLength$1" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readStreamByLine$1" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readStreamByLine$2" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readStreamByLine$3" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readWordFreqs$1" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readWordMap$1" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readWordMap$2" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readWordsAsSet$1" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readWords$1" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$getConjugationMap$1$1" not found
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.koreanEntityFreq$lzycompute()Lscala.collection.mutable.Map;"
("scala.runtime.BoxedUnit")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.spamNouns$lzycompute()Lcom.twitter.penguin.korean.util.CharArraySet;"
("scala.Predef$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.nameDictionary$lzycompute()Lscala.collection.immutable.Map;"
("scala.Predef$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.typoDictionaryByLength$lzycompute()Lscala.collection.immutable.Map;"
("com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$typoDictionaryByLength$1")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.predicateStems$lzycompute()Lscala.collection.immutable.Map;"
("scala.Predef$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.readStreamByLine(Ljava.io.InputStream;Ljava.lang.String;)Lscala.collection.Iterator;"
("scala.Predef$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.readWordFreqs(Ljava.lang.String;)Lscala.collection.mutable.Map;"
("scala.collection.JavaConversions$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.readWordMap(Ljava.lang.String;)Lscala.collection.immutable.Map;"
("com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readWordMap$1")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.readWordsAsSeq(Ljava.lang.String;)Lscala.collection.Seq;"
("scala.collection.Iterator")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.readWordsAsSet(Lscala.collection.Seq;)Lscala.collection.immutable.Set;"
("scala.Predef$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.readWords(Lscala.collection.Seq;)Lcom.twitter.penguin.korean.util.CharArraySet;"
("com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$readWords$1")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.addWordsToDictionary(Lscala.Enumeration$Value;Lscala.collection.Seq;)V"
("scala.collection.mutable.Map")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.getConjugationMap$1(Lscala.collection.immutable.Set;Z)Lscala.collection.immutable.Map;"
("com.twitter.penguin.korean.util.KoreanDictionaryProvider$$anonfun$getConjugationMap$1$1")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.<init>()V"
("scala.collection.JavaConversions$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanDictionaryProvider$.<clinit>()V"
("scala.Symbol$")
warning IKVMC0100: Class "scala.Enumeration$ValueSet$" not found
warning IKVMC0100: Class "scala.Enumeration$ValueOrdering$" not found
warning IKVMC0100: Class "scala.Enumeration$ValueSet" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanPos$KoreanPosTrie$" not found
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Predicates()Lscala.collection.immutable.Set;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.selfNode()Lcom.twitter.penguin.korean.util.KoreanPos$KoreanPosTrie;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.shortCut()Lscala.collection.immutable.Map;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.OtherPoses()Lscala.collection.immutable.Set;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.ProperNoun()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Others()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Space()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.CashTag()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.URL()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Email()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.ScreenName()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Hashtag()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Punctuation()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Alpha()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.KoreanParticle()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Number()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Foreign()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Korean()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Unknown()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Suffix()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.VerbPrefix()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.NounPrefix()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Conjunction()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.PreEomi()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Eomi()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Josa()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Exclamation()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Determiner()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Adverb()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Adjective()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Verb()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.Noun()Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.ValueSet()Lscala.Enumeration$ValueSet$;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.ValueOrdering()Lscala.Enumeration$ValueOrdering$;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.withName(Ljava.lang.String;)Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.apply(I)Lscala.Enumeration$Value;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.maxId()I"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.values()Lscala.Enumeration$ValueSet;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanPos.toString()Ljava.lang.String;"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanSubstantive$$anonfun$isKoreanNumber$1" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanSubstantive$$anonfun$3" not found
warning IKVMC0100: Class "scala.collection.immutable.IndexedSeq" not found
warning IKVMC0100: Class "scala.collection.immutable.IndexedSeq$" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanSubstantive$$anonfun$4" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanSubstantive$$anonfun$isKoreanNameVariation$1" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanSubstantive$$anonfun$5" not found
warning IKVMC0100: Class "scala.collection.immutable.Seq" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanSubstantive$$anonfun$1" not found
warning IKVMC0100: Class "com.twitter.penguin.korean.util.KoreanSubstantive$$anonfun$2" not found
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanSubstantive$.isJosaAttachable(CC)Z"
("scala.runtime.BoxesRunTime")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanSubstantive$.isName(Ljava.lang.CharSequence;)Z"
("scala.collection.immutable.Map")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanSubstantive$.isKoreanNumber(Ljava.lang.CharSequence;)Z"
("scala.runtime.RichInt$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanSubstantive$.isKoreanNameVariation(Ljava.lang.CharSequence;)Z"
("com.twitter.penguin.korean.util.KoreanPos$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanSubstantive$.collapseNouns(Lscala.collection.Seq;)Lscala.collection.Seq;"
("scala.Tuple2")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanSubstantive$.<init>()V"
("scala.Predef$")
warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "com.twitter.penguin.korean.util.KoreanSubstantive$.<clinit>()V"
("scala.Symbol$")
Thanks for reporting, let me spend some time to figure out. I'll try it in another environment.