package Ġcom . may abot . nlp . module . pin yin . split Ċ Ċ import Ġcom . may abot . nlp . M yn lp Env Ċ import Ġcom . may abot . nlp . common . injector . Singleton Ċ import Ġcom . may abot . nlp . common . utils . Char Norm Utils Ċ import Ġcom . may abot . nlp . per ce ptr on . Per ce ptr on Model Ċ import Ġcom . may abot . nlp . per ce ptr on . Per ce ptr on Computer Ċ import Ġjava . io . File Ċ Ċ @ Singleton Ċ class ĠP iny in Split Service ( env : ĠM yn lp Env ) Ġ{ ĊĊĠĠĠ Ġval Ġapp Ġ= ĠP iny in Split App . load Default ( env ) ĊĊĠĠĠ Ġfun Ġsplit ( text : ĠString ) Ġ= Ġapp . decode To Word List ( text ) Ċ } Ċ Ċ class ĠP iny in Split App ( val Ġmodel : ĠPer ce ptr on Model ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlogic Ġ= Ġdefine . model Computer ( model ) ĊĊĠĠĠ Ġfun Ġdecode To Word List ( sentence : ĠString , Ġconvert : ĠBoolean Ġ= Ġtrue ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġsentence . toCharArray () ĊĠĠĠĠĠĠĠ Ġif Ġ( convert ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠChar Norm Utils . convert ( input ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġlogic . decode Model ( input ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġp Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġoutput . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġf Ġ= Ġoutput [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( f Ġ== Ġ" S " Ġ|| Ġf Ġ== Ġ" E ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ+= Ġsentence . substring ( p , Ġi Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp Ġ= Ġi Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( p Ġ< Ġsentence . length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ+= Ġsentence . substring ( p , Ġsentence . length ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval Ġmodel Prefix Ġ= Ġ" pin yin - split - model " ĊĊĠĠĠĠĠĠĠ Ġval Ġdefine Ġ= ĠP iny in Split Definition () ĊĊĠĠĠĠĠĠĠ Ġfun Ġload ( file : ĠFile ): ĠP iny in Split App Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠP iny in Split App ( Per ce ptr on Model . load ( file )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġload Default ( env : ĠM yn lp Env ): ĠP iny in Split App Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠP iny in Split App ( Per ce ptr on Model . load From N lp Resource ( model Prefix , Ġenv )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }