2017-07-24 91 views
1

我正在嘗試將MALLET用於中文文本的主題建模。作爲第一步我用斯坦福字分割器得到的東西看起來像這樣:中文字符在導入到MALLET時出現亂碼

> 關於 處理 五反運動 遺留 問題 的 指示 轉發 華東局 批轉 浙江 省委 批轉 省委 辦公廳 關於 糧食 統銷 工作 與 處理 
> 意見 的 報告 和 對 打擊 富農 奸商 投機 破壞 的 指示 批轉 中央 農村 工作部 關於 目前 各地 建立 農業 生產 合作社 
> 情況 與 問題 向 中央 的 報告 指示 各地 高級 幹部 應 學習 的 四 個 文件 批准 第一 次 全 國 人民 防空 工作 
> 會議 文件 批轉 中央 機要局 關於 加強 控制 密碼 電報 拍發 問題 的 簡報 批准 中央 商業部 一九五三年 工作 的 基本 
> 總結 與 一九五四年 的 任務的 報告 給 各 級 黨委 的 指示 同意 中 財委 資 復 天津 市委 關於 改造 資本主義 工商業 
> 中 若干 政策 問題 的 意見 關於 向 中央 的 綜合 報告 改爲 每季 一 次 的 通知 西南局 對 雲南 省委 關於 省委 
> 委員 鄭伯克 同志 的 錯誤 的 報告 關於 加強 市場 管理 和 改造 私營 商業 的 指示 狄超白 同志 關於 赴 蘇 訪問 
> 經濟 專業 工作 報告 

導入文本文件(UTF-8)到槌,我跑以下命令:

bin/mallet import-file --input /test/test.txt --output test.mallet \ --keep-sequence --encoding UTF-8 

但在輸出文件中出現文字亂碼:

¨Ìsrcc.mallet.types.InstanceListLdataAlphabettLcc/mallet/types/Alphabet;L dataClasstLjava/lang/Class;LfeatureSelectiont"Lcc/mallet/types/FeatureSelection;LinstWeightstLjava/util/HashMap;[perLabelFeatureSelectiont#[Lcc/mallet/types/FeatureSelection;LpipetLcc/mallet/pipe/Pipe;LtargetAlphabetq~LtargetClassq~xrjava.util.ArrayListxÅ「ô«aùIsizexpAwAsrcc.mallet.types.InstanceZlockedLdatatLjava/lang/Object;Lnameq~ 
L 
propertiestLcc/mallet/util/PropertyList;Lsourceq~ 
Ltargetq~ 
xpwsrcc.mallet.types.FeatureSequenceIlengthL 
dictionaryq~[featurest[Ixpwsrcc.mallet.types.AlphabetZ 
growthStoppedLentriestLjava/util/ArrayList;L 
entryClassq~L 
instanceIdtLjava/rmi/dgc/VMID;LmaptLgnu/trove/TObjectIntHashMap;xpwtxxtptgtowvrjava.lang.String†§8z;≥Bxpsrjava.rmi.dgc.VMID¯Ü[ا•m∂[addrt[BLuidtLjava/rmi/server/UID;xpur[B¨Û¯T‡xpW»¬àÇy`'srjava.rmi.server.UIDp 
ø6OScountJtimeIuniquexpÄ]ukö hÛxwxsrcc.mallet.types.LabelIindexL 
dictionarytLcc/mallet/types/LabelAlphabet;Lentryq~ 
xpwsrcc.mallet.types.LabelAlphabet]ÎÍÄ{¢ˆ«Llabelsq~xq~wîtÂÖ≥‰∫étËΩ¨ÂèëtÊâπËΩ¨tÊåáÁ§∫tÊâπÂáÜtÂêåÊÑèt Ë•øÂçó±Ät ÁãÑË∂ÖÁôΩt‰∏≠§ÆtÊâπÂèëtÂØπt‰∏≠ÂÖ±tÊûûÈò≥tÂèëÈÄÅtÊàët Èôà‰ºØËææt‰∫∫Ê∞ët‰∏≠ÂõΩtÈáç˶Åt1956tÁîòËÇÉt‰∫ßÈí¢tÊØõt‰∏ãÂèëtËΩªÂ∑•‰∏öÈÉ®tÊ≠¶ÊòåtÁªü‰∏Ät‰ªãÁªçtÂÖöÂÜÖtʵôʱütÈ∫ªÂüét Â∑•‰∏öÁïåt‰∏≠Âäût ÊØõÊ≥Ω‰∏út ÂΩ≠Âæ∑ÊÄÄt•Ω•Ωt §èÊãì§´tÊπñÂçótË¥µÂ∑ûtÊâπ§çt˵щ∫ßÈò∂Á∫ßtÂç∞Âèët È©¨ÂÖãÊÄùt ÊñáÂåñÈÉ®tÈûç±±tÂ∫îÂΩìtÂ∫îËØ•t˶ÅtÂêÑtÂÖ®ÂõΩt Ë∂Ö£∞Ê≥¢tÈÄöÁü•tÂõΩÂÆ∂t ËÅÇËç£Ëáªt ÂÖ¨ÂÆâÈÉ®t‰∏ĉπùÂÖ≠„ÄáÂπ¥t‰∏ÄÂÆötÊ≤≥ÂåótÂÖöÊîøt‰∏ÄÂàátÁ´ãÂç≥tÂΩ≠ÁúütÈááÂèñtË∞ÉÊü•tÂÜúÊùëtÂõΩÈò≤tÂØπ‰∫étÊ•ºt¶•ÂñÑt ÂõΩÂä°Èô¢t Èæôʵ∑ÂéøtÁ¨¨ÂÖ´tÊõ¥Ê≠£t ÈDZʆëÈáétËãèËÅît‰∏ªÂ∏≠tÂ∞ët‰∏ÄtÂÜ≥ÂÆötÊúàtÂú®t ÊπñÂçóÁúÅt ‰∏úÂåó±Ät ÊïôËÇ≤ÈÉ®tÊπñÂåót ‰∏≠Âçó±ÄtÊĪÊîøÊ≤ªÈÉ®tË∞Ét Âçé‰∏ú±Ät‰∏™tÂê¥t ‰∏≠ÂÆ£ÈÉ®t Ë•øÂåó±ÄtÊûóÂΩ™tÁÇÆÊâìtÂÖ´Êúàt‰∏•Á¶ÅtÁªùÂØπtÊ≠£Á°ÆtÁªôtª∫ËÆÆt ÂàòÂ∞ë•átÊó†‰∫ßÈò∂Á∫ßt ÊùéÈõ™Â≥∞t ÂìàÂ∞îʪ®tÁßëÁ†ît ÂàòʆºÂπ≥tÈÄöÂëätÁ∫™ÂøµtʵéÂçót‰∏∫‰∫Üt Á±≥ËÑÇÂéøt Âåó‰∫¨Â∏ÇtÂ∑•‰∏öt ‰∫§Êò쉺ötʱüÈùít ÂÆã‰ªªÁ©∑tÂëΩ‰ª§tÂ∏ÉÂëät‰πùt Ê≤≥ÂåóÁúÅtÂèÇÂä†t‰∏ĉπùÂÖ≠‰πùÂπ¥t Âë®ÊÅ©Êù•tÂèçÂÖöt ÈÉëÁª¥Â±±t ÊùéÂæ∑Áîüt ÂàòÂ≠êÂéöt ÈôàÈî°ËÅît ÊûóÂΩ™‰∫étÊí§ÈîÄtÂáÜÂèët §ñ‰∫§ÈÉ®t ÁéãÊ¥™ÊñátÊâ©Â§ßtÊàêÁ´ãtÂçÅt¢û˰•t‰∏≠ÂèëtÈ¢ÅÂèëtËÄøÈ£ötÂÖöt ÂÖö‰∏≠§ÆtÊާçtÂ∞ñtËΩ¨ËÆ©tËΩ¨tÂä†Âº∫wq~sq~q~ sq~!Ä]ukö hÛxsq~îwîq~%sq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'w xsq~#wq~'w 
xsq~#wq~'wxsq~#wq~'wxsq~#wq~'w 
xsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'wxsq~#wq~'w xsq~#wq~'w!xsq~#wq~'w"xsq~#wq~'w#xsq~#wq~'w$xsq~#wq~'w%xsq~#wq~'w&xsq~#wq~'w'xsq~#wq~'w(xsq~#wq~'w)xsq~#wq~'w*xsq~#wq~'w+xsq~#wq~'w,xsq~#wq~'w-xsq~#wq~'w.xsq~#wq~'w/xsq~#wq~'w0xsq~#wq~'w1xsq~#wq~'w2xsq~#wq~'w3xsq~#wq~'w4xsq~#wq~'w5xsq~#wq~'w6xsq~#wq~'w7xsq~#wq~'w8xsq~#wq~'w9xsq~#wq~'w:xsq~#wq~'w;xsq~#wq~'w<xsq~#wq~'w=xsq~#wq~'w>xsq~#wq~'w?xsq~#wq~'[email protected]~#wq~'wAxsq~#wq~'wBxsq~#wq~'wCxsq~#wq~'wDxsq~#wq~'wExsq~#wq~'wFxsq~#wq~'wGxsq~#wq~'wHxsq~#wq~'wIxsq~#wq~'wJxsq~#wq~'wKxsq~#wq~'wLxsq~#wq~'wMxsq~#wq~'wNxsq~#wq~'wOxsq~#wq~'wPxsq~#wq~'wQxsq~#wq~'wRxsq~#wq~'wSxsq~#wq~'wTxsq~#wq~'wUxsq~#wq~'wVxsq~#wq~'wWxsq~#wq~'wXxsq~#wq~'wYxsq~#wq~'wZxsq~#wq~'w[xsq~#wq~'w\xsq~#wq~'w]xsq~#wq~'w^xsq~#wq~'w_xsq~#wq~'w`xsq~#wq~'waxsq~#wq~'wbxsq~#wq~'wcxsq~#wq~'wdxsq~#wq~'wexsq~#wq~'wfxsq~#wq~'wgxsq~#wq~'whxsq~#wq~'wixsq~#wq~'wjxsq~#wq~'wkxsq~#wq~'wlxsq~#wq~'wmxsq~#wq~'wnxsq~#wq~'woxsq~#wq~'wpxsq~#wq~'wqxsq~#wq~'wrxsq~#wq~'wsxsq~#wq~'wtxsq~#wq~'wuxsq~#wq~'wvxsq~#wq~'wwxsq~#wq~'wxxsq~#wq~'wyxsq~#wq~'wzxsq~#wq~'w{xsq~#wq~'w|xsq~#wq~'w}xsq~#wq~'w~xsq~#wq~'wxsq~#wq~'wÄxsq~#wq~'wÅxsq~#wq~'wÇxsq~#wq~'wÉxsq~#wq~'wÑxsq~#wq~'wÖxsq~#wq~'wÜxsq~#wq~'wáxsq~#wq~'wàxsq~#wq~'wâxsq~#wq~'wäxsq~#wq~'wãxsq~#wq~'wåxsq~#wq~'wçxsq~#wq~'wéxsq~#wq~'wèxsq~#wq~'wêxsq~#wq~'wëxsq~#wq~'wíxsq~#wq~'wìxxwxtppwxsq~ wsq~ 
wq~wxq~øtppwxsq~ wsq~ 
wq~wxq~¿tppwxsq~ wsq~ 
wq~wxq~¡tppwxsq~ wsq~ 
wq~wxq~¬tppwxsq~ wsq~ 
wq~wxq~¿tppwxsq~ wsq~ 
wq~wxq~¬tppwxsq~ wsq~ 
wq~wxq~√tppwxsq~ wsq~ 
wq~wxq~%tppwxsq~ wsq~ 
wq~wxq~ƒtppwxsq~ wsq~ 
wq~wxq~%tppwxsq~ wsq~ 

希望能在正確的方向上有所幫助。

回答

1

問題是通過使用正則表達式來解決 '\ p {ISHAN} +',而不是導入的更一般的,當 '[\ p {L} \ p {M}] +'

解決方案:

bin/mallet import-file --input /test/test.txt --output test.mallet \ --keep-sequence --encoding UTF-8 --token-regex '\p{IsHan}+'