package Ġtol iner . discord . sir itor i Ċ Ċ import Ġcom . work sap . nlp . s ud ach i . Dictionary Factory Ċ import Ġcom . work sap . nlp . s ud ach i . Tokenizer Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . io . File Ċ import Ġjava . io . Print Stream Ċ Ċ data Ġclass ĠAn alyze Result ( ĊĠĠĠ Ġval Ġoriginal : ĠString , ĊĠĠĠ Ġval Ġnormalized Form : ĠString , ĊĠĠĠ Ġval Ġreading Form : ĠString , ĊĠĠĠ Ġval Ġseparated : ĠList < String >, ĊĠĠĠ Ġval Ġparts : ĠList < List < String >> Ċ ) Ċ Ċ object ĠM orph ological Analy ser Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtokenizer Ġ= ĠDictionary Factory () ĊĠĠĠĠĠĠĠ Ġ. create ( ClassLoader . getSystem Resource (" s ud ach i _ full dict . json "). read Text ()) !! ĊĠĠĠĠĠĠĠ Ġ. create () !!. apply Ġ{ ĊĠĠĠĠĠĠĠ Ġset Dump Output ( Print Stream ( File (" logs / s ud ach i . log "). create IfNot Exists ())) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger (" S ud ach i ") ĊĊĠĠĠ Ġfun Ġanalyze ( word : ĠString ): ĠAn alyze Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtokens Ġ= Ġtokenizer . tokenize ( Tokenizer . Split Mode . C , Ġword ) ĊĠĠĠĠĠĠĠ Ġlogger . debug (" Token ize ĠWord : Ġ$ word ") ĊĠĠĠĠĠĠĠ Ġlogger . debug (" Surface , ĠNormal ized , ĠReading , ĠPart Of Speech ") ĊĠĠĠĠĠĠĠ Ġtokens . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . debug ("${ it . surface ()}, Ġ${ it . normalized Form ()}, Ġ${ it . reading Form ()}, Ġ[ ${ it . part Of Speech (). join ToString ()} ]") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠAn alyze Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal Ġ= Ġ Ġword , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnormalized Form Ġ= Ġ Ġtokens . join ToString ("") Ġ{ Ġit . normalized Form () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreading Form Ġ= Ġtokens . join ToString (" "){ Ġit . reading Form () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġseparated Ġ= Ġtokens . map Ġ{ Ġit . surface () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparts Ġ= Ġtokens . map Ġ{ Ġit . part Of Speech () Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠAn alyze Result . is Single Word () Ġ= Ġseparated . size Ġ== Ġ 1 Ċ fun ĠAn alyze Result . is No un () Ġ= Ġis Single Word () Ġ&& Ġparts [ 0 ][ 0 ] Ġ== Ġ" åĲį è© ŀ " Ċ Ċ fun ĠFile . create IfNot Exists (): ĠFile Ġ{ ĊĠĠĠ Ġif Ġ(! exists ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate New File () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ