Китайские символы искажены при импорте в MALLET

58
4

Я пытаюсь использовать MALLET для моделирования темы китайского текста. В качестве первого шага я использовал Stander Word Segmenter, чтобы получить что-то вроде этого:

> 关于 处理  五反运动 遗留 问题 的 指示   转发 华东局 批转  浙江 省委 批转 省委 办公厅 关于 粮食 统销 工作 与 处理
> 意见 的 报告 和 对 打击 富农 奸商 投机 破坏 的 指示 批转 中央 农村 工作部 关于 目前 各地 建立 农业 生产 合作社
> 情况 与 问题 向 中央 的 报告 指示 各地 高级 干部 应 学习 的 四 个 文件 批准 第一 次 全 国 人民 防空 工作
> 会议 文件 批转 中央 机要局 关于 加强 控制 密码 电报 拍发 问题 的 简报 批准 中央 商业部 一九五三年 工作 的 基本
> 总结 与 一九五四年 的 任务的 报告 给 各 级 党委 的 指示 同意 中 财委 资 复 天津 市委 关于 改造 资本主义 工商业
> 中 若干 政策 问题 的 意见 关于 向 中央 的 综合 报告 改为 每季 一 次 的 通知 西南局 对 云南 省委 关于 省委
> 委员 郑伯克 同志 的 错误 的 报告 关于 加强 市场 管理 和 改造 私营 商业 的 指示 狄超白 同志 关于 赴 苏 访问
> 经济 专业 工作 报告

Чтобы импортировать текстовый файл (UTF-8) в MALLET, я выполнил следующую команду:

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~'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~'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~

Был бы благодарен за любую помощь в правильном направлении.

спросил(а) 2017-07-24T19:57:00+03:00 3 года, 4 месяца назад
1
Решение
59

Проблема была решена с помощью regex '\ 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}+'

ответил(а) 2017-07-25T14:44:00+03:00 3 года, 4 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема