我目前正在使用Python中的一個項目,該項目依賴於一個csv文件。 csv文件包含幾千個隨機語句,並且在某些語句之間有一些相似之處。我的代碼的目的是確定哪些句子是一種類型,並且指明相同的事情是明智的。在csv文件中將類似的句子字符串分組在一起
例如,引用的Gmail如所有句子:
Gmail login
Gmail account login
Gmail account register
指代相同的上下文,但是可以是彼此在輸入文件中,嵌套無關句子參照不同的上下文中很遠。我的方法我一直使用至今是:
排序在一個句子中每個單詞的字母順序,併爲小寫,例如:
帳戶Gmail登錄
使他們的原始索引文件中它自己的列,在csv文件中按字母順序排列句子,然後將它們加載到熊貓數據幀中。
通過數據框對話並相互比較句子。這是通過使用token_set_ratio方法來識別彼此匹配的詞語(等於== 100),將相似的詞彙組合在一起然後寫入文件。
當數據幀迭代完畢後,我們再次遍歷它,並將我們自己的列索引與輸入文件中對應的行匹配,以返回原始語句。
這種方法一直很有前途,但它遭受了糟糕的匹配和句子不是在同一組中結束的相同上下文。有沒有更好的方法可以做我想做的事情?