Press "Enter" to skip to content

自然语言处理之小明NLP

最近在盘点Python下的自然语言处理包,今天发现的这个小明NLP,本身这个工具算是一个比较普通的工具,但中间的一个小点吸引到了我,所以这里记录下。

 

小明NLP的主要功能:

中文分词 & 词性标注
支持繁体
支持自定义词典
中文拼写检查
文本摘要 & 关键词提取
情感分析
文本转拼音
获取汉字偏旁部首

其中最特别的是获取汉字的偏旁部首,类似英文的词干提取?由于汉字的特殊构造,导致具有相同部首的汉字可能存在某些关联,所以在机器学习中可能会有一定的价值。

 

直接上代码:

 

import xmnlp
 
print(xmnlp.radical('自然语言处理'))
print(xmnlp.radical('自然语言处理'))

 

输出内容为:

 

['自', '灬', '讠', '言', '夂', '王']
['自', '灬', '讠', '言', '夂', '王']

 

从结果可以看到,其默认将繁体中文转化为简体中文后进行的偏旁部首提取。更好的方案可能是将简体中文转化为繁体后再进行提取(原因是汉字的简化导致一部分包含语义的偏旁被简化掉了)

 

看了下他的代码,其主要实现方式是通过字典来实现,来看一下其字典的数据:

 

import pickle
import bz2
 
fname = r"D:\CodeHub\NLP\venv\Lib\site-packages\xmnlp\radical\radical.pickle"
f = bz2.BZ2File(fname, 'rb')
d = pickle.loads(f.read())
for k, v in d['dictionary'].items():
print(k, v)

 

输出数据示例:

 

耀 羽
蕲 艹
涉 氵
谈 讠
伊 亻
预 页

 

另外也找到了两个中文偏旁部首的项目:

https://github.com/WenDesi/Chinese_radical

https://github.com/wangchuan2008888/cn-radical

看了下字典基本上都一致(来自精简版的新华字典),其中一个针对本地没有的汉字额外请求了 百度汉语
,进行了抓取。

 

参考链接: https://github.com/SeanLee97/xmnlp

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注