玛雅机器人2019年开门红|开源中文NLP底层硬核技术

新年开工,玛雅机器人就迎来了开门红,研发团队通过不懈的努力探索,一个高性能、模块化、可扩展的中文NLP工具包MyNLP面世了。

实现包括中文分词、词性标注、新词发现、拼音转换、文本分类、简繁体转换、感知机通用接口,文本摘要等自然语言处理功能,大幅度提升这一领域的工作效率!

MyNLP的优势:功能强大的同时,性能也必须杠杠的,你懂的:

  • 高性能:与其他分词器对比,逻辑包含了对数字、英文、中文数字、量词、email、日期等固定模式的处理, mynlp在固定模式规则上特有的处理方式给性能提供了绝对的保证。

  • 架构灵活、API柔性

  • 代码简单易读

  • 方便扩展插件

  • 分词逻辑可控制

  • 提供优质的开箱即用预训练词典、模型

  • 无痛使用:无配置文件、自动下载资源文件

玛雅机器人为什么要做NLP底层技术开源,自己造轮子?

为了推动人工智能中文文本处理的技术发展,为了玛雅机器人迈向更伟大的事业,哈哈,投资人肯定很喜欢听到这些,其实真实原因,要从我们多年从事AI文本处理领域的痛点说起:

那是因为早期项目中使用ansj和Hanlp来实现分词相关功能,在项目实际中有很多定制化和高性能的需求,不得不修改源代码才能解决问题,而且有些实际问题根本无法通过简单修改实现。另外在代码实现层面,一直希望能有类似Elasticsearch或者Spring这样开放的、解耦的系统结构,柔性的API,面向接口的设计。

当然,ansj、hanlp、FudanNLP等开源项目非常伟大,为国内依赖中文分词的项目提供无限的帮助,正是得益于这些开源项目,至少让不懂理论的工程师们在工程项目中才有工具可用,非常感谢这些大牛和组织在开源事业上无私的贡献。但是这些项目更专注的是算法、模型、数据结构上,在工程上并没有做优化设计。

而分词系统并不是一个确定性系统,总会出现bad case;在不同业务场景下有着粒度控制需求;各种环境和场景有着各种个性化的需求。MyNLP从工程的角度,从开源项目中精选了优秀的数据结构和模型,重新设计了系统架构,提供一组新的接口和柔性API来满足各种场景下需求定制。MyNLP非常注重设计解耦和代码可读性,同时也让有算法开发能力的用户在MyNLP基础架构上快速开发和评估分词算法提供基础。

玛雅机器人做NLP底层技术开源,都经历了些什么?

2017年01月正式开始MyNLP的内部工作;

2018年08月正式发布MyNLPV1.0版本,尝试开源;

2019年02月发布最新的V2.0版本,正式对外提供服务。(由于第一版本是企业自测使用,目前推向市场的是成熟的2.0版本,大家可以放心使用。)

感谢玛雅机器人研发团队的贡献,过程中的努力和付出您从一行行的代码中感受,主力研发人员曾经洪七公附体,在人名识别、实体识别等关键节点上,打通了MyNLP的诸多任督二脉,当然还有更硬核的目标需要我们一个个的实现

如果你对MyNLP感兴趣,想成MyNLP的代码贡献者,我们十分欢迎你为MyNLP开发不同的插件或算法实现。我们尽量提供完善的文档,让工程师可以快速简单地开发, MyNLP由玛雅机器人公司的技术团队主导开源和运维,有稳定的团队进行技术支持,采用Apache 2.0开源协议,对任何商业用途免费。

|玛雅机器人也提供技术咨询服务哦!

|传送门:   github地址:https://github.com/mayabot/mynlp 交流群:可以添加微信jimichan,备注mynlp。