使用 spaCy 計算 Doc 相似度
語意相似度是用來分析多個句子之間是否相似的流程。在這個練習中,你會實作計算多個文件與指定文件的語意相似度。目標是把一組評論分類,找出與「罐頭狗食」相關的評論。
「罐頭狗食」這個類別已儲存在 category。我們也提供了 5 則美食評論樣本,存於 texts 清單中。en_core_web_md 已載入為 nlp。
本練習屬於課程
使用 spaCy 的自然語言處理
練習說明
- 建立一個
documents清單,裡面包含所有texts的Doc容器。 - 以
category建立一個Doc容器,並將其存為category_document。 - 走訪
documents,列印每個Doc容器與category_document的相似度分數,並四捨五入到小數點後 3 位。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create a documents list containing Doc containers
documents = [____ for t in texts]
# Create a Doc container of the category
category = "canned dog food"
category_document = ____(____)
# Print similarity scores of each Doc container and the category_document
for i, doc in enumerate(documents):
print(f"Semantic similarity with document {i+1}:", round(doc.____(____), 3))