1.0.8 • Published 7 years ago

node-hanlp v1.0.8

Weekly downloads
1
License
ISC
Repository
-
Last release
7 years ago

title: 自然语言处理API服务

Docker Pulls Docker Stars Docker Layers npm.io

  • 支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),命名实体识别(中国人名、音译人名、日本人名、地名、实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析(MaxEnt依存句法分析、CRF依存句法分析)

  • Powered by HanLP

About me

Hain Wang, Software Developer, Thinker and Doer.

TL; DR

1) 下载 Postman

2) 下载 hanlp-api.postman_collection文件

3) 打开 Postman 应用程序 导入 hanlp-api.postman_collection

tokenizer 中文分词

POST /tokenizer HTTP/1.1
Host: nlp.chatbot.io
Content-Type: application/json
BODY:
{
	"type": "nlp",
	"content": "刘德华和张学友创作了很多流行歌曲"
}

RESPONSE:
{
  "status": "success",
  "data": [
    {
      "word": "刘德华",
      "nature": "nr",
      "offset": 0
    },
    {
      "word": "和",
      "nature": "cc",
      "offset": 0
    },
    {
      "word": "张学友",
      "nature": "nr",
      "offset": 0
    },
    {
      "word": "创作",
      "nature": "v",
      "offset": 0
    },
    {
      "word": "了",
      "nature": "ule",
      "offset": 0
    },
    {
      "word": "很多",
      "nature": "m",
      "offset": 0
    },
    {
      "word": "流行歌曲",
      "nature": "n",
      "offset": 0
    }
  ]
}
typedescription
nlpNLP分词,NLP分词NLPTokenizer会执行全部命名实体识别和词性标注。
crfCRF分词,CRF对新词有很好的识别能力,但是无法利用自定义词典。
nostopword去除停用词分词
index索引分词,索引分词IndexTokenizer是面向搜索引擎的分词器,能够对长词全切分,另外通过term.offset可以获取单词在文本中的偏移量。
short最短路分词,N最短路分词器NShortSegment比最短路分词器慢,但是效果稍微好一些,对命名实体识别能力更强。一般场景下最短路分词的精度已经足够,而且速度比N最短路分词器快几倍,请酌情选择。
nshortN-最短路分词
speed极速词典分词,极速分词是词典最长分词,速度极其快,精度一般。
standard标准分词
  • 返回值
keydescription
nature词性,词性标记规范
offset单词在文本中的偏移量

keyword 关键词提取

内部采用TextRankKeyword实现,用户可以直接调用,算法详解 《TextRank算法提取关键词的Java实现》

POST /keyword HTTP/1.1
Host: nlp.chatbot.io
Content-Type: application/json
BODY:
{
	"num": 2,
	"content": "刘德华和张学友创作了很多流行歌曲"
}

RESPONSE:
{
  "status": "success",
  "data": [
    "创作",
    "张学友",
    "流行歌曲"
  ]
}

summary 自动摘要

内部采用TextRankSentence实现,用户可以直接调用,算法详解 《TextRank算法自动摘要的Java实现》

POST /summary HTTP/1.1
Host: nlp.chatbot.io
Content-Type: application/json
BODY:
{
	"num": 2,
	"content": "华尔街向来都是资本主义至上。但理查德·克雷布认为,华尔街还可以是一个友好合作的地方。他在旧金山创立的对冲基金Numerai依靠人工智能算法来处理所有的交易。但这位现年29岁的南非数学家并不是依靠一己之力开发出这些算法的。相反,他的基金从成千上万名匿名数据科学家那里众包这些算法,那些科学家通过打造最成功的交易模型来争夺比特币奖励。而那还不是最奇怪的部分。"
}

RESPONSE:
{
  "status": "success",
  "data": [
    "他在旧金山创立的对冲基金Numerai依靠人工智能算法来处理所有的交易",
    "华尔街还可以是一个友好合作的地方",
    "他的基金从成千上万名匿名数据科学家那里众包这些算法"
  ]
}

同时获取关键词、摘要

POST /query HTTP/1.1
Host: nlp.chatbot.io
Content-Type: application/json
BODY:
{
	"num": 3,
	"content": "华尔街向来都是资本主义至上。但理查德·克雷布认为,华尔街还可以是一个友好合作的地方。他在旧金山创立的对冲基金Numerai依靠人工智能算法来处理所有的交易。但这位现年29岁的南非数学家并不是依靠一己之力开发出这些算法的。相反,他的基金从成千上万名匿名数据科学家那里众包这些算法,那些科学家通过打造最成功的交易模型来争夺比特币奖励。而那还不是最奇怪的部分。"
}

RESPONSE:
{
  "status": "success",
  "data": [
    "争夺比特币",
    "交易模型",
    "人工智能算法"
  ]
}

phrase 短语提取

内部采用MutualInformationEntropyPhraseExtractor实现,用户可以直接调用。算法详解《基于互信息和左右信息熵的短语提取识别》

POST /phrase HTTP/1.1
Host: nlp.chatbot.io
Content-Type: application/json
BODY:
{
	"num": 4,
	"content": "华尔街向来都是资本主义至上。但理查德·克雷布认为,华尔街还可以是一个友好合作的地方。他在旧金山创立的对冲基金Numerai依靠人工智能算法来处理所有的交易。但这位现年29岁的南非数学家并不是依靠一己之力开发出这些算法的。相反,他的基金从成千上万名匿名数据科学家那里众包这些算法,那些科学家通过打造最成功的交易模型来争夺比特币奖励。而那还不是最奇怪的部分。"
}

RESPONSE:
{
  "status": "success",
  "data": {
    "keyword": [
      "算法",
      "交易",
      "依靠"
    ],
    "summary": [
      "他在旧金山创立的对冲基金Numerai依靠人工智能算法来处理所有的交易",
      "华尔街还可以是一个友好合作的地方",
      "他的基金从成千上万名匿名数据科学家那里众包这些算法"
    ]
  }
}

conversion 简、繁、拼音转换

支持声母、韵母、音调、音标和输入法首字母首声母功能。也能给繁体中文注拼音。算法详解《汉字转拼音与简繁转换的Java实现》

  • 简体转繁体
POST /conversion HTTP/1.1
Host: nlp.chatbot.io
Content-Type: application/json
BODY:
{
	"type": "ft",
	"content": "我们的机器人由诗人和音乐家驱动。"
}

RESPONSE:
{
  "status": "success",
  "data": "我們的機器人由詩人和音樂家驅動。"
}
  • 繁体转简体
POST /conversion HTTP/1.1
Host: nlp.chatbot.io
Content-Type: application/json
BODY:
{
	"type": "jt",
	"content": "我們的機器人由詩人和音樂家驅動。"
}

RESPONSE:
{
  "status": "success",
  "data": "我们的机器人由诗人和音乐家驱动。"
}
  • 转拼音
POST /conversion HTTP/1.1
Host: nlp.chatbot.io
Content-Type: application/json
BODY:
{
	"type": "py",
	"content": "我们的机器人由诗人和音乐家驱动。"
}

RESPONSE:
{
  "status": "success",
  "data": [
    "wo",
    "men",
    "de",
    "ji",
    "qi",
    "ren",
    "you",
    "shi",
    "ren",
    "he",
    "yin",
    "le",
    "jia",
    "qu",
    "dong"
  ]
}

压力测试报告

国内电信网络情况,每秒115次请求条件下,平均请求响应等待时间665毫秒。

声明

本API满足学者、开发者研究和学习使用,不能满足商业大规模访问。对分词、实体标识的错误不承担任何责任。

服务器是我业务时间搭建,服务运行的成本目前由下面捐献者承担。欢迎打赏、捐助!

欢迎联系我:hain_wang#foxmail.com, "# --> @"

捐助鸣谢列表

Jia Rui Lee 桔子互动创始人,Chatbot开发者/产品经理,Wechaty Contributor。

感谢

HanLP自然语言处理包开源 感谢:

 Han Language Processing 码农场/自然语言处理	

《基于角色标注的中国人名自动识别研究》张华平 刘群

《基于层叠隐马尔可夫模型的中文命名实体识别》俞鸿魁 张华平 刘群 吕学强 施水才

《基于角色标注的中文机构名识别》俞鸿魁 张华平 刘群

《基于最大熵的依存句法分析》 辛霄 范士喜 王轩 王晓龙

An Efficient Implementation of Trie Structures, JUN-ICHI AOE AND KATSUSHI MORIMOTO

TextRank: Bringing Order into Texts, Rada Mihalcea and Paul Tarau

上海林原信息科技有限公司的刘先生,允许我利用工作时间开发HanLP,提供服务器和域名,并且促成了开源。感谢诸位用户的关注和使用,HanLP并不完善,未来还恳求各位NLP爱好者多多关照,提出宝贵意见。

HanLP自然语言处理 API服务 感谢:

beyai/node-hanlp 提供npm module。

fundon 提供服务域名。

FAQ

  1. 目前本站服务支持时间? 从2017年5.1至未来9个月没有问题,长期看捐助情况。

  2. 如何搭建自己的服务? 参考这里

  3. 想加入聊天机器人开发者社区? 联系我: hain_wang#foxmail.com, "# --> @"