关键词提取

关键词作为一个对文本常用的概括,可以被应用于关键词云计算等应用上。BosonNLP 的关键词提取引擎可以将文本自动进行关键词分析,给出每个词语相应的权重。

关键词提取引擎的调用很简单,只需要将文本上传到分析服务器,引擎会自动返回每个词语的权重。

Note

注意这些权重的平方和为 1。

URL
http://api.bosonnlp.com/keywords/analysis
HTTP Method
POST
HTTP Header
Content-Type
application/json
Accept
application/json
X-Token
YOUR_API_TOKEN (需要替换成您自己的 Token)
HTTP query string 参数
top_k
可选的参数,默认值为 100。
segmented
可选的参数,表明传入的数据已进行了分词,则引擎不会再对内容进行分词处理。
HTTP 请求 Body
JSON 格式的需要做关键词提取的文本。比如: "\u75c5\u6bd2\u5f0f\u5a92\u4f53\u7f51\u7ad9\uff1a\u8ba9\u65b0\u95fb\u8fc5\u901f\u8513\u5ef6"
HTTP 返回 Body
JSON 格式的引擎提取出的关键词相应的权重和关键词组成的列表。

CURL 调用示例

$ curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "X-Token: YOUR_API_TOKEN" \
    --data "\"\u75c5\u6bd2\u5f0f\u5a92\u4f53\u7f51\u7ad9\uff1a\u8ba9\u65b0\u95fb\u8fc5\u901f\u8513\u5ef6\"" \
    http://api.bosonnlp.com/keywords/analysis?top_k=2
[[0.4580507649282757, "\u8513\u5ef6"], [0.44467176143180404, "\u75c5\u6bd2"]]

Python 调用示例

# -*- encoding: utf-8 -*-
from __future__ import print_function, unicode_literals
import json
import requests


KEYWORDS_URL = 'http://api.bosonnlp.com/keywords/analysis'


text = '病毒式媒体网站:让新闻迅速蔓延'
params = {'top_k': 10}
data = json.dumps(text)
headers = {'X-Token': 'YOUR_API_TOKEN'}
resp = requests.post(KEYWORDS_URL, headers=headers, params=params, data=data.encode('utf-8'))


for weight, word in resp.json():
    print(weight, word)

运行

$ python keywords_api_example.py
0.458050764928 蔓延
0.444671761432 病毒
0.377757036473 迅速
0.345847781395 网站
0.341803722579 媒体
0.315811136856 式
0.305528321034 新闻
0.142237269898 让

Python SDK 调用示例

# -*- encoding: utf-8 -*-
from __future__ import print_function, unicode_literals
from bosonnlp import BosonNLP

# 注意:在测试时请更换为您的 API token
nlp = BosonNLP('YOUR_API_TOKEN')
s = '病毒式媒体网站:让新闻迅速蔓延'
result = nlp.extract_keywords(s, top_k=10)


for weight, word in result:
    print(weight, word)

详细的 Python SDK 关键词提取文档请看 这里