मेटा-डेटा के साथ टेक्स्ट डॉक्यूमेंट्स एनोटेट कैसे करें?


18

बहुत सारे पाठ दस्तावेज़ (प्राकृतिक भाषा में, असंरचित) होने के बाद, उन्हें कुछ शब्दार्थ मेटा-डेटा के साथ एनोटेट करने के संभावित तरीके क्या हैं? उदाहरण के लिए, एक छोटे दस्तावेज़ पर विचार करें:

I saw the company's manager last day.

इससे जानकारी निकालने में सक्षम होने के लिए, इसे कम अस्पष्ट होने के लिए अतिरिक्त डेटा के साथ एनोटेट किया जाना चाहिए। ऐसे मेटा-डेटा को खोजने की प्रक्रिया प्रश्न में नहीं है, इसलिए मान लें कि यह मैन्युअल रूप से किया गया है। सवाल यह है कि इन आंकड़ों को इस तरह से कैसे संग्रहित किया जाए कि इस पर आगे का विश्लेषण अधिक आसानी से / कुशलता से किया जा सके?

एक्सएमएल टैग (नीचे देखें) का उपयोग करने के लिए एक संभावित दृष्टिकोण है, लेकिन यह बहुत ही क्रियात्मक लगता है, और शायद पाठ दस्तावेजों पर ऐसे मेटा-डेटा को संग्रहीत करने के लिए बेहतर दृष्टिकोण / दिशानिर्देश हैं।

<Person name="John">I</Person> saw the <Organization name="ACME">company</Organization>'s
manager <Time value="2014-5-29">last day</Time>.

SGML के प्रमुख उद्देश्यों में से एक (इसकी संतति, XML के लिए एक ही धारण है) पाठ दस्तावेजों (पीओएस और अर्थ टैग) को टैग करने के लिए साधन प्रदान करना था ।
हिरण हंटर

आप किस प्रकार का मेटाडेटा जोड़ना चाहते हैं, इस बारे में अधिक विशिष्ट / प्रतिबंधात्मक हो सकता है? आपके दो उदाहरणों के साथ, मुझे संदेह है कि कम वर्बोज़ तरीका है जिसमें XML टैग्स के समान सामान्य अभिव्यक्ति है।
ओजदो

@ojdo अधिकांश मेटा-डेटा या तो असंबद्धता (जैसे रिश्तेदार समय) के लिए, या विशेष संस्थाओं (यानी FK) को निर्दिष्ट करने के लिए है।
अमीर अली अकबरी

2
मैंने अतीत में brat.nlplab.org का उपयोग किया है । कई अलग-अलग प्रकार के एनोटेशन के लिए एक अच्छा इंटरफ़ेस है। एनोटेशन को एक अलग .annot फ़ाइल में संग्रहीत किया जाता है, जो उन शब्दों की एक सूची है, जो एनोटेट किए गए हैं और दस्तावेज़ में उनकी स्थिति है।
user1893354

@ user1893354 बहुत मददगार! विशेष रूप से इसके द्वारा उपयोग किया जाने वाला " ब्रैट स्टैंडऑफ़ प्रारूप " मेरी आवश्यकताओं के लिए बहुत उपयुक्त लगता है। यदि आप चाहें तो एक उत्तर पोस्ट करने का सुझाव देता हूं।
अमीर अली अकबरी

जवाबों:


15

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

यह अजीब लग सकता है, लेकिन मैं ईमानदारी से सुझाव दूंगा JSON। यह बहुत अच्छी तरह से समर्थित है, बहुत सारी संरचना का समर्थन करता है, और यह इतना लचीला है कि आपको पर्याप्त शक्तिशाली नहीं होने के लिए इससे आगे नहीं बढ़ना चाहिए। आपके उदाहरण के लिए, कुछ इस तरह:

{'text': 'I saw the company's manager last day.", {'Person': [{'name': 'John'}, {'indices': [0:1]}, etc...]}

आपके द्वारा किसी भी एनएलपी-विशिष्ट प्रारूप में प्राप्त किया गया एक बड़ा लाभ यह है कि JSONकिसी भी वातावरण में पार्स किया जा सकता है, और चूंकि आपको संभवतः अपने प्रारूप को वैसे भी संपादित करना होगा, JSON खुद को बहुत ही सरल संपादन के लिए उधार देता है जो आपको थोड़ी दूरी प्रदान करता है अन्य प्रारूपों के लिए।

यदि आप चाहें तो आप टोकन जानकारी को भी स्टोर कर सकते हैं:

{"text": ["I", "saw", "the", "company's", "manager", "last", "day."]}

संपादित करें: मेटाडेटा के मानचित्रण को स्पष्ट करने के लिए बहुत खुला है, लेकिन यहाँ एक उदाहरण है:

{'body': '<some_text>',
 'metadata': 
  {'<entity>':
    {'<attribute>': '<value>',
     'location': [<start_index>, <end_index>]
    }
  }
}

आशा है कि मदद करता है, मुझे पता है अगर आप किसी भी अधिक प्रश्न हैं।


एक वेब डेवलपर होने के नाते, JSON मुझे पूरी तरह से उचित लगता है, लेकिन, क्या आप संस्थाओं को शब्दों के मानचित्रण के सटीक प्रारूप पर विस्तृत कर सकते हैं?
अमीर अली अकबरी

@AmirAliAkbari अधिक विवरण शामिल करने के लिए अद्यतित उत्तर।
जूनो

7

सामान्य तौर पर, आप XML टैग का उपयोग इस तरह से दस्तावेजों को टैग करने के लिए नहीं करना चाहते हैं क्योंकि टैग ओवरलैप हो सकते हैं।

यूआईएमए , गेट और इसी तरह के एनएलपी ढांचे पाठ से अलग टैग को दर्शाते हैं। प्रत्येक टैग, के रूप में इस तरह के Person, ACME, Johnआदि स्थिति यह है कि टैग शुरू होता है और स्थिति यह है कि यह समाप्त हो जाती है के रूप में जमा है। इसलिए, टैग के लिए ACME, इसे स्थिति 11 के रूप में संग्रहीत किया जाएगा और स्थिति 17 पर समाप्त होगी।


7

लड़का एनोटेशन उपकरण मेरी टिप्पणी के अनुसार आप के लिए उपयोगी हो सकता है। मैंने उनमें से कई की कोशिश की है और यह सबसे अच्छा मैंने पाया है। इसका उपयोगकर्ता इंटरफ़ेस अच्छा है और यह विभिन्न प्रकार के एनोटेशन का समर्थन कर सकता है। एनोटेशन को एक अलग .annot फ़ाइल में संग्रहीत किया जाता है जिसमें प्रत्येक एनोटेशन के साथ-साथ मूल दस्तावेज़ के भीतर उसका स्थान होता है। हालांकि चेतावनी का एक शब्द है, यदि आप अंततः स्टैनफोर्ड एनईआर उपकरण की तरह एक वर्गीकरण में एनोटेशन को खिलाना चाहते हैं तो आपको डेटा को एक प्रारूप में लाने के लिए कुछ हेरफेर करना होगा जिसे वह स्वीकार करेगा।


1

सभी मौजूद डेटा का वर्णन करना इतना कठिन काम है, लेकिन हम एक डेटा मॉडल का उपयोग कर सकते हैं: http://schema.org/ , जहां संरचनात्मक प्रकार की जानकारी है। मार्क्युप तकनीक को लागू करने के लिए पूर्व निष्पादन को लक्षित किया गया था, इसलिए, ऐसा लगता है कि यह आपके कार्य के लिए उपयोगी हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.