Open Semantic Tools for Python
pipowl: 目標:快速、穩定的 embedding 相似度工具
v1.6.0
輕量語意編碼器(使用 SentenceTransformer)
語意搜尋(top-k + cosine similarity)
pip install pipowl① 叫出 LangOwl(像叫一隻貓頭鷹出來)
from pipowl.lang import LangOwl
lang = LangOwl()
② 準備一些要比對的句子清單
corpus = [
"我今天真的好累",
"我覺得今天狀態不太好",
"今天的天氣真的很好",
]
③ 丟一句話進去,看哪句最像
results = lang.topk("我今天真的很想睡覺,因為工作太累了", corpus)
④ 印出結果(分數+句子)
for text, score in results:
print(score, text) pipowl 是一個用來「比較句子語意相似度」的小工具。
你只要給它兩個東西:
你的句子(要查的)
你的一組句子(要比的)
它就會告訴你「哪一句最像」。0.903 我今天真的好累
0.882 我覺得今天狀態不太好
0.834 今天的天氣真的很好- py -m quickstart
from pipowl.lang import LangOwl
# 叫出語意偵探 LangOwl
lang = LangOwl()
# 準備一組你想比較的句子清單
corpus = [
"我今天真的好累",
"我覺得今天狀態不太好",
"今天的天氣真的很好",
]
# 互動式輸入
while True:
query = input("請輸入句子: ")
results = lang.topk(query, corpus)
print("\n相似結果:")
for text, score in results:
print(f"{score:.3f} | {text}")
print()from pipowl.lang import LangOwl
lang = LangOwl()
results = lang.topk("我很累", ["我好累", "我想吃飯"])
print(results)