smoothnlp / SmoothNLP

专注于可解释的NLP技术 An NLP Toolset With A Focus on Explainable Inference
GNU General Public License v3.0
624 stars 112 forks source link

phrase_extraction 的文本处理(新词发现部分) #69

Open YingZhuY opened 3 years ago

YingZhuY commented 3 years ago

ngram_utils.pyphrase_extraction.py,注意到一开始的文本处理是

  1. re.split(r'[;;.。,,!\n!??]',corpus),先按此列表中的标点符号进行切分
  2. re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])", "", corpus),只保留汉字、数字、英文大小写(去掉了其它符号和无意义字符,但没有进行切分)

然后想问两个小问题:

A. 为什么 [;;.。,,!\n!??] 符号部分要单独处理,就是说,为什么不选择在所有标点符号的部分都切开 ?

B. 在第 2 步中,去掉无意义字符后,其前后位置部分会自然拼接,

比如 "动物防疫法(修订版)_全文" 会变成 "动物防疫法修订版全文"。

这种问题应该怎么处理?