9

मैं {brand: canon, model number: d1000, lens: 4MP zoom: 2X, display type: LCD} जैसे संरचित डेटा में "कैनन डी 1000 4 एमपी कैमरा 2 एक्स ज़ूम एलसीडी" जैसे असंगठित उत्पाद शीर्षकों को पार्स करना चाहता हूं।संरचित डेटा में उत्पाद शीर्षक (असंगठित) का विश्लेषण कैसे करें?

अब तक मेरे पास है:

  1. निकाला गया stopwords और साफ
  2. शब्दों में लंबे तार Tokenizing (जैसे -;:/ वर्ण निकालने के लिए)।

कोई भी तकनीक/लाइब्रेरी/विधियों/एल्गोरिदम की सराहना की जाएगी!

संपादित करें: उत्पाद शीर्षक के लिए कोई ह्युरिस्टिक नहीं है। एक विक्रेता किसी शीर्षक के रूप में इनपुट कर सकता है। उदाहरण के लिए: 'कैनन डी 1000' सिर्फ शीर्षक हो सकता है। साथ ही, यह अभ्यास न केवल कैमरा डेटासेट के लिए है, शीर्षक किसी भी उत्पाद का हो सकता है।

+0

क्या आपके पास कोई प्रशिक्षण डेटा है? 1000 उत्पादों के लिए उत्पाद विनिर्देश कहें? – Jirka

+0

मेरे पास बहुत सारे प्रशिक्षण डेटा हैं। मुझे इसे 100 मिलियन वस्तुओं के लिए करने की ज़रूरत है, लेकिन अभी मैं कैमरा से संबंधित ~ 10,000 उत्पादों के साथ एक प्रोटोटाइप बनाने की कोशिश कर रहा हूं। – stealthspy

+1

मैं एक ही समस्या को हल करने की कोशिश कर रहा हूं। मेरे पास ~ 50 के उत्पाद हैं, उनमें से सभी अनियंत्रित हैं, कोई प्रशिक्षण डेटा नहीं है। मेरे लिए पहला कदम प्रशिक्षण के लिए डेटा ढूंढना है, जिसका अर्थ है परिभाषित विशेषताओं वाले उत्पाद: ब्रांड, मॉडल इत्यादि। उत्पाद इलेक्ट्रॉनिक्स (फोन, लैपटॉप, कैमरे) से संबंधित हैं। गुणों के साथ उत्पादों को खोजने के लिए कोई सुझाव? – dzeno

उत्तर

6

चूंकि आपके पास बहुत सारे प्रशिक्षण डेटा हैं (मुझे लगता है कि आपके पास बहुत सारे जोड़े शीर्षक + संरचित जेसन विनिर्देश हैं), मैं Named Entity Recognizer को प्रशिक्षित करने का प्रयास करूंगा।

उदाहरण के लिए, आप Stanford NER को प्रशिक्षित कर सकते हैं। यह FAQ entry देखें कि यह कैसे करें। जाहिर है, आपको पैरामीटर के साथ झुकाव करना होगा क्योंकि उत्पाद शीर्षक बिल्कुल वाक्यों में नहीं हैं।

आपको प्रशिक्षण डेटा तैयार करने की आवश्यकता होगी लेकिन यह इतना कठिन नहीं होना चाहिए। आपको दो कॉलम, शब्द और उत्तर की आवश्यकता है और आप टैग कॉलम जोड़ सकते हैं (लेकिन मुझे यकीन नहीं है कि मानक पीओएस टैगर की सटीकता क्या हो सकती है क्योंकि यह गैर-विशिष्ट पाठ है)। मैं बस संबंधित जेसन विनिर्देश से उत्तर कॉलम के मूल्य को निकाल दूंगा, कुछ अस्पष्टता होगी, लेकिन मुझे लगता है कि यह दुर्लभ होगा ताकि आप इसे अनदेखा कर सकें।

+0

धन्यवाद! मैं इस पर गौर करूंगा। – stealthspy

1

यदि आपको केवल शीर्षक मिल रहे हैं (जैसे अमेज़ॅन उत्पादों), तो आप इसे वाक्य के रूप में देख सकते हैं और अनुक्रमिक लेबलिंग पर विचार कर सकते हैं।

के आधार पर विशेषताओं को देखते हुए या अज्ञात रहे हैं कि क्या (गुण, मॉडल आदि ब्रांड की तरह हैं), वहाँ कई मुद्दों यहां हैं:

1: यदि यह क्या दिया तो समस्या "आसान" है और आप काम करने के लिए किसी भी "अनुक्रमिक लेबलिंग" विधियों का उपयोग कर सकते हैं। विधियों में सीआरएफ (सशर्त यादृच्छिक फ़ील्ड) और मार्कोव मॉडल (एचएमएम, एमईएमएम, आदि)

2: यदि नहीं, तो आपको पार्सिंग (निर्भरता पार्सिंग, पूर्ण पार्सिंग) जैसे ही निकालने (विशेषता, मूल्य) जोड़ों को निकालने की आवश्यकता है। । लेकिन मैं सोच रहा हूं कि यह संभव है क्योंकि पहले से ही गुणों के बारे में वास्तव में बहुत कम ज्ञान है। एक और संभावना यह है कि बहुत सारी बाहरी जानकारी (या तो समीक्षा और उत्पाद विवरण) दी गई है, तो आप संभवतः उन विशेषताओं को समझ सकते हैं और फिर शीर्षक से जोड़े निकाल सकते हैं। पूर्व। आपको समीक्षाओं में "ब्रांड" और "कैनन" के बहुत से सहसंबंध मिलते हैं, फिर कैमरे के साथ शीर्षक से "कैनन" शब्द को कहीं भी खोजते हुए, आपको पता है कि यह "ब्रांड" के लिए एक मान है।

+0

मुझे लगता है कि मुझे यह उल्लेख करने की आवश्यकता है कि उत्पाद शीर्षक के लिए कोई ह्युरिस्टिक नहीं है। अनुक्रमिक लेबलिंग इस मामले में कैसे काम करेगी? विक्रेता को "डी 1000 4 एमपी कैमरा कैनन 2 एक्स एलसीडी ज़ूम" – stealthspy

+2

इनपुट करने के लिए कुछ भी नहीं रोकता है, तो यह एक बहुत कठिन समस्या है (केस दो देखें)। लीवरेजिंग समीक्षा/विवरण मदद करेगा। अन्यथा, यदि आप केवल कैमरे के उत्पादों में काम कर रहे हैं (डेटा स्पैस नहीं है), तो शायद अनुक्रमित लेबलिंग असुरक्षित लेबल (एचएमएम) मदद कर सकती है लेकिन फिर आप केवल "कैनन" और "निकोन" ही एक ही विशेषता के बारे में जान सकते हैं, लेकिन यह है अभी भी इसे नाम देना मुश्किल है (जहां "ब्रांड" आया है?) – dragonxlwang

0

आपको ऐसे मुक्त पाठ को पार्स करने के लिए एक तंत्रिका नेट के साथ और अधिक सफलता हो सकती है, लेकिन आप केवल सादे पाठ पार्सिंग के साथ असफल हो जाएंगे, क्योंकि कई शब्दों में आपके पास एक संदर्भ की आवश्यकता नहीं है।

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

निश्चित रूप से कोई 100% समाधान संभव नहीं है (न्यूरल नेट के साथ भी नहीं), मुझे लगता है।

2

मैं मानता हूं कि कोई 100% सफलता विधि नहीं है। कुछ संभावित मैन्युअल रूप से एनोटेटेड डेटा के साथ कस्टम एनईआर (नामांकित इकाई पहचान) को प्रशिक्षित करना एक संभावित दृष्टिकोण होगा। लेबल होंगे: ब्रांड/मॉडल/प्रकार। मॉडल नाम/ब्रांड फ़िल्टर करने का एक आम तरीका एक शब्दकोश का उपयोग करना है। ब्रांड/मॉडल आमतौर पर गैर-शब्दकोष शब्द होते हैं।

3

इस तरह के एक वाणिज्यिक विश्लेषक विकसित करने के बाद, मैं आपको बता सकता हूं कि इस समस्या के लिए कोई आसान समाधान नहीं है। लेकिन कई शॉर्टकट हैं, खासकर यदि आपका डोमेन कैमरे/इलेक्ट्रॉनिक्स तक ही सीमित है।

सबसे पहले, आपको और साइटों को देखना चाहिए। कई में पृष्ठ में एनोटेटेड उत्पाद ब्रांड होता है (उचित HTML एनोटेशन, बोल्ड फ़ॉन्ट, नाम की शुरुआत में सभी कैप्स)। कुछ साइटों में खोज उद्देश्यों के लिए ब्रांड चयनकर्ताओं के साथ पूरे पृष्ठ हैं। इस तरह आप ब्रांड नामों का एक बहुत अच्छा स्टार्टर शब्दकोश बना सकते हैं। उत्पाद लाइन नामों और यहां तक ​​कि मॉडल के साथ भी। अल्फान्यूमेरिक मॉडल को नियमित रूप से अभिव्यक्तियों द्वारा थोक में निकाला जा सकता है और बहुत तेज़ी से फ़िल्टर किया जा सकता है।

कई अन्य चालें हैं, लेकिन मैं संक्षिप्त होने की कोशिश करूंगा। यहां सलाह का एक टुकड़ा: मैन्युअल कार्य और एल्गोरिदम के बीच हमेशा एक व्यापार-बंद होता है। हमेशा ध्यान रखें कि दोनों दृष्टिकोण मिश्रित किए जा सकते हैं और दोनों में वापसी-पर-निवेश-समय घटता है, जो लोग भूल जाते हैं। यदि आपका लक्ष्य उत्पाद ब्रांड और मॉडल निकालने के लिए स्वचालित एल्गोरिदम नहीं बनाना है, तो इस समस्या में आपकी योजना में सीमित समय बजट होना चाहिए। आप वास्तव में एक दिन में 1000 ब्रांडों का एक शब्दकोश बना सकते हैं, और इलेक्ट्रॉनिक सामानों के ज्ञात डेटा स्रोत पर सभ्य प्रदर्शन के लिए (हम अमेज़ॅन से बात नहीं कर रहे हैं या हम हैं?) 4000 ब्रांडों का एक शब्दकोश आपको अपने काम के लिए आवश्यक हो सकता है। तो इकाई पहचानकर्ता नामक नवीनतम तंत्रिका नेटवर्क में सप्ताहों का निवेश करने से पहले गणित करें।

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