मैं Sense2Vec का उपयोग कर रहा हूं (स्पेस पर बनाता है, एक शानदार एनएलपी लाइब्रेरी/टूल) और विभिन्न शब्दों के बीच समानता का परीक्षण कर रहा हूं। दुर्भाग्य से प्रदर्शन काफी धीमा है (एक नियमित मैकबुक प्रो पर निष्पादन एक सेकंड से अधिक है)।

क्या किसी के पास इसे तेज करने का कोई तरीका है?

यहाँ कोड है:

term = "dog|NOUN"
sense2vec = Sense2Vec().from_disk("path-to-s2v_reddit_2019_lg")
sims = sense2vec.most_similar(term, n=top)

मुझे संदेह है कि कुछ कैशिंग चीजों को गति देगी, लेकिन मुझे यकीन नहीं है कि कौन से तत्व कैश किए जाने चाहिए।

किसी भी मदद की सराहना की जाती है।

1
Eric Broda 21 जिंदा 2020, 00:11

1 उत्तर

सबसे बढ़िया उत्तर

वास्तव में Sense2Vec.most_similar को गति देने का एक तरीका है। https://github.com/explosion/ से एक स्क्रिप्ट उपलब्ध है। sensor2vec/blob/master/scripts/06_precompute_cache.py, जो निकटतम पड़ोसियों के कैशे को प्रीकंप्यूट करता है। यह तब उस कैश को डिस्क पर घटक के साथ सहेज लेगा, जिससे डेटा बड़ा हो जाएगा लेकिन क्वेरी तेज़ हो जाएगी। यदि कोई क्वेरी कैश द्वारा कवर नहीं की जाती है, most_similar सामान्य गणना का उपयोग करने के लिए वापस आ जाता है।

0
Sofie VL 21 जिंदा 2020, 11:25