【转载】今天上午浏览了一篇文章,觉得很好,趁热膜拜一下。
一、简介
Macropodus自然语言处理工具(Albert+BiLSTM+CRF) 中文分词 命名实体识别 新词发现 关键词 文本摘要 计算器 中文数字阿拉伯数字转换。
Macropodus是一个以Albert+BiLSTM+CRF网络结构为基础,用大规模中文语料训练的自然语言处理工具包。将提供中文分词、命名实体识别、关键词抽取、文本摘要、新词发现、文本相似度、计算器、数字转化等常见NLP功能。

    github地址: https://github.com/yongzhuo/Macropodus

二、 安装

    1. 通过PyPI安装(自带模型文件):
 pip install macropodus
    2. 使用镜像源,例如:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple macropodus

三、 使用方式

    1. 快速使用:
import macropodussen_calculate = "23 + 13 * (25+(-9-2-5-2*3-6/3-40*4/(2-3)/5+6*3))加根号144你算得几多"
sen_chi2num = "三千零七十八亿三千零十五万零三百一十二点一九九四"
sen_num2chi = 1994.1994
sent1 = "PageRank算法简介"
sent2 = "百度百科如是介绍他的思想:PageRank通过网络浩瀚的超链接关系来确定一个页面的等级。"
summary = "PageRank算法简介。" \"是上世纪90年代末提出的一种计算网页权重的算法! " \"当时,互联网技术突飞猛进,各种网页网站爆炸式增长。 " \"业界急需一种相对比较准确的网页重要性计算方法。 " \"是人们能够从海量互联网世界中找出自己需要的信息。 " \"百度百科如是介绍他的思想:PageRank通过网络浩瀚的超链接关系来确定一个页面的等级。 " \"Google把从A页面到B页面的链接解释为A页面给B页面投票。 " \"Google根据投票来源甚至来源的来源,即链接到A页面的页面。 " \"和投票目标的等级来决定新的等级。简单的说, " \"一个高等级的页面可以使其他低等级页面的等级提升。 " \"具体说来就是,PageRank有两个基本思想,也可以说是假设。 " \"即数量假设:一个网页被越多的其他页面链接,就越重)。 " \"质量假设:一个网页越是被高质量的网页链接,就越重要。 " \"总的来说就是一句话,从全局角度考虑,获取重要的信。 "
# 分词(词典最大概率分词DAG)
words = macropodus.cut(summary)
print(words)
# 新词发现
new_words = macropodus.find(summary)
print(new_words)
# 文本摘要
sum = macropodus.summarize(summary)
print(sum)
# 关键词抽取
keyword = macropodus.keyword(summary)
print(keyword)
# 文本相似度
sim = macropodus.sim(sent1, sent2)
print(sim)
# tookit
# 计算器
score_calcul = macropodus.calculate(sen_calculate)
print(score_calcul)
# 中文数字与阿拉伯数字相互转化
res_chi2num = macropodus.chi2num(sen_chi2num)
print(res_chi2num)
res_num2chi = macropodus.num2chi(sen_num2chi)
print(res_num2chi)
  1. 中文分词:
 import macropodus# 用户词典
macropodus.add_word(word="斗鱼科")
macropodus.add_word(word="鲈形目") # 不持久化, 当前有效
macropodus.save_add_words(word_freqs={"喜斗":32, "护卵":64, "护幼":132}) # 持久化保存到用户字典
sent = "斗鱼属,Macropodus (1801),鲈形目斗鱼科的一属鱼类。本属鱼类通称斗鱼。因喜斗而得名。分布于亚洲东南部。中国有2种,即叉尾斗鱼,分布于长江及以南各省;叉尾斗鱼,分布于辽河到珠江流域。其喜栖居于小溪、河沟、池塘、稻田等缓流或静水中。雄鱼好斗,产卵期集草成巢,雄鱼口吐粘液泡沫,雌鱼产卵其中,卵浮性,受精卵在泡沫内孵化。雄鱼尚有护卵和护幼现象。"# 分词
sents = macropodus.cut_bidirectional(sent)
print("cut_bidirectional: " + " ".join(sents))
sents = macropodus.cut_forward(sent)
print("cut_forward: " + " ".join(sents))
sents = macropodus.cut_reverse(sent)
print("cut_reverse: " + " ".join(sents))
sents = macropodus.cut_search(sent)
print("cut_search: " + " ".join(sents))
# DAG
sents = macropodus.cut_dag(sent)
print("cut_dag: " + " ".join(sents))
3. 文本相似度:
    import macropodussent1="叉尾斗鱼是一种观赏性动物"
sent2="中国斗鱼生性好斗,适应性强,能在恶劣的环境中生存"# 文本相似度(similarity)
sents = macropodus.sim(sent1, sent2, type_sim="total", type_encode="avg")
print(sents)
sents = macropodus.sim(sent1, sent2, type_sim="cosine", type_encode="single")
print(sents)
  1. 文本摘要:
import macropodussummary = "PageRank算法简介。" \"是上世纪90年代末提出的一种计算网页权重的算法! " \"当时,互联网技术突飞猛进,各种网页网站爆炸式增长。 " \"业界急需一种相对比较准确的网页重要性计算方法。 " \"是人们能够从海量互联网世界中找出自己需要的信息。 " \"百度百科如是介绍他的思想:PageRank通过网络浩瀚的超链接关系来确定一个页面的等级。 " \"Google把从A页面到B页面的链接解释为A页面给B页面投票。 " \"Google根据投票来源甚至来源的来源,即链接到A页面的页面。 " \"和投票目标的等级来决定新的等级。简单的说, " \"一个高等级的页面可以使其他低等级页面的等级提升。 " \"具体说来就是,PageRank有两个基本思想,也可以说是假设。 " \"即数量假设:一个网页被越多的其他页面链接,就越重)。 " \"质量假设:一个网页越是被高质量的网页链接,就越重要。 " \"总的来说就是一句话,从全局角度考虑,获取重要的信。 "# 文本摘要(summarize, 默认接口)
sents = macropodus.summarize(summary)
print(sents)# 文本摘要(summarization, 可定义方法, 提供9种文本摘要方法, 'lda', 'mmr', 'textrank', 'text_teaser')
sents = macropodus.summarization(text=summary, type_summarize="lda")
print(sents)
  1. 新词发现:
import macropodussummary = "PageRank算法简介。" \"是上世纪90年代末提出的一种计算网页权重的算法! " \"当时,互联网技术突飞猛进,各种网页网站爆炸式增长。 " \"业界急需一种相对比较准确的网页重要性计算方法。 " \"是人们能够从海量互联网世界中找出自己需要的信息。 " \"百度百科如是介绍他的思想:PageRank通过网络浩瀚的超链接关系来确定一个页面的等级。 " \"Google把从A页面到B页面的链接解释为A页面给B页面投票。 " \"Google根据投票来源甚至来源的来源,即链接到A页面的页面。 " \"和投票目标的等级来决定新的等级。简单的说, " \"一个高等级的页面可以使其他低等级页面的等级提升。 " \"具体说来就是,PageRank有两个基本思想,也可以说是假设。 " \"即数量假设:一个网页被越多的其他页面链接,就越重)。 " \"质量假设:一个网页越是被高质量的网页链接,就越重要。 " \"总的来说就是一句话,从全局角度考虑,获取重要的信。 "# 新词发现(findword, 默认接口)
sents = macropodus.find(text=summary, freq_min=2, len_max=7, entropy_min=1.2, aggregation_min=0.5, use_avg=True)
print(sents)
  1. 关键词:
import macropodussent = "斗鱼属,Macropodus (1801),鲈形目斗鱼科的一属鱼类。本属鱼类通称斗鱼。因喜斗而得名。分布于亚洲东南部。中国有2种,即叉尾斗鱼,分布于长江及以南各省;叉尾斗鱼,分布于辽河到珠江流域。其喜栖居于小溪、河沟、池塘、稻田等缓流或静水中。雄鱼好斗,产卵期集草成巢,雄鱼口吐粘液泡沫,雌鱼产卵其中,卵浮性,受精卵在泡沫内孵化。雄鱼尚有护卵和护幼现象。"
# 关键词(keyword)
sents = macropodus.keyword(sent)
print(sents)

[转载]Macropodus自然语言处理(NLP)工具包(Albert+BiLSTM+CRF)相关推荐

  1. Macropodus自然语言处理(NLP)工具包(Albert+BiLSTM+CRF)

    一.简介 Macropodus自然语言处理工具(Albert+BiLSTM+CRF) 中文分词 命名实体识别 新词发现 关键词 文本摘要 计算器 中文数字阿拉伯数字转换. Macropodus是一个以 ...

  2. NLP工具包(Albert+BiLSTM+CRF)

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 一.简介 Macropodus自然语言处理工具(Albert+BiLSTM+CRF) 中文分词 ...

  3. NLP(二十五)实现ALBERT+Bi-LSTM+CRF模型

      在文章NLP(二十四)利用ALBERT实现命名实体识别中,笔者介绍了ALBERT+Bi-LSTM模型在命名实体识别方面的应用.   在本文中,笔者将介绍如何实现ALBERT+Bi-LSTM+CRF ...

  4. 信息抽取实战:命名实体识别NER【ALBERT+Bi-LSTM模型 vs. ALBERT+Bi-LSTM+CRF模型】(附代码)

    实战:命名实体识别NER 目录 实战:命名实体识别NER 一.命名实体识别(NER) 二.BERT的应用 NLP基本任务 查找相似词语 提取文本中的实体 问答中的实体对齐 三.ALBERT ALBER ...

  5. Macadam自然语言处理(NLP)工具包(TextClassification, SequenceLabeling, RelationExtraction)

    Macadam Macadam是一个以Tensorflow(Keras)和bert4keras为基础,专注于文本分类.序列标注和关系抽取的自然语言处理工具包.支持RANDOM.WORD2VEC.FAS ...

  6. java自然语言处理包_Java自然语言处理NLP工具包

    自然语言处理 1. Java自然语言处理 LingPipe LingPipe是一个自然语言处理的Java开源工具包.LingPipe目前已有很丰富的功能,包括主题分类(Top Classificati ...

  7. 自然语言处理(NLP)-第三方库(工具包):Annoy 【向量最邻近检索工具】

    自然语言处理(NLP)-第三方库(工具包):Annoy [向量最邻近检索工具] 参考资料: 推荐系统的向量检索工具: Annoy & Faiss

  8. 自然语言处理NLP面试问题

    自然语言处理NLP面试问题 前言 一.机器学习相关模型 1.朴素贝叶斯 1-1.相关概念介绍 1-2.贝叶斯定理 1-3.贝叶斯算法的优缺点 1-4.拓展延伸 1-4-1.MLE(最大似然) 1-4- ...

  9. 【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理

    干货!详述Python NLTK下如何使用stanford NLP工具包 作者:白宁超 2016年11月6日19:28:43 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的 ...

最新文章

  1. juddi MySQL_JUDDI v3部署并连接MySQL数据库
  2. MPAndroidChart——饼图
  3. laravel框架应用和composer扩展包开发
  4. php中files和FILRS,php获取文件内容最后一行示例
  5. Spring Boot学习笔记:Spring Boot核心配置
  6. BOM配置与产品构造器
  7. 斯坦福大学深度学习公开课cs231n学习笔记(7)神经网络防止数据过拟合:损失函数和正则化
  8. 如何查看SQL的执行计划
  9. 北京理工大学计算机学院ppt,北京理工大学计算机学院2015级4班德育开题展示报告.ppt...
  10. java元组_Java中元组的使用
  11. 2年前端 杭州 面试 集合 面经 前端
  12. Java基础(二)public、private、protected修饰的方法
  13. 试用期、见习期、实习期、合同期、服务期的区别与应用
  14. Mac虚拟机VMware Fusion如何强制关机虚拟系统
  15. 读《春秋》有感之八:荀罃设计车轮战
  16. <<和>>运算符的用法
  17. win10与内置ubuntu之间复制粘贴操作
  18. 南卡NANK Runner CC3 耳机评测:骨传导耳机入门级别最强款
  19. 苦瓜红烧肉这么做,每次做连汤汁都不剩
  20. 程序员职场起点6要素 前辈们那些经历告诉你

热门文章

  1. [HECTF] 捉迷藏
  2. Serenade spring(神秘园经典回放)铃声 Serenade spring(神...
  3. 二进制安装kubernetes(v1.20.16)
  4. vscode 插件 Live Server打不开浏览器的解决办法
  5. 识别率号称秒杀生物识别,创新沙盒冠军 Unify ID 是何方神圣?| RSA 2017 专题
  6. 目录-------------问鼎——55个成就世界领先地位的华人企业(企业家)发展范例----------
  7. “数万行代码“教你用html和css编写一个精美的网页
  8. mybatis 存储blob数据
  9. leetcode5465
  10. 时间轮timewheel算法