自然語言的內容有很多,本文所介紹的自然語言處理部分是“文本摘要”和“關鍵詞提取”。在做博客的時候,經常會發一些文章,這些文章發出去了,有的很容易被搜索引擎檢索,有的則很難,那麼有沒有什麼方法,讓博客對搜索引擎友好一些呢?
一個比較好的方法就是填寫網頁的Description還有Keywords。但是每次都需要我們自己去填寫,比較繁瑣,本文將會分享一種方法:通過Python的jieba和snownlp實現關鍵詞和文本摘要的自動提取。
準備資源
下載以下資源:
https://github.com/fxsjy/jieba
https://github.com/isnowfy/snownlp
下載之後,新建文件夾,將這些文件中對應的文件拷貝:
拷貝之後,建立文件index.py:
# -*- 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網頁上面建立一個項目:
提交方法選擇上傳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 實踐系列(四):網站監控腳本的實現》