python中similarity函數實例用法
1、similarity函數接收兩個列表,並返回由兩個列表中相同元素組成的列表。
2、函數使用列表推導,遍歷所有a列表中的元素,並使用in關鍵詞來判斷這些元素是否存在於b列表中。
實例
def similarity(a, b): return [item for item in a if item in b] # EXAMPLES similarity([1, 2, 3], [1, 2, 4]) # [1, 2]
知識點擴充:
python 語義similarity_Python:string的語義相似度得分
Python:string的語義相似度得分
有沒有用於計算一對句子的語義相似度分數的庫?
我知道WordNet的語義數據庫,以及如何為2個單詞生成分數,但是我正在尋找能夠在整個句子和輸出中執行所有預處理任務(如端口詞幹,停用詞刪除等)的庫兩個句子如何相關的分數。
我發現瞭一個使用.NET框架編寫的工作 ,它使用一系列預處理步驟來計算分數。 有沒有任何項目,在Python中做到這一點?
我不是在尋找能夠幫助我find分數的操作順序(就像這裡要求的那樣)
我喜歡自己實現每個階段,或者從不同的庫中粘貼函數,以便它可以用於句對,但是我主要需要這個工具來testing數據的推論。
編輯:我正在考慮使用NLTK和計算每兩個單詞對這兩個句子迭代的得分,然後從結果的標準偏差中得出推論,但我不知道這是否是一個合理的相似性估計。 另外,這將花費很長的時間。
再次,我正在尋找已經實現這個智能的項目/庫。 東西,讓我這樣做:
import amazing_semsim_package str1=’Birthday party ruined as cake explodes’ str2=’Grandma mistakenly bakes cake using gunpowder’ >>similarity(str1,str2) >>0.889
我見過的最好的包裝是在Gensim主頁find的Gensim 。 我已經使用過很多次瞭,總體而言非常滿意,它的易用性, 它是用Python編寫的,並且有一個簡單的跟隨教程來開始,它比較瞭9個string。 它可以通過點安裝,所以你不會有很多麻煩得到它安裝,我希望。
你使用哪種評分algorithm在很大程度上取決於你的問題的背景,但是如果你想要一些基本的東西的話,我build議開始使用LSI的function。 (這是教程引導你通過。)
如果您閱讀gensim教程,它將引導您通過比較兩個string,使用Similaritiesfunction。 這樣可以讓你看到你的叮咬是如何根據它們所包含的文字相互比較的,或者是一些其他的刺痛。
到此這篇關於python中similarity函數實例用法的文章就介紹到這瞭,更多相關python中similarity函數的使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python預測分詞的實現
- 如何利用python實現Simhash算法
- Java設計模式之裝飾模式詳解
- 利用Python過濾相似文本的簡單方法示例
- 利用Numba與Cython結合提升python運行效率詳解