新闻摘要

概述

由于现今网络的发展, 信息获取变的十分简单和方便。随之而来的弊端之一就是巨量的信息无法快速有效的处理以便后续使用。特别在新闻语料中,常出现大量重复、多余或者不重要信息的情况。对此,较直观的一种解决办法是对新闻做摘要,减少信息长度,即新闻摘要。

总的来说,新闻摘要是指,在给定的字数限制范围内,摘取单篇或多篇新闻原文中的句子,来代表该篇或多篇新闻的大意和中心思想。在做摘要的监督性和非监督性机器学习方法中,前者往往会产生重复语句的摘要。因此很多衍生出的监督性模型会通过增加句间关系来解决该问题,但也同时增加了复杂度。非监督性方法中,最广泛应用的是MMR(Maximal Marginal Relevance)和基于图(Graph)的Text Rank模型,前者在多样性上优于后者。

BosonNLP的单篇新闻摘要系统是基于MMR模型自主实现的,在同时考量信息的相关性和多样性的情况下,保证了摘要结果的准确性和完整性, 其复杂度相对较低。可涉及的新闻内容是开放的。

新闻摘要还可作为其他扩展应用的基础,因此开放API接口提供给其他开发者使用。现有的摘要系统提供4个输入选项:

  • 新闻标题
  • 新闻正文
  • 字数限制
  • 是否为严格字数限制

调用说明

API连接
http://api.bosonnlp.com/summary/analysis

参数

参数名字 类型 说明

字数限制

(percentage)

float or int

0.3(default)

p <= 1,则认为是摘要字数与原文总字数的百分比;

p > 1, 则认为是最终摘要的具体字数

是否为严格字数限制

(not_exceed)

boolean
0(default)
1
是否开启严格字数限制开关
不开启,摘要字数大于等于字数限制以确保句子完整
开启,摘要字数小于等于字数限制

数据

数据 类型 说明
新闻标题(title) unicode 新闻主标题, 可不填写(即为空)
新闻正文(content) unicode 新闻正文, 不包括新闻主标题
HTTP Method
POST
HTTP 请求 Body
JSON格式的需要做摘要的单篇文本。

Note

单篇新闻字数不能超过1万字。

HTTP 返回 Body
JSON格式的摘要结果格式是一行一句的字符串。

Python调用示例

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


SUMMARY_URL = 'http://api.bosonnlp.com/summary/analysis'
# 注意:在测试时请更换为您的API Token
headers = {'X-Token': 'YOUR_API_TOKEN'}

source = {
    'not_exceed': 0,
    'percentage': 0.2,
    'title': '',
    'content': (
        '腾讯科技讯(刘亚澜)10月22日消息,'
        '前优酷土豆技术副总裁黄冬已于日前正式加盟芒果TV,出任CTO一职。'
        '资料显示,黄冬历任土豆网技术副总裁、优酷土豆集团产品技术副总裁等职务,'
        '曾主持设计、运营过优酷土豆多个大型高容量产品和系统。'
        '此番加入芒果TV或与芒果TV计划自主研发智能硬件OS有关。'
        '今年3月,芒果TV对外公布其全平台日均独立用户突破3000万,日均VV突破1亿,'
        '但挥之不去的是业内对其技术能力能否匹配发展速度的质疑,'
        '亟须招揽技术人才提升整体技术能力。'
        '芒果TV是国内互联网电视七大牌照方之一,之前采取的是“封闭模式”与硬件厂商预装合作,'
        '而现在是“开放下载”+“厂商预装”。'
        '黄冬在加盟土豆网之前曾是国内FreeBSD(开源OS)社区发起者之一,'
        '是研究并使用开源OS的技术专家,离开优酷土豆集团后其加盟果壳电子,'
        '涉足智能硬件行业,将开源OS与硬件结合,创办魔豆智能路由器。'
        '未来黄冬可能会整合其在开源OS、智能硬件上的经验,结合芒果的牌照及资源优势,'
        '在智能硬件或OS领域发力。'
        '公开信息显示,芒果TV在今年6月对外宣布完成A轮5亿人民币融资,估值70亿。'
        '据芒果TV控股方芒果传媒的消息人士透露,芒果TV即将启动B轮融资。')
}

resp = requests.post(
    SUMMARY_URL,
    headers=headers,
    data=json.dumps(source).encode('utf-8'))
resp.raise_for_status()


print(resp.text)

运行

$ python summary_api_example.py
腾讯科技讯(刘亚澜)10月22日消息,前优酷土豆技术副总裁黄冬已于日前正式加盟芒果TV,出任CTO一职。
未来黄冬可能会整合其在开源OS、智能硬件上的经验,结合芒果的牌照及资源优势,在智能硬件或OS领域发力。
据芒果TV控股方芒果传媒的消息人士透露,芒果TV即将启动B轮融资。

Python SDK 调用示例

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

# 注意:在测试时请更换为您的API Token
nlp = BosonNLP('YOUR_API_TOKEN')


content = (
    '腾讯科技讯(刘亚澜)10月22日消息,'
    '前优酷土豆技术副总裁黄冬已于日前正式加盟芒果TV,出任CTO一职。'
    '资料显示,黄冬历任土豆网技术副总裁、优酷土豆集团产品技术副总裁等职务,'
    '曾主持设计、运营过优酷土豆多个大型高容量产品和系统。'
    '此番加入芒果TV或与芒果TV计划自主研发智能硬件OS有关。'
    '今年3月,芒果TV对外公布其全平台日均独立用户突破3000万,日均VV突破1亿,'
    '但挥之不去的是业内对其技术能力能否匹配发展速度的质疑,'
    '亟须招揽技术人才提升整体技术能力。'
    '芒果TV是国内互联网电视七大牌照方之一,之前采取的是“封闭模式”与硬件厂商预装合作,'
    '而现在是“开放下载”+“厂商预装”。'
    '黄冬在加盟土豆网之前曾是国内FreeBSD(开源OS)社区发起者之一,'
    '是研究并使用开源OS的技术专家,离开优酷土豆集团后其加盟果壳电子,'
    '涉足智能硬件行业,将开源OS与硬件结合,创办魔豆智能路由器。'
    '未来黄冬可能会整合其在开源OS、智能硬件上的经验,结合芒果的牌照及资源优势,'
    '在智能硬件或OS领域发力。'
    '公开信息显示,芒果TV在今年6月对外宣布完成A轮5亿人民币融资,估值70亿。'
)

result = nlp.summary('', content)

# 完整的参数调用如下:
# result = nlp.summary(title, content, word_limit=0.3, not_exceed=0)
# 修改标题为该文章标题,如下:
# title = '前优酷土豆技术副总裁黄冬加盟芒果TV任CTO'
# result = nlp.summary(title, content, word_limit=0.3, not_exceed=0)
# 修改word_limit选项为百分之二十,如下:
# result = nlp.summary(title, content, word_limit=0.2, not_exceed=0)
# 修改word_limit选项为具体字数200时,如下:
# result = nlp.summary(title, content, word_limit=200, not_exceed=0)
# 修改no_exceed选项为严格不超出字数限制时,如下:
# result = nlp.summary(title, content, word_limit=0.3, not_exceed=1)

print(result)