के लिए पाठ खोज को अपनाने के लिए मैं एक गैर-पारंपरिक प्रकार की टेक्स्ट खोज के लिए एक टेक्स्ट सर्च इंजन की तलाश में हूं और मुझे सलाह है कि कौन सा टूल (लुसीन, स्फिंक्स, एक्सपियन, या कुछ और) सबसे अधिक है मेरे लिए उपयुक्त, प्लस पॉइंटर्स कहां से शुरू करें।ग्राफ़/अणु तुलना एल्गोरिदम
मेरे पास अणुओं को ग्राफ (परमाणु और बंधन) के रूप में दर्शाया गया है। मेरे पास आकार के आकार के enumerate all subgraphs का एक तरीका है। तकनीकी होने के नाते, इनपुट SMILES हैं और आउटपुट कैननिकल SMARTS है और प्रत्येक सबग्राफ/SMARTS की संख्या होती है।
उदाहरण के लिए, यदि इनपुट अणु "CCO" है तो कैननिकल परिणाम {"सी": 2, "ओ": 1, "सीसी": 1, "ओसी": 1, "सीसीओ": 1 } और यदि अणु "SCO" है तो कैनोलिक परिणाम {"सी": 1, "एस": 1, "ओ": 1, "सीएस": 1, "ओसी": 1, "एससीओ": 1 }। ये छोटे उदाहरण हैं। असली अणु के लिए मुझे लगभग 500 "शब्द" मिलते हैं, जो "सीसी (सी) ओ", "सीसीसीओसीसी", "सीएन" और "सीसीसीसी (सी) ओ" जैसा दिखते हैं।
विशिष्ट तारों के संग्रह के रूप में अणुओं को देखते हुए प्लस मायने रखता है कि मुझे टेक्स्ट स्तर पर तुलना करने के लिए टेक्स्ट खोज टूल का उपयोग करने में सक्षम होना चाहिए, उम्मीद है कि वे रसायन शास्त्र स्तर पर सार्थक हैं।
उदाहरण के लिए, मैं cosine similarity का उपयोग शायद tf-idf वजन के साथ कर सकता हूं और समान उपनिवेशों की तलाश करके समान अणु ढूंढ सकता हूं। उपरोक्त "सीसीओ" और "एससीओ" उदाहरणों के साथ, कोसाइन समानता (2 * 1 + 1 * 1 + 1 * 1)/वर्ग (2 * 2 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1)/वर्ग (6 * (1 * 1)) = 4/वर्ग (8 * 6) = 0.58।
एक और उदाहरण के लिए, यदि मैं अणुओं को ढूंढना चाहता हूं जिनमें "सीसीएस" संरचना शामिल है तो मैं गणनाओं के आधार पर एक तेज़ उलटा इंडेक्स खोज कर सकता हूं (अणुओं में कम से कम 2 "सी" होना चाहिए, कम से कम 1 एनएस सबग्राफ आइसोमोर्फिज्म समस्या से निपटने से पहले "सीएस", और इसी तरह)। यही है, पाठ-आधारित विधियां स्पष्ट विसंगतियों को अस्वीकार करने के लिए फ़िल्टर के रूप में कार्य कर सकती हैं।
मैं मौजूद पाठ समाधानों को समझने की कोशिश कर रहा हूं लेकिन यह थोड़ा मुश्किल है। मुझे स्टॉप शब्दों की ज़रूरत नहीं है, मुझे स्टेमिंग की ज़रूरत नहीं है, मुझे शब्द आदेश की परवाह नहीं है; मुझे मौजूद कई विशेषताओं की आवश्यकता नहीं है। मुझे शब्द वैक्टर रखने की क्षमता की आवश्यकता है, क्योंकि यह जानना महत्वपूर्ण है कि "सी" 2 बार या 3.
कौन सा टेक्स्ट सर्च इंजन मेरे लिए सबसे उपयुक्त है? यह लुसीन की तरह दिखता है, खासकर महौत में काम के साथ। क्या आप दस्तावेज के कौन से हिस्सों को देखने या प्रासंगिक ट्यूटोरियल देखने की सलाह दे सकते हैं? जिन लोगों को मैंने पाया है, वे पूर्ण-पाठ खोजों के लिए हैं, जिनकी मुझे आवश्यकता नहीं है और अन्य सुविधाओं की आवश्यकता नहीं है।
"समानता" का अर्थ आपके लिए क्या है? जैसे "सी = सी" "सी-सी" के लिए "समान" होना चाहिए? "एन" के समान "एन +" है? "सीओ" सी "सी (सी) ओ" आदि के समान है? शायद अगर आपने कुछ उदाहरण खोज दी हैं और परिणाम जो उन्हें मिलना चाहिए, तो यह हमें आपकी इच्छा के बारे में अधिक जानने में मदद करेगा (क्योंकि हम रसायनज्ञ नहीं हैं)। – Xodarap
मेरे पास दोहराए गए शब्द n_i और i <~ 500 के साथ W_i शब्द हैं। मैं जुड़ी परिभाषा के अनुसार, उनके बीच कोसाइन समानता करना चाहता हूं। मुझे लगता है कि मैं जो खोज रहा हूं वह दस्तावेज़ खोज दुनिया में मानक है और रसायन शास्त्र कोई फर्क नहीं पड़ता, लेकिन मैं एक उदाहरण के साथ अपडेट करूंगा। –
यह भी देखें http://stackoverflow.com/questions/2380394/simple-implementation-of-n-gram-tf-idf-and-cosine-similarity-in-python। –