2016-04-03 21 views
0

我有一個django後端(Postgre DB)。Django:Filter類似於給定的項目

假設一個給定的表,比如說A,有一個名爲'message'的charfield。現在,我想要做的是找到A中與給定實例的「消息」字段具有相似「消息」的所有項目。相似性將基於某種算法。 TL; DR我想根據項目相似性找到項目。

的問題有三個部分:

  1. 我該怎麼辦呢?我可以實時做(慢)還是必須預先計算表A中所有項目之間的相似性(這可能會炸燬我的數據庫)

  2. 如何找到'消息'字段之間的相似性?請注意,該項目比一組關鍵字更像400個字符。我遇到了許多計算字符串距離的算法,但我認爲這不會削減它。我認爲TF-IDF跟餘弦相似性更合適。

  3. 如何在生產環境中實現上述目標?正如數據結構應該用來優化請求響應時間vs存儲一樣。

+0

只是一個想法。用突出的關鍵詞標記'消息'字段。然後搜索標籤。 –

+0

這是一個好主意。但程序是自動化的。因此,我需要一種提取關鍵字的好方法。問題是'消息'可能是非標準的英語。 –

+0

嗯...這個怎麼樣,如果我只考慮動詞和名詞,那麼長時間的信息會是一小段關鍵字。如果使用非標準英語,則不容易。 –

回答

相關問題