xmnlp — 轻量级中文自然语言处理工具

xmnlp — 轻量级中文自然语言处理工具_第1张图片

python下NLP工具有很多 jieba, nltk, ltp 等, 虽然他们很强大,但是提供的功能比较分散,而且通常模型比较大。为了方便平时的处理工作,我尝试找了一些集成工具包,发现snownlp还可以,它的分词是基于TnT的,总得来说分词效果逊色于基于词典的分词(比如jieba)。所以决定自己写一个包xmnlp,主打轻量快捷。

功能

  1. 中文分词 & 词性标注: 基于词典构建DAG图,然后采用动态规划的思想求得最大概率路径(jieba分词采用了反向输出,我采用了正向加权反向输出的方式,使得正反向共同影响分词效果),对于未登录词采用HMM+Viterbi处理

  2. 文本纠错:采用了bi-gram + levenshtein实现

  3. 文本摘要 & 关键词提取:textrank

  4. 情感分析:naive bayes

  5. 文本转拼音:Trie 树检索

以下展示xmnlp的功能效果,不同模块的原理之后的文章会补上。

分词&词性标注

[ In ] 

自然语言处理: 是人工智能和语言学领域的分支学科。

在这此领域中探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。 

自然语言生成系统把计算机数据转化为自然语言。

自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

[ 分词 ]

自然语言处理 / : / 是 / 人工智能 / 和 / 语言学 / 领域 / 的 / 分支 / 学科 / 。 / 在 / 这此 / 领域 / 中 / 探讨 / 如何 / 处理 / 及 / 运用 / 自然 / 语言 / ; / 自然 / 语言 / 认知 / 则 / 是 / 指让 / 电脑 / “ / 懂 / ” / 人类 / 的 / 语言 / 。 / 自然 / 语言 / 生成 / 系统 / 把 / 计算机 / 数据 / 转化 / 为 / 自然 / 语言 / 。 / 自然 / 语言 / 理解 / 系统 / 把 / 自然 / 语言 / 转化 / 为 / 计算机程序 / 更 / 易于 / 处理 / 的 / 形式 / 。

[ 标注 ]

自然语言处理 un / : un / 是 v / 人工智能 nw / 和 c / 语言学 n / 领域 n / 的 uj / 分支 n / 学科 n / 。 un / 在 p / 这此 un / 领域 n / 中 f / 探讨 v / 如何 r / 处理 v / 及 c / 运用 vn / 自然 d / 语言 n / ; un / 自然 d / 语言 n / 认知 v / 则 d / 是 v / 指让 un / 电脑 n / “ un / 懂 v / ” un / 人类 n / 的 uj / 语言 n / 。 un / 自然 d / 语言 n / 生成 v / 系统 n / 把 p / 计算机 n / 数据 n / 转化 v / 为 p / 自然 d / 语言 n / 。 un / 自然 d / 语言 n / 理解 v / 系统 n / 把 p / 自然 d / 语言 n / 转化 v / 为 p / 计算机程序 n / 更 d / 易于 v / 处理 v / 的 uj / 形式 n / 。 un


文本纠错

[ In ]

这理风景绣丽,而且天汽不错,我的心情各外舒畅!

[ Out ]

这里风景秀丽,而且天气不错,我的心情格外舒畅!


文本摘要&关键词

[ In ]

自然语言处理: 是人工智能和语言学领域的分支学科。

在这此领域中探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。 

自然语言生成系统把计算机数据转化为自然语言。

自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

 [ 关键词 ]

('自然语言', 2.2069266136741321), 

('处理', 1.5572478858429686), 

('是', 1.4182222157079281), 

('系统', 1.2431338210535401), 

('转化', 1.1532093387566391)

[ 摘要 ]

自然语言理解系统把自然语言转化为计算机程序更易于处理的形式


情感分析

[ In ]

这件衣服的质量也太差了吧!一穿就烂!

[ Out ]

0.009959694621645698


文本转拼音

[ In ]

面朝大海,春暖花开

[ Out ]

['mian', 'zhao', 'da', 'hai', ',', 'chun', 'nuan', 'hua', 'kai']


前往 - > 项目github地址

你可能感兴趣的:(自然语言处理)