Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/shoucheng3/apache__uima-uimaj_cve-2022-32287_3-3-0
सामान्य उपयोगिताएँकोड विश्लेषणस्क्रिप्टिंग और स्वचालनउपयोगिताएँ और फ्रेमवर्कमशीन लर्निंगलर्निंग और शिक्षा
GitHubshoucheng3/apache__uima-uimaj_cve-2022-32287_3-3-0

apache__uima-uimaj_CVE-2022-32287_3-3-0

असंरचित टेक्स्ट डेटा को एनोटेशन, टाइप सिस्टम और मॉड्यूलर विश्लेषण इंजनों के साथ प्रोसेस और समृद्ध करने वाले एनालिटिक्स पाइपलाइनों के निर्माण के लिए Java SDK।

रिपॉजिटरी देखें
191 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Apache UIMA Java SDK में आपका स्वागत है

[Apache UIMA][UIMA] आपको असंरचित डेटा (जैसे पाठ) के प्रबंधन में मदद करता है जो उपयोगी जानकारी से समृद्ध होता है। उदाहरण के लिए, यदि आप किसी पाठ में किसी इकाई के उल्लेख की पहचान करना चाहते हैं या संभावित रूप से उस इकाई को किसी संदर्भ डेटासेट से जोड़ना चाहते हैं, तो Apache UIMA प्रदान करता है:

  • उस डेटा को दर्शाने के लिए एक सुविधाजनक डेटा संरचना — सामान्य विश्लेषण संरचना (CAS)
  • CAS में संग्रहीत समृद्ध डेटा के लिए एक स्कीमा के रूप में सेवा करने वाली एक प्रकार प्रणाली अवधारणा सेवा
  • एक घटक मॉडल जिसमें रीडर, विश्लेषण इंजन (प्रोसेसर) और उपभोक्ता (लेखक) शामिल हैं
  • कई विश्लेषण इंजनों को पाइपलाइनों में एकत्रित करने और उन्हें निष्पादित करने का एक मॉडल (वैकल्पिक रूप से समानांतर)
  • CAS को विभिन्न प्रारूपों में (विघटित/पुनःनिर्मित) करने के लिए विभिन्न विकल्प
  • और कई अतिरिक्त सुविधाएं!

ध्यान दें कि Apache UIMA Java SDK केवल एनालिटिक्स बनाने के लिए एक ढांचा प्रदान करता है, लेकिन यह कोई एनालिटिक्स प्रदान नहीं करता है। हालाँकि, कई तृतीय-पक्ष हैं जो Apache UIMA पर निर्मित होते हैं और विश्लेषण घटकों या तैयार समाधानों के संग्रह प्रदान करते हैं।

सिस्टम आवश्यकताएं

Apache UIMA v3.6.0 और बाद के संस्करण के लिए Java संस्करण 17 या बाद का आवश्यक है।

UIMA के लिए Eclipse प्लगइन टूलिंग चलाने के लिए आपको Java 17 या बाद के संस्करण का उपयोग करके Eclipse 4.25 (2022-09) या बाद का संस्करण शुरू करना होगा।

क्लास फ़ाइलों पर माइग्रेशन टूल चलाने के लिए Java JDK की आवश्यकता है, न कि Java JRE की।

समर्थित प्लेटफ़ॉर्म हैं: Windows, Linux, और macOS। अन्य Java प्लेटफ़ॉर्म कार्यान्वयन काम करने चाहिए लेकिन उनका महत्वपूर्ण परीक्षण नहीं किया गया है।

/bin निर्देशिका में कई स्क्रिप्ट Java को आमंत्रित करती हैं। वे उपयोग करने के लिए Java का पता लगाने के लिए पर्यावरण चर JAVA_HOME के मान का उपयोग करते हैं; यदि यह सेट नहीं है, तो वे java को आमंत्रित करते हैं और उम्मीद करते हैं कि आपके PATH चर में एक उपयुक्त Java मिलेगा।

Apache UIMA Java SDK का उपयोग करना

आप [Maven Central][MAVEN-CENTRAL] से आयात करके अधिकांश बिल्ड टूल्स में Apache UIMA Java SDK को आसानी से अपने प्रोजेक्ट में जोड़ सकते हैं। उदाहरण के लिए, यदि आप Maven का उपयोग करते हैं, तो आप अपने प्रोजेक्ट में निम्नलिखित निर्भरता जोड़ सकते हैं:

<dependency>
  <groupId>org.apache.uima</groupId>
  <artifactId>uimaj-core</artifactId>
  <version>3.6.0</version>
</dependency>

आगे, हम Apache UIMA Java SDK और Apache uimaFIT लाइब्रेरी का उपयोग करने के कुछ संक्षिप्त उदाहरण देते हैं। Apache uimaFIT एक अलग निर्भरता है जिसे आप जोड़ सकते हैं:

<dependency>
  <groupId>org.apache.uima</groupId>
  <artifactId>uimafit-core</artifactId>
  <version>3.6.0</version>
</dependency>
प्रकार प्रणाली बनाना

प्रकार प्रणाली उस प्रकार की जानकारी को परिभाषित करती है जिसे हम असंरचित जानकारी (यहाँ एक पाठ दस्तावेज़) से जोड़ना चाहते हैं। हमारे उदाहरण में, हम इकाइयों के उल्लेखों की पहचान करना चाहते हैं, इसलिए हम एक प्रकार my.Entity को एक फ़ीचर category के साथ परिभाषित करते हैं जिसका उपयोग संबंधित इकाई की श्रेणी को संग्रहीत करने के लिए किया जा सकता है।

उदाहरण के लिए, UIMA आंतरिक रूप से एनोटेशन स्कीमा के बारे में जो जानकारी बनाए रखता है, उसे स्पष्ट करने के लिए हम उत्पन्न स्कीमा को XML के रूप में स्क्रीन पर लिखते हैं।

String TYPE_NAME_ENTITY = "my.Entity";
String TYPE_NAME_TOKEN = "my.Token";
String FEAT_NAME_CATEGORY = "category";

var tsd = UIMAFramework.getResourceSpecifierFactory().createTypeSystemDescription();
tsd.addType(TYPE_NAME_TOKEN, "", CAS.TYPE_NAME_ANNOTATION);
var entityTypeDesc = tsd.addType(TYPE_NAME_ENTITY, "", CAS.TYPE_NAME_ANNOTATION);
entityTypeDesc.addFeature(FEAT_NAME_CATEGORY, "", CAS.TYPE_NAME_STRING);

tsd.toXML(System.out);
सामान्य विश्लेषण संरचना ऑब्जेक्ट बनाना

अब हम एक सामान्य विश्लेषण संरचना (CAS) ऑब्जेक्ट बनाते हैं जिसमें हम उस पाठ को संग्रहीत करते हैं जिसका हम विश्लेषण करना चाहते हैं।

फिर से, UIMA CAS ऑब्जेक्ट में आंतरिक रूप से संग्रहीत जानकारी को स्पष्ट करने के लिए, हम ऑब्जेक्ट का एक XML प्रतिनिधित्व स्क्रीन पर लिखते हैं।

var cas = CasFactory.createCas(tsd);
cas.setDocumentText("Welcome to Apache UIMA.");
cas.setDocumentLanguage("en");

CasIOUtils.save(cas, System.out, SerialFormat.XMI_PRETTY);
एनोटेशन जोड़ना और पुनर्प्राप्त करना

अब, हम उदाहरण पाठ में Apache UIMA के उल्लेख की पहचान करने के लिए my.Entity प्रकार का एक एनोटेशन बनाते हैं।

अंत में, हम CAS में सभी एनोटेशन पर पुनरावृत्ति करते हैं और उन्हें स्क्रीन पर प्रिंट करते हैं। इसमें डिफ़ॉल्ट DocumentAnnotation शामिल है जो हमेशा UIMA द्वारा बनाया जाता है, साथ ही my.Entity एनोटेशन जो हमने स्वयं बनाया है।

var entityType = cas.getTypeSystem().getType(TYPE_NAME_ENTITY);
var entity = cas.createAnnotation(entityType, 11, 22);
cas.addFsToIndexes(entity);

for (var anno : cas.<Annotation>select(entityType)) {
   System.out.printf("%s: [%s]%n", anno.getType().getName(), anno.getCoveredText());
}
विश्लेषण घटकों के साथ काम करना

विभिन्न प्रकार के विश्लेषण को चरणों में व्यवस्थित करने के लिए, हम आमतौर पर उन्हें अलग-अलग विश्लेषण इंजनों में पैकेज करते हैं। अब हम स्पष्ट करते हैं कि ऐसे घटकों का निर्माण कैसे किया जा सकता है और उन्हें एक विश्लेषण पाइपलाइन के रूप में कैसे निष्पादित किया जा सकता है।

class TokenAnnotator extends CasAnnotator_ImplBase {
  public void process(CAS cas) throws AnalysisEngineProcessException {
    var tokenType = cas.getTypeSystem().getType(TYPE_NAME_TOKEN);
    var bi = BreakIterator.getWordInstance();
    bi.setText(cas.getDocumentText());
    int begin = bi.first();
    int end;
    for (end = bi.next(); end != BreakIterator.DONE; end = bi.next()) {
      var token = cas.createAnnotation(tokenType, begin, end);
      cas.addFsToIndexes(token);
      begin = end;
    }
  }
}

class EntityAnnotator extends CasAnnotator_ImplBase {
  public void process(CAS cas) throws AnalysisEngineProcessException {
    var tokenType = cas.getTypeSystem().getType(TYPE_NAME_TOKEN);
    var entityType = cas.getTypeSystem().getType(TYPE_NAME_ENTITY);
    for (var token : cas.<Annotation>select(tokenType)) {
      if (Character.isUpperCase(token.getCoveredText().charAt(0))) {
        var entity = cas.createAnnotation(entityType, token.getBegin(), token.getEnd());
        cas.addFsToIndexes(entity);
      }
    }
  }
}

cas = CasFactory.createCas(tsd);
cas.setDocumentText("John likes Apache UIMA.");
cas.setDocumentLanguage("en");

var pipeline = AnalysisEngineFactory.createEngineDescription(
  AnalysisEngineFactory.createEngineDescription(TokenAnnotator.class),
  AnalysisEngineFactory.createEngineDescription(EntityAnnotator.class));

SimplePipeline.runPipeline(cas, pipeline);

for (var anno : cas.<Annotation>select(entityType)) {
   System.out.printf("%s: [%s]%n", anno.getType().getName(), anno.getCoveredText());
}

uimaFIT का उपयोग करना

टूल डाउनलोड करें