2013-04-25 5 views
18

मैं दो वाक्यांशों/वाक्यों के बीच अर्थपूर्ण समानता को मापना चाहता हूं। क्या कोई ढांचा है जिसका मैं सीधे और भरोसेमंद उपयोग कर सकता हूं?दो वाक्यांशों के बीच अर्थपूर्ण समानता मापना

मैंने पहले से ही this question की जांच की है, लेकिन इसकी सुंदर पुरानी है और मुझे वहां वास्तव में उपयोगी उत्तर नहीं मिला। one link था, लेकिन मुझे यह अविश्वसनीय मिला।

जैसे:
मैं एक मुहावरा है: महसूस किया कुचल
मैं कई विकल्प हैं: बल अंदर की ओर, चूर्णित, भावनात्मक रूप से नष्ट कर दिया, आदि देगी
मैं पहली बार एक के लिए उच्चतम समानता के साथ अवधि/वाक्यांश लगाना चाहते हैं ।
यहां जवाब है: भावनात्मक रूप से नष्ट।

बड़ी तस्वीर यह है: मैं फ़्रेमनेट मैचों से कौन से फ्रेम को वाक्य में इसके उपयोग के अनुसार दिए गए क्रिया से पहचानना चाहता हूं।

अद्यतन: मुझे this library दो शब्दों के बीच समानता मापने के लिए बहुत उपयोगी पाया गया। इसके अलावा ConceptNet समानता तंत्र बहुत अच्छा है।

और this library वाक्य

किसी को भी किसी भी अंतर्दृष्टि है, तो साझा करें के बीच अर्थ समानता को मापने के लिए।

+0

सेमेन्टिक उपाय लाइब्रेरी पर एक नज़र डालें: [http://www.semantic-measures-library.org] (http: //www.semantic-measures-library।संगठन /) – Seb

उत्तर

8

यह एक बहुत ही जटिल समस्या है।

मुख्य तकनीक जिसे मैं सोच सकता हूं (अधिक जटिल एनएलपी प्रक्रियाओं में जाने से पहले) वाक्यांशों की प्रत्येक जोड़ी को कोसाइन (या कोई अन्य मीट्रिक) समानता लागू करना होगा। स्पष्ट रूप से यह समाधान गैर-मिलान करने वाली समस्या के कारण इस समय बहुत अक्षम होगा: वाक्य अलग-अलग शब्दों के साथ एक ही अवधारणा को संदर्भित कर सकते हैं।

इस समस्या को हल करने के लिए, आपको प्रत्येक वाक्यांश के प्रारंभिक प्रतिनिधित्व को "अवधारणात्मक" अर्थ के साथ बदलना चाहिए। एक विकल्प प्रत्येक शब्द को इसके समानार्थी शब्दों के साथ विस्तारित करना होगा (यानी WordNet का उपयोग करके, दूसरा विकल्प वितरण संबंधी अर्थशास्त्र डीएस (http://liawww.epfl.ch/Publications/Archive/Besanconetal2001.pdf) जैसे मेट्रिक्स को लागू करना है जो प्रत्येक शब्द का प्रतिनिधित्व करने के लिए अधिक संभावित शब्दों के साथ विस्तार करता है।

उदाहरण: किसी दस्तावेज़ का प्रतिनिधित्व: {"कार", "दौड़"} को समानार्थी के साथ {"कार", "ऑटोमोबाइल", "रेस"} में बदल दिया जाएगा। जबकि, डीएस के साथ यह कुछ ऐसा होगा: { "कार", "पहिया", "सड़क", "पायलट", ...}

जाहिर है इस बदलाव द्विआधारी नहीं होगा। प्रत्येक अवधि के कुछ संबद्ध भार पड़ेगा।

मैं इस ज आशा elps।

+0

आपके उत्तर के लिए धन्यवाद, लेकिन मेरी मुख्य समस्या यह है कि मुझे ऐसा कुछ चाहिए जो संयुक्त शब्द के समानता का आकलन करे और व्यक्तिगत शब्दों के जैसा कि मैंने उदाहरण में उल्लेख किया है। – tejas

+0

आप टर्म-टर्म समानता के आधार पर वाक्यांश प्रस्तुतिकरण को संशोधित करते हैं। उदाहरण, दो वाक्य दिए गए: एस 1: {"कार", "दौड़"} एस 2: {"मोटरबाइक}," गति "} मानक कोसाइन समानता के साथ आपको 0.0 समानता मिलती है (क्योंकि कोई शब्द सामान्य नहीं है)। लेकिन आप डीएस के आधार पर "संबंधित शर्तों" का उपयोग करके इस प्रतिनिधित्व को बढ़ा सकते हैं, और फिर वाक्यांश बन जाते हैं: एस 1: {"कार", "दौड़", "वाहन", "ऑटोमोबाइल", "तेज़"} एस 2: {"मोटरबाइक}," गति "," बाइक "," वाहन "," तेज़ "} अब आपके पास" तेज़ "और" वाहन "के आधार पर कुछ समानता है। – miguelmalvarez

0

शायद cortical.io एपीआई आपकी समस्या से मदद कर सकता है। यहां दृष्टिकोण यह है कि प्रत्येक शब्द को एक अर्थपूर्ण फिंगरप्रिंट में परिवर्तित किया जाता है जो 16K अर्थपूर्ण सुविधाओं के साथ इसका अर्थ दर्शाता है। वाक्यांश, वाक्यों या लंबे ग्रंथों को फिंगरप्रिंट शब्द को एक साथ उंगली के निशान में परिवर्तित कर दिया जाता है। इस रूपांतरण के बाद एक (संख्यात्मक) बाइनरी वेक्टर प्रतिनिधित्व अर्थात् दूरी को आसानी से यूक्लिडियन दूरी या कोसाइन-समानता जैसे दूरी उपायों का उपयोग करके गणना की जा सकती है। सभी आवश्यक रूपांतरण- और तुलना-कार्य एपीआई द्वारा प्रदान किए जाते हैं।

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