大厂Data+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:3414345

评论

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

面试官:你说说ThreadLocal为什么会导致内存泄漏?

长河

Java

Serverless 工程实践 | 零基础上手 Knative 应用

阿里巴巴云原生

阿里云 Serverless 云原生 Knative

双非学历为进大厂天天刷Java面试题,面试却履败,原因竟是算法?

Java 编程 程序员 架构 IT

MySQL 数据库开发入门(二):数据库表的创建与管理

程序员小呆

MySQL MySQL 高可用 MySQL 运维 MySQL 数据库 java

MySQL 数据库开发入门(四):MySQL 的数据引擎

程序员小呆

MySQL MySQL 高可用 :MySQL 数据库 MySQL 数据库 java

百度翻译团队获“2021年大数据科技传播奖”未来奖

百度大脑

人工智能

学生试卷&答题结构redis存储

Nico

gRPC,爆赞

AlwaysBeta

golang 编程 gRPC 后端 Go 语言

Node.js 日志之 winston 实践

devpoint

nodejs winston logger 10月月更

实践篇 -- Redis客户端缓存在SpringBoot应用的探究

binecy

缓存 springboot redis sentinel

阿里大牛开源内部"JDK源码手册"一经现世,惊艳四方

Java 架构 面试 程序人生 编程语言

基于区块链的供应链金融创新

CECBC

前后端、多语言、跨云部署,全链路追踪到底有多难?

阿里巴巴云原生

阿里云 云原生 全链路追踪

拿蚂蚁offer,全靠阿里P8大牛总结的Java架构开发手册

Java 编程 程序员 架构 面试

区块链技术赋能音乐作品版权保护 法院采信存证证书作为有效权属证据

CECBC

从Engineer到Leader,我在思考啥?

夏兮。

互联网 管理 技术人 IT

面试作弊神器?!阿里P8亲自撰写的这份Java最新面试手册

Java 程序员 架构 面试 后端

【Vuex 源码学习】第十二篇 - Vuex 插件机制的实现

Brave

源码 vuex 10月月更

MySQL 数据库开发入门(一):安装与常用命令

程序员小呆

五分钟了解 Blazor

智联大前端

blazor

应用出海,如何使用苹果 CallKit 提升网络通话体验

融云 RongCloud

音视频 出海社交

Groovy 记录(2)-CompilationUnit

春秋易简

趣说Node.js的回调函数

Regan Yue

node.js JavaScrip Regan Yue 10月月更

「架构师教程」二十年架构师「马士兵」大牛的Java高级架构师教程

Java 编程 程序员 IT 计算机

Alibaba最新微服务持续集成,内含(Jenkins+Docker+Spring Cloud+K8S)

Java 架构 面试 程序人生 编程语言

业界良心啊!第五次更新的Spring Cloud Alibaba升级太多内容

Java 编程 程序员 IT 计算机

全网首发!马士兵内部共享—1658页《Java面试突击核心讲》

收到请回复

Java 程序员 面试 架构师 金九银十

MySQL 数据库开发入门(三):Navicat 客户端的使用

程序员小呆

MySQL MySQL 高可用 MySQL 运维 :MySQL 数据库 MySQL 数据库

艺术市场的区块链革命

CECBC

Groovy记录(1)-GroovyClassLoader

春秋易简

Groovy

ToB产品如何自传播(下)

石云升

产品经理 产品思维 10月月更

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