AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

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:3414330

评论

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

腾讯云容器安全获得云安全守卫者计划优秀案例

腾讯安全云鼎实验室

容器安全

『SphereEx 年终贺礼』专注为用户提供更好的使用体验

SphereEx

开源 ShardingSphere 一键部署 SphereEx-Boot 开源公司

性能工具之代码级性能测试工具ContiPerf

zuozewei

单元测试 性能测试 测试工具 12月日更

TDengine在水电厂畸变波形分析及故障预判系统中的应用

TDengine

数据库 大数据 tdengine 物联网 时序数据库

百度智能云产业智能化新生态,新在哪里?

百度开发者中心

人工智能

Cube 技术解读 | Cube 小程序技术详解

阿里巴巴终端技术

小程序 ios android 移动开发 客户端

使用Kubernetes部署应用

Rayzh

Kubernetes 云原生

Java中的深拷贝和浅拷贝

Ayue、

深拷贝

迷雾中的自动化测试体系建设

CODING DevOps

自动化测试 接口测试 业务驱动测试

设计消息队列存储消息数据的MySQL 表格

Steven

架构实战营

接口文档自动更改?百度程序员开发效率MAX的秘诀

百度Geek说

百度 前端 工具 后端 软件开发

腾讯云分布式数据库TDSQL在东吴证券新一代核心交易系统中成功落地

腾讯云数据库

tdsql 国产数据库

突破底层基础架构瓶颈,揭秘TDSQL存储核心技术

腾讯云数据库

tdsql 国产数据库

RocketMQ Streams:将轻量级实时计算引擎融合进消息系统

阿里巴巴中间件

阿里云 RocketMQ 云原生 中间件

Spring Cloud Alibaba 2.2.7 版本正式发布

阿里巴巴中间件

云计算 开源 微服务 中间件 spring cloud ali

爆肝30天,肝出来史上最透彻Spring原理和27道高频面试题总结

Tom弹架构

Java spring 源码

三位一体,网易智企的融合与进击

ToB行业头条

2022 年你必须知道的 Serverless 云产品

开源之巅

Serverless 云开发

年底考勤管理汇总难?织信OA管理系统无缝对接外部应用助你解决

优秀

低代码 考勤管理 OA管理系统

不用任何框架,Java 就能实现定时任务的 3 种方法!

CRMEB

用EasyRecovery恢复手残误删的文件

淋雨

EasyRecovery

作业帮检索服务基于 Fluid 的计算存储分离实践

阿里巴巴中间件

云计算 云原生 中间件 存储分离 Fluid

中科柏诚:加速银行数字化转型的新引擎

联营汇聚

Kubernetes常见组件

Rayzh

Docker Kubernetes 云原生

架构训练营 - 模块三作业

伊静西蒙

游戏用户LTV预测实践

bilibili游戏技术

KubeCon China 2021 阿里云专场来了!这些首日亮点不容错过

阿里巴巴中间件

阿里云 云原生 中间件 cncf KubeCON

开源社庄表伟:开源要出圈了,推坑文化、沉浸式养鱼塘,社区建设心法了解一下 I OpenTEKr 大话开源 Vol.5

OpenTEKr

大话开源

ARMS 应用安全-你的应用运行时的隐形安全卫士

阿里巴巴中间件

云原生 中间件 RASP Arms

Apsara Stack 技术百科|标准化的云时代:一云多芯

云计算 芯片 科技 混合云

首个国产分布式数据库调研:TDSQL产品技术及服务能力排名

腾讯云数据库

tdsql 国产数据库

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