【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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 实践系列(四):网站监控脚本的实现》


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-08-16 15:3414116

评论

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

终极秘诀:打破无代码状态的小方法

控心つcrazy

小方法 敲代码

Maya 2024 for Mac(3D图形软件)

展初云

maya Mac软件 玛雅 3D图形

【最新破解秘钥】Vectorworks 2023 Mac必备3D建筑设计软件

Rose

3D建筑设计软件 Mac破解软件 Vectorworks 2023下载 Vectorworks 2023密钥

VM虚拟机安装Win11系统图文教程(附VMware13永久密钥)

Rose

Win11镜像下载 VM虚拟机破解版 VMware13永久密钥

花了三年时间开发的开源项目,终于500 个 Star 了!快收藏

越长大越悲伤

开源

mac文件夹数据同步工具推荐 Sync Folders Pro中文最新版

胖墩儿不胖y

Mac软件 文件同步工具 文件备份同步

Python 异常处理:try、except、else 和 finally 的使用指南

小万哥

Python 程序员 软件 后端 开发

音频修复增强工具:iZotope RX 10 for mac 支持M1

加油,小妞!

音频修复 iZotope RX 10

EndNote 21 for Mac(文献管理软件)

展初云

Mac 文献管理 endnote

CodeWhisperer 的使用心得

亚马逊云科技 (Amazon Web Services)

OmniGraffle Pro 图表绘制工具 附 注册机 支持M1

繁星

OmniGraffle Pro 图表绘制

Mac电脑专业PHP集成开发推荐:PhpStorm 2023注册码激活版

mac大玩家j

php 开发工具 Mac软件

OpenHarmony技术俱乐部亮相第二届OpenHarmony技术大会, 揭榜课题科研共建OpenHarmony

科技热闻

第二届OpenHarmony技术大会隆重揭幕年度课题,为OpenHarmony技术发展指明方向

科技热闻

【随意换装】基于 Svelte 与 Tailwind 的组件库 STDF 支持多主题配置

DUFU

JavaScript 前端 Svelte 组件库 Tailwind

【强推】苹果Mac电脑后期处理软件,打造极致的

Rose

Mac破解软件 后期特效软件有哪些 Mac特效制作工具 视频剪辑Mac版

Amadine for Mac 矢量图设计工具 完美兼容M1

彩云

矢量图设计 Amadine下载

支持M1、Capture One Pro 23 Mac 「raw图像处理工具」

繁星

图像处理工具 Capture One Pro 23

专业高效的视频编辑软件Premiere Pro 2023补丁激活版

胖墩儿不胖y

Mac软件 视频处理工具 视频编辑软件

技术筑生态智联赢未来,第二届OpenHarmony技术大会圆满举行

科技热闻

苹果mac电脑GoLand 2023 注册码最新 GoLand 2023 中文下载「支持m1 m2」

Rose

Go 语言 GoLand 2023破解版 GoLand 2023注册码

支持m1、IntelliJ IDEA 2023.2.4 Mac中文版 附 注册码

彩云

IntelliJ IDEA 2023最新 IntelliJ IDEA 2023

Vector Magic for mac(矢量图片转换工具)

展初云

Mac 矢量图 Mac软件

Golang微服务框架居然可以开发单体应用?—— Kratos单体架构实践

喵个咪

golang 微服务架构 单体架构 Kratos #微服务

创享蜀都 创力澎湃|2023鲲鹏开发者创享日·成都站成功举办

科技热闻

mac音频传输工具Loopback激活版 完美兼容macOS14系统和M芯片

Rose

mac音频编辑器 Loopback下载 Loopback激活版 Loopback Mac版

Mac电脑版专业矢量绘图软件 Amadine 最新激活版

mac大玩家j

Mac软件 矢量绘图软件 矢量绘图工具

「支持M1/M2」Topaz Video AI for mac 4.0.3

加油,小妞!

Topaz Video AI 视频增强修复工具

OpenHarmony:4.0 Release版本的开发数据

OpenHarmony开发者

Linux Vim三种工作模式

二哈侠

Linux网络、进程详解。

百度搜索:蓝易云

云计算 Linux 运维 云服务器 ECS

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