写点什么

Serverless 实践系列(一):如何通过 SCF 与自然语言处理为网站赋能

  • 2019-08-16
  • 本文字数:1628 字

    阅读完需:约 5 分钟

Serverless实践系列(一):如何通过SCF与自然语言处理为网站赋能

自然语言的内容有很多,本文所介绍的自然语言处理部分是“文本摘要”和“关键词提取”。在做博客的时候,经常会发一些文章,这些文章发出去了,有的很容易被搜索引擎检索,有的则很难,那么有没有什么方法,让博客对搜索引擎友好一些呢?


一个比较好的方法就是填写网页的 Description 还有 Keywords。但是每次都需要我们自己去填写,比较繁琐,本文将会分享一种方法:通过 Python 的 jieba 和 snownlp 实现关键词和文本摘要的自动提取。

准备资源

下载以下资源:


https://github.com/fxsjy/jieba


https://github.com/isnowfy/snownlp


下载之后,新建文件夹,将这些文件中对应的文件拷贝:



拷贝之后,建立文件index.py


# -*- coding: utf8 -*-import jsonimport jieba.analysefrom snownlp import SnowNLP
def FromSnowNlp(text, summary_num): s = SnowNLP(text) return s.summary(summary_num)
def FromJieba(text, keywords_type, keywords_num): if keywords_type == "tfidf": return jieba.analyse.extract_tags(text, topK=keywords_num) elif keywords_type == "textrank": return jieba.analyse.textrank(text, topK=keywords_num) else: return None
def main_handler(event, context): text = event["text"] summary_num = event["summary_num"] keywords_num = event["keywords_num"] keywords_type = event["keywords_type"]
return {"keywords": FromJieba(text, keywords_type, keywords_num), "summary": FromSnowNlp(text, summary_num)}
复制代码

上传文件

在 SCF 网页上面建立一个项目:




提交方法选择上传 zip,然后压缩文件,并改名为 index.zip:


测试

测试之前可以适当调整一下配置:



然后进行 input 模板的输入:



模板可以是:


{  "text": "前来参观的人群络绎不绝。在“两弹历程馆”里,讲解员龚照怡正在给参观的学生介绍:“这是我国第一颗核航弹的模型,长3米、直径1.5米左右,后面就是它爆炸时产生的蘑菇云。”学生们一边听一边认真记录。记者看到,馆内利用声、光、电等手段,通过实物、模型、影像资料和场景复原,展现“两弹”研制工作的艰辛历程。“算盘、计算尺这些文物都是激励后人艰苦奋斗的好教材。我们让文物‘回家’,让观众看到当年科研人员住什么样的房子,用什么样的用具,了解在那么艰苦的环境下,他们是怎样研制‘两弹’的,怎么样让中国挺起了民族的脊梁。”四川省梓潼两弹城红色旅游开发有限公司副总经理贾鲁蓉告诉记者,作为爱国主义教育基地,这里目前存有2万多份图片资料、500多万字文字资料、3000余件实物。在“两弹历程馆”的不远处是“将军楼”。1983年5月20日,时任国防部部长张爱萍将军来到长卿山视察中物院,看到科学家们在大山沟里艰苦卓绝地工作,即兴赋诗一首:“二十二年难忘情,崎岖道路信踏平。屡建奇功震寰宇,更创奇迹惊鬼神。”",  "summary_num": 5,  "keywords_num": 5,  "keywords_type": "tfidf"}
复制代码


然后点击测试:


应用

至此,我们完成了简单的关键词提取功能和简单的抽取式文本摘要过程。当然,这部分依旧是一个简单的抛砖引玉,因为摘要这里还要声称是文本摘要,而且抽取式摘要也可能会根据不同的文章类型,有着不同的特色方法,所以这里只是通过一个简单的 Demo 来实现一个小功能,帮助大家做一个简单的 SEO 优化,大家可以在做博客的时候,增加 keywords 或者 description 字段,然后每次从 sql 获得文章数据的时候,将这两个部分放到 meta 中,会大大提高页面被索引的概率。


作者介绍:


刘宇,腾讯云 Serverless 团队后台研发工程师。毕业于浙江大学,先后参与腾讯云云函数产品研发、自动扩缩容、CLI 等模块建设以及社区相关工作。本文转载自微信公众号 ServerlessCloudNative(ID:ServerlessGo)


相关文章:


《Serverless 实践系列(二):为 Python 云函数打包依赖》


《Serverless 实践系列(三):突破传统 OJ 瓶颈,“判题姬”接入云函数》


《Serverless 实践系列(四):网站监控脚本的实现》


2019-08-16 15:3414253

评论

发布
暂无评论
发现更多内容

研运至简,创新无限!嘉为品牌VI全新升级

嘉为蓝鲸

自动化运维 嘉为蓝鲸 品牌升级

AI将产生创富的第5次浪潮

felix

机器学习 模型开发

机器学习的4种经典模型总结

九章云极DataCanvas

机器学习 机器学习模型

高性能且小巧的脚本语言 LuaJIT

ooooooh灰灰

lua 后端 JIT 网关

软件测试 | 简历中应该如何描述才能体现出软技能的实力 ?

霍格沃兹测试开发学社

IOS技术分享| IOS快对讲调度场景实现

anyRTC开发者

音视频 呼叫邀请 快对讲 语音对讲 视频对讲

转转测试环境治理高效能实践

转转技术团队

架构 测试 后端 灰度发布 全链路灰度

NFTScan 与 MintKit 达成战略合作伙伴,由 NFTScan 为其提供 NFT API 数据服务

NFT Research

NFT 数据基础设施

时序数据库 TDengine 携手北京科技大学设计研究院,助力冶金工业智慧化

TDengine

数据库 tdengine 时序数据库

深度分析React源码中的合成事件

flyzz177

React

灵活高效又美丽,谈谈我们的产品体验升级思路

嘉为蓝鲸

自动化运维 嘉为蓝鲸 IT服务管理中心

RocketMQ Compaction Topic的设计与实现

Apache RocketMQ

RocketMQ 消息队列

从react源码看hooks的原理

flyzz177

React

react的useState源码分析

flyzz177

React

从“少林寺”毕业后,我当上了开源社区“区长”

Alluxio

采访 开源社区 分布式, Alluxio 大数据 开源

小游戏引擎选型注意事项

FinFish

游戏 小游戏 小游戏引擎

机器学习10大经典算法详解

九章云极DataCanvas

机器学习

隐私计算技术开源的整体现状

京东科技开发者

开源 经验分享 隐私计算 隐私安全

再快一点?Web 3动态内容如何加速?

Java全栈架构师

程序员 程序人生 Web 后端 架构师

DevEco Studio新特性分享-跨语言调试,让调试更便捷高效

HarmonyOS开发者

HarmonyOS

Jupyter Notebook入门指南

京东科技开发者

前端 服务端 Server 多编程语言 企业号 1 月 PK 榜

深入React源码揭开渲染更新流程的面纱

flyzz177

React

语音社交App系统源码中语音厅App搭建之开宝箱游戏机制说明以及技术文档

山东布谷科技胡月

语音直播源码 语音社交软件 语音直播app 语音厅平台搭建 语音聊天APP源码

react源码分析:组件的创建和更新

flyzz177

React

英特尔携手钉钉推动智能协作创新,引领数字时代新未来

科技之家

一文读懂机器学习常用算法的基本概念和适用场景

九章云极DataCanvas

机器学习 机器学习算法

融云获 2022 中国技术先锋年度评选「中国技术品牌影响力企业」奖

融云 RongCloud

极盾科技CEO丁杨:让数据安全回归场景、业务和价值

极盾科技

数据安全

中台KPI怎么设计?

博文视点Broadview

如何把照片变成“漫画脸”?一招教会你一键生成氛围感动漫头像

互联网民工阿强

图片 图片处理 动漫 漫画头像 ACGAN-动漫头像

手写一个react,看透react运行机制

flyzz177

React

Serverless实践系列(一):如何通过SCF与自然语言处理为网站赋能_语言 & 开发_刘宇_InfoQ精选文章