實踐 | 如何經過 Serverless 與天然語言處理,讓搜索引擎「看」 到你的博客

「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 架構的最佳實踐!

相關文章
相關標籤/搜索