5

मैं वर्तमान में एक प्रोजेक्ट पर काम कर रहा हूं जहां मैं पाठ से भावनाओं को संदर्भित करने के लिए प्राकृतिक भाषा प्रसंस्करण का उपयोग करता हूं ताकि प्रासंगिक जानकारी के साथ उन्हें सहसंबंधित किया जा सके।समायोज्य, संस्करणित ग्राफ डेटाबेस

प्रासंगिक जानकारी की परिभाषा: प्रत्येक जानकारी जो एक समय की स्थिति में किसी इकाई की स्थिति का वर्णन करने के लिए प्रासंगिक है। डेटा संरचना की

विवरण मैं तलाश कर रहा हूँ:

वहाँ संस्थाओं की एक मनमाना संख्या जिनमें से मैं चाहता हूँ (एक इकाई या तो एक व्यक्ति या (चहचहाना हैश टैग) उदाहरण के लिए एक समूह हो सकता है) है प्रासंगिक जानकारी और अन्य इकाइयों के साथ उनकी बातचीत को ट्रैक करने के लिए। इकाइयों के बीच वार्तालापों को उनकी भावनात्मक विशेषताओं को वर्गीकृत करने के लिए संसाधित किया जाता है। मूल भावनात्मक विशेषताओं में एक वेक्टर होता है जो उनकी घटना को नियमित रूप से निर्दिष्ट करता है: {fear: 0.1, happiness: 0.4, joy: 0.1, surprise: 0.9, anger: 0} संस्थाएं कोई भी प्रासंगिक जानकारी भी सबमिट कर सकती हैं, जिसे वे साझा करना चाहते हैं, उदाहरण के लिए: स्थान, कमरे का तापमान, रक्तचाप, ... और इसी तरह इसे प्रासंगिक चर) के रूप में। क्योंकि न तो किसी इकाई की वार्तालापों की संख्या, न ही संदर्भ चर वे किसी भी समय साझा करना चाहते हैं, डेटा संरचना को तदनुसार समायोजित करने में सक्षम होना चाहिए।

महत्वपूर्ण: डेटा में प्रत्येक परिवर्तन को अपने राज्य का भी प्रतिनिधित्व करना चाहिए क्योंकि मैं एक-दूसरे के साथ राज्य में कुछ बदलावों को सहसंबंधित करने की उम्मीद कर रहा हूं।

उदाहरण: बॉब और एलिस में एक वार्तालाप है जो डर की उच्च परिमाण दिखाता है। कुछ घंटों बाद उनके पास एक और वार्तालाप है जो कोई और डर नहीं दिखाता, बल्कि खुशी। अब, कोई तर्क दे सकता है कि उच्च परिमाण डर, खुशी के बाद वास्तव में भावना राहत के रूप में व्याख्या की जा सकती है।

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

यह आपको और अधिक स्पष्ट करने के लिए, मैंने graphic बनाया है और इसे प्रश्न से जुड़ा हुआ है।

enter image description here अब, मेरे पास वास्तविक प्रश्न है: मैं इस समस्या को हल करने के लिए किस डेटाबेस/डेटा संरचना का उपयोग कर सकता हूं? मैंने ईवेंट-सोर्सिंग डेटाबेस में देखा है लेकिन अगर मैं आसानी से उनके साथ ग्राफ संरचना को फिर से बना सकता हूं तो मुझे पूरा विश्वास नहीं था। मैंने ग्राफ डेटाबेस को भी देखा लेकिन मुझे वह नहीं मिला जो मैं ढूंढ रहा था।

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

उत्तर

5

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

इन तथ्यों को एक संबंधपरक/तार्किक भाषा एला डेलिटल (प्रोलॉग की यादें) के साथ पूछताछ की जा सकती है। त्वरित अवलोकन के लिए कृपया This post by kisai देखें। इसका उपयोग अतीत में कुछ सफलता के साथ आलेखों की पूछताछ के लिए किया गया है: Using Datomic as a Graph Database

जबकि मुझे डेटोमिक के साथ कोई अनुभव नहीं है, यह आपकी विशेष समस्या के लिए काफी उपयुक्त प्रतीत होता है।

1

आप एक दिलचस्प परियोजना है, मैं इस सीधे जैसी चीजों पर लेकिन मेरे 2 सेंट के लिए काम नहीं करते -

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

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

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

मैं क्या करूँगा यह वार्तालाप आपके ग्राफ़ डीबी में आपके 'फैक्ट' ऑब्जेक्ट्स "बॉब", "एलिस" इत्यादि से जुड़ा हुआ है और एक प्रश्न जैसे कि 'एलिस क्या अभी महसूस कर रहा है?' आपके बातचीत के माध्यम से एक ग्राफ ट्रैवर्सल होगा जो एलिस से जुड़े संदर्भ डेटा में फैक्टरिंग करेगा।

एक प्रश्न का उत्तर देने के लिए जैसे '5 मिनट पहले एलिस क्या महसूस कर रहा था?' आप वार्तालापों के लिए सभी घटना धाराएं लेंगे और उन्हें उचित बिंदु पर रिवाइंड करेंगे, फिर बातचीत की स्थिति की जांच करें।

टीएलडीआर: स्वतंत्र चर के समय से समय पर निर्भर चर अलग करें और मॉडल समय पर सोर्सिंग ईवेंट का उपयोग करें।

0

किसी दिए गए समय पर आपके राज्यों के बीच एक स्पष्ट 1: 1 पत्राचार और किसी दिए गए स्कीमा के साथ एक संबंधपरक डेटाबेस है। तो समय के साथ आपके राज्यों के सेट के बीच एक स्पष्ट 1: 1 पत्राचार है और एक बदलते-स्कीमा डेटाबेस, यानी एक वेरिएबल जिसका मान डेटाबेस और मेटाडेटा है, जो डीडीएल और डीएमएल अपडेट कमांड दोनों द्वारा छेड़छाड़ किया जाता है। तो इस बात का कोई सबूत नहीं है कि आपको केवल एक संबंधपरक डीबीएमएस का उपयोग नहीं करना चाहिए।

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

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

सिर्फ इसलिए कि आप ग्राफ का उपयोग करके कुछ समय में अपने आवेदन स्थिति की तस्वीर खींच सकते हैं इसका मतलब यह नहीं है कि आपको graph database की आवश्यकता है। क्या मायने रखता है कि आप किस विशेष प्रश्न/अभिव्यक्ति का मूल्यांकन करेंगे। आपको समझना चाहिए कि ये आपकी समस्या डोमेन के संदर्भ में क्या हैं, जो शायद कुछ विशेष डेटा संरचना और ऑपरेटरों और संबंधपरक रूप से सबसे आसानी से व्यक्त किया जा सकता है। फिर आप एक विशेष डेटा संरचना, एक संबंधपरक प्रतिनिधित्व, और models of particular graph databases पर अभिव्यक्तिपूर्ण और कम्प्यूटेशनल मांगों की तुलना कर सकते हैं। stackoverflow पर Google पर सुनिश्चित होना सुनिश्चित करें।

विकिपीडिया के अनुसार "Neo4j आज उपयोग में सबसे लोकप्रिय ग्राफ डेटाबेस है"।

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