「Serverless 實踐系列」是騰訊雲 Serverless 團隊策劃的 SCF 雲函數場景落地案例指導,旨在幫忙開發者瞭解 SCF 雲函數可應用的場景及其實現方式。
天然語言的內容有不少,本文所介紹的天然語言處理部分是「文本摘要」和「關鍵詞提取」。python
不少朋友會有本身的博客,在博客上發文章時,這些文章發出去後,有的很容易被搜索引擎檢索,有的則很難。那麼有沒有什麼方法,讓搜索引擎對博客友好一些呢?這裏有一個好方法 —— 那就是填寫網頁的 Description 還有 Keywords。git
可是每次都須要咱們本身去填寫,很是繁瑣。這個過程可否自動化實現?本文將會經過 Python 的 jieba 和 snownlp 進行文本摘要和關鍵詞提取的實現。github
下載如下資源:sql
下載完成後,新建文件夾,拷貝對應的文件:json
拷貝以後,創建文件 index.pybash
# -*- coding: utf8 -*-
import json
import jieba.analyse
from 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 控制檯上新建一個項目:less
提交方法選擇上傳 zip:函數
而後咱們壓縮文件,並更名爲 index.zip:工具
測試以前能夠適當調整一下咱們的配置:
而後進行 input 模板的輸入:
模板能夠是:
{
"text": "前來參觀的人羣絡繹不絕。在「兩彈歷程館」裏……(略)」",
"summary_num": 5,
"keywords_num": 5,
"keywords_type": "tfidf"
}
複製代碼
而後點擊測試:
至此,咱們完成了簡單的關鍵詞提取功能和抽取式文本摘要過程。
固然,這只是簡單的拋磚引玉,由於摘要這裏還有聲稱是文本摘要,並且抽取式摘要也可能會根據不一樣的文章類型,有着不一樣的特點方法,因此這裏只是經過一個簡單的 Demo 來實現一個小功能,幫助你們作一個簡單的 SEO 優化。
你們之後本身作博客的時候,能夠增長 keywords 或者 description 字段,而後每次從 sql 得到文章數據的時候,將這兩個部分放到 meta 中,會大大提升頁面被索引的機率哦~!
做者介紹:
歡迎關注:騰訊雲 Serverless 團隊
咱們專一於 Serverless 架構的最佳實踐!