आप जल्दी से यह करने के लिए चाहते हैं, और संसाधन जुटाने की छोटी राशि एकत्र करने के साथ, तो आप शायद कुछ अच्छा heuristics और कुछ नियमित अभिव्यक्ति के साथ आ सकते हैं।
जब से तुम कहना है कि सूची "कुछ हद तक स्वरूपित," मैं इस धारणा पर काम करेंगे प्रत्येक पंक्ति में एक घटक के निर्देश नहीं है।
मैं माप नामों की एक सूची के साथ आना शुरू कर दूंगा, जो अपेक्षाकृत बंद वर्ग हैं (जैसा कि हम इसे भाषा विज्ञान में कहते हैं), जैसे $measurements=['cup', 'tablespoon', 'teaspoon', 'pinch', 'dash', 'to taste', ...]
। आप एक ऐसे शब्दकोश के साथ भी आ सकते हैं जो कई वस्तुओं को एक सामान्यीकृत मूल्य ($measurements={cup:['cup', 'c'], tablespoon:['tablespoon', 'tbsp', 'tablesp', ...], ...}
या व्हाट्नॉट) पर नज़र रखता है।
फिर प्रत्येक पंक्ति पर, यदि आप अपने शब्दकोश में हैं तो माप की इकाई पा सकते हैं। इसके बाद, संख्याओं को देखें (जिसे दशमलव के रूप में स्वरूपित किया जा सकता है - उदाहरण के लिए 1.5 - या जटिल अंशों के रूप में - उदाहरण के लिए 2 1/2 या 2-1/2), और मान लें कि आपकी आवश्यक इकाइयों की गणना है। यदि कोई संख्या नहीं है, तो आप केवल यह मान सकते हैं कि इकाई एक है (जैसा कि "स्वाद" और जैसा मामला हो)।
अंत में, आप कुछ भी शेष है कि वास्तविक घटक है ग्रहण कर सकते हैं।
मुझे लगता है कि इस ह्युरिस्टिक में आपके मामलों का 75-80% शामिल होगा। आपको अभी भी बहुत सारे कोने के मामले होने जा रहे हैं, जैसे कि नुस्खा "2 संतरे" के लिए कहता है, या - बदतर! - "2 संतरे का रस"। इन मामलों में, आप या तो उन्हें अपवाद के रूप में (कुछ प्रकार के ऑफ-लाइन क्यूरेशन के दौरान) जोड़ना चाहते हैं, या अपने आप को "ठीक" होने दें, ठीक से इलाज नहीं किया जा रहा है।
परिभाषित करें "* कुछ हद तक * स्वरूपित"। –
"1 कप दूध", "दूध, 1 कप", "नमक चुटकी", "दूध के 2 250 मिलीलीटर के डिब्बे" कहें ... – StackOverflowNewbie
http://stackoverflow.com/questions/4457830/nlp-programming का संभावित डुप्लिकेट -tools-का उपयोग कर-php – rid