2012-11-20 17 views
11

के साथ एक निर्भरता पेड़ कैसे प्राप्त करें नीचे मैं चित्र के रूप में निर्भरता पेड़ कैसे प्राप्त कर सकता हूं। मैं निर्भरता संबंध को शुद्ध पाठ के रूप में प्राप्त कर सकता हूं, और निर्भरता ग्राफ की सहायता से निर्भरता ग्राफ भी प्राप्त कर सकता हूं। लेकिन निर्भरता पेड़ के बारे में कैसे शब्द हैं जो नोड्स और निर्भरता के रूप में शब्द हैं। बहुत बहुत धन्यवाद!स्टैनफोर्ड एनएलपी पार्सर

Standard Stanford dependencies (collapsed and propagated)

उत्तर

8

ये ग्राफ़ GraphViz, एक खुला स्रोत ग्राफ ड्राइंग पैकेज, मूल रूप से एटी & टी रिसर्च से का उपयोग कर उत्पादन किया जाता है। edu.stanford.nlp.trees.semgraph.SemanticGraph में आप toDotFormat() पर एक विधि पा सकते हैं जो SemanticGraph को dot इनपुट भाषा प्रारूप में परिवर्तित कर देगा जिसे dot/GraphViz द्वारा प्रस्तुत किया जा सकता है। वर्तमान में, एक कमांड लाइन उपकरण नहीं है जो इस कार्यक्षमता प्रदान करता है, लेकिन यह उस विधि का उपयोग करके बहुत सरल है।

2

मैं इस समय कुछ इसी तरह से निपट रहा हूं। यह एक आदर्श समाधान नहीं है लेकिन यह सहायक हो सकता है। जैसा कि ऊपर दिए गए उत्तर में बताया गया है, डॉट भाषा में पार्स पेड़ प्राप्त करने के लिए toDotFormat() का उपयोग करें। फिर इस डेटा को पढ़ने और इसे एक तस्वीर के रूप में प्रस्तुत करने के लिए कई टूल (मैं अजगर-ग्राफ का उपयोग कर रहा हूं) का उपयोग करें। इस लिंक पर एक उदाहरण है http://code.google.com/p/python-graph/wiki/Example

1

मुझे भी इसकी आवश्यकता है; अब यह देखना बहुत अच्छा है कि हमारे पास एक ऑनलाइन उपकरण भी है। http://graphs.grevian.org/graph: इस का उपयोग करें (यहाँ उल्लेख किया: http://graphs.grevian.org/)

कदम हैं:

sent = 'What is the step by step guide to invest in share market in india?' 
p = dep_parser.raw_parse(sent) 
for e in p: 
    p = e 
    break 
  • प्रिंट .to_dot() प्रारूप के रूप में:

    print(p.to_dot()) 
    
    1. वाक्य पार्स

    2. कॉपी पेस्ट करें http://graphs.grevian.org/graph पर आउटपुट और जेनरेट बटन दबाएं।

    आपको वांछित ग्राफ देखना चाहिए।

    +0

    धन्यवाद क्रिस्टोफर। आप वास्तव में अच्छा है। – user1953366

    1

    यहाँ कैसे आप वास्तव में क्या करना होगा कि (अजगर में)

    सभी आवश्यक निर्भरता स्थापित कर रहा है (ओएस एक्स):

    # assuming you have java installed and available in PATH 
    # and homebrew installed 
    
    brew install stanford-parser 
    brew install graphviz 
    pip install nltk 
    pip install graphviz 
    

    कोड:

    import os 
    from nltk.parse.stanford import StanfordDependencyParser 
    from graphviz import Source 
    
    # make sure nltk can find stanford-parser 
    # please check your stanford-parser version from brew output (in my case 3.6.0) 
    os.environ['CLASSPATH'] = r'/usr/local/Cellar/stanford-parser/3.6.0/libexec' 
    
    sentence = 'The brown fox is quick and he is jumping over the lazy dog' 
    
    sdp = StanfordDependencyParser() 
    result = list(sdp.raw_parse(sentence)) 
    
    dep_tree_dot_repr = [parse for parse in result][0].to_dot() 
    source = Source(dep_tree_dot_repr, filename="dep_tree", format="png") 
    source.view() 
    

    जिसके परिणामस्वरूप:

    CH3, अच्छा पढ़ा, यदि आप के बारे में निर्भरता आधारित पार्स और जानकारी की आवश्यकता से संदर्भ लें:

    enter image description here

    जब Text Analytics With Python पढ़ने मैं इस का इस्तेमाल किया।

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

    • कोई संबंधित समस्या नहीं^_^