2017-02-23 16 views
7

मेरे पास ग्रंथों का एक बड़ा संग्रह है, जहां प्रत्येक पाठ तेजी से बढ़ रहा है। मुझे समानता खोज को लागू करने की आवश्यकता है।ग्रंथों के समानता के लिए elasticsearch के साथ Word2vec

विचार प्रत्येक शब्द को word2vec के रूप में एम्बेड करना है, और प्रत्येक पाठ को वेक्टर द्वारा सामान्यीकृत वेक्टर के रूप में प्रस्तुत करना है- इसमें प्रत्येक शब्द के एम्बेडिंग जोड़ना। टेक्स्ट के बाद के संस्करणों के परिणामस्वरूप परिणामस्वरूप टेक्स्ट के वेक्टर को परिष्कृत किया जाएगा जिससे नए शब्द वैक्टर जोड़े जा सकें।

क्या किसी दस्तावेज़ में प्रत्येक पाठ के सामान्यीकृत वेक्टर के केवल निर्देशांक संग्रहीत करके कोसाइन समानता के लिए लोचदार खोज का उपयोग करना संभव है? यदि हां, तो ऐसी खोज के लिए उचित सूचकांक संरचना क्या है?

उत्तर

3

यह elasticsearch plugindelimited-payload-tokenfilter

का उपयोग कर यह खोज की जटिलता दस्तावेजों की संख्या रैखिक कार्य है संग्रहीत वैक्टर के लिए एक स्कोर समारोह (डॉट उत्पाद) को लागू करता है, और यह एक अवधि के प्रश्न पर tf-आईडीएफ से भी बदतर है , ES first searches on an inverted index के बाद से यह uses tf-idf for document scores है, इसलिए इंडेक्स के सभी दस्तावेजों पर टीएफ-आईडीएफ निष्पादित नहीं किया गया है। वेक्टर के साथ, जो प्रतिनिधित्व आप खोज रहे हैं वह उलटा इंडेक्स के फायदे के बिना, कम कोसाइन दूरी वाले दस्तावेज़ की वेक्टर स्पेस है।

+0

दस्तावेजों की संख्या के साथ यह पैमाने कैसे है? क्या यह टीएफ-आईडीएफ की तुलना में बहुत खराब स्केलेबिलिटी-वार है, जो कि एक उलटा इंडेक्स रखता है? –

संबंधित मुद्दे