2016-09-12 6 views
8

स्पिन्क्स के साथ एक वाक्य में शब्दों को खोजना संभव है।स्फिंक्स में वाक्यों का पता लगाने में सुधार कैसे करें?

Вася молодец, съел огурец, т.к.: उदाहरण के लिए, हम अगले पाठ है проголодался। Такие дела।

अगर मैं खोज

молодец SENTENCE огурец 

मैं इस पाठ पाते हैं। अगर मैं खोज

молодец SENTENCE проголодался 

मैं क्योंकि वाक्य के अंत के रूप में माना वाक्यांश т.к. से डॉट, इस पाठ को खोजने नहीं कर सकते।

और मैं कैसे देखता हूं, Sphinx's sources में delimiters का सेट हार्डकोड किया गया है।

मेरा सवाल यह है कि वाक्य का पता लगाने में सुधार कैसे किया जाए? मेरे लिए बेहतर तरीका वाक्यों के स्मार्ट पहचान के साथ यांडेक्स के टोमिता पार्सर या अन्य एनएलपी लाइब्रेरी का उपयोग करना है।

+0

वाईई, इसकी हार्डकोडेड, लेकिन 'नियम' के आसपास के नियम। इस तरह की स्थापना की जानी चाहिए कि 'टीके' को एक प्रतिबंध सीमा माना जाना चाहिए, क्योंकि यह एक अपमानजनक है। http://sphinxsearch.com/docs/current.html#conf-index-sp - – barryhunter

+0

@barryhunter, हाँ, लेकिन 'т.к.' स्फिंक्स के लिए मानक संक्षेप नहीं है? इस संक्षेप को कैसे निर्दिष्ट करें? किसी भी तरह से अन्य स्थितियों को संभव: "कॉम्प्लेक्स याहू! Известна во всем мире।" और अन्य मामलों। मुझे लगता है कि बाहरी पुस्तकालय में सेगमेंटेशन का प्रतिनिधित्व करने के लिए बेहतर तरीका क्या है ... – mnv

+0

नियमों के अनुसार चीज है, इसे अव्यवस्था के रूप में गिना जाना चाहिए (जैसा कि मैं इसे समझता हूं), इसका नियम विशिष्ट ऐप्रिविएशन के बजाए आधारित है। अधिक व्यापक नियमों का उपयोग करने के लिए स्फिंक्स को विस्तारित करने के रूप में, स्रोत को संशोधित करने की आवश्यकता होगी। – barryhunter

उत्तर

1

यांडेक्स के टोमिता पार्सर के साथ वाक्यों में पाठ को विभाजित करें। हमें पाठ मिलता है, जो "\ n" द्वारा विभाजित होता है।

सभी "।", "!", "?" हटाएं प्रत्येक वाक्य से आखिरी छोड़कर।

इस प्रीप्रोसेस्ड डेटा के साथ स्फिंक्स इंडेक्स बनाएं।

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