<jupyter_start><jupyter_text>Import thư viện cần dùng<jupyter_code>from nltk.tree import ParentedTree<jupyter_output><empty_output><jupyter_text>Định nghĩa các hàm liên quan<jupyter_code>def all_label(nltk_tree):
    for s in nltk_tree.subtrees():
        if s.label() != 'S' and s.label() != 'ROOT' and s.height() > 2:
            print(s.label() + ': ', end='')
            print(' '.join(s.leaves()).replace('_', ' '))      
def get_text_label(nltk_tree, get_label='NP'):
    for s in nltk_tree.subtrees():
        if s.label() == get_label:
            print(' '.join(s.leaves()).replace('_', ' '))
def get_text_tag(nltk_tree, get_tag='N'):
    for s in nltk_tree.subtrees(lambda t: t.height() == 2):
        if s.label() == get_tag:
            print(s.leaves()[0])<jupyter_output><empty_output><jupyter_text>Demo  Tiếng Việt<jupyter_code>sent_parse = '(S (NP (Nc Con) (N chó) (AP (A trắng))) (VP (V cắn) (NP (Nc con) (N mèo) (A đen))) (. .))'
nltk_tree = ParentedTree.fromstring(sent_parse)
nltk_tree.pretty_print()<jupyter_output>S                     
      _________|___________________   
     NP                VP          | 
  ___|____      _______|___        |  
 |   |    AP   |           NP      | 
 |   |    |    |    _______|___    |  
 Nc  N    A    V   Nc      N   A   . 
 |   |    |    |   |       |   |   |  
Con chó trắng cắn con     mèo đen  .<jupyter_text>Rút trích NP, VP, AP trong câu  Toàn bộ ngữ trong câu, bao gồm ngữ chính và ngữ phụ (ngữ trong ngữ)<jupyter_code>all_label(nltk_tree)<jupyter_output>NP: Con chó trắng
AP: trắng
VP: cắn con mèo đen
NP: con mèo đen<jupyter_text>Rút trích ngữ chính trong câu Rút trích danh ngữ chính trong câu (Danh ngữ chính là danh ngữ nằm trong S hoặc SBAR)<jupyter_code>get_text_label(nltk_tree, 'NP')<jupyter_output>Con chó trắng
con mèo đen<jupyter_text>Rút trích danh từ chính trong câu (danh từ chính là danh từ nằm trong danh ngữ)<jupyter_code>get_text_tag(nltk_tree, 'N')<jupyter_output>chó
mèo<jupyter_text>Rút trích động ngữ chính trong câu<jupyter_code>get_text_label(nltk_tree, 'VP')<jupyter_output>cắn con mèo đen<jupyter_text>Rút trích động từ trong câu<jupyter_code>get_text_tag(nltk_tree, 'V')<jupyter_output>cắn<jupyter_text>Rút trích tính ngữ chính trong câu<jupyter_code>get_text_label(nltk_tree, 'AP')<jupyter_output>trắng<jupyter_text>Rút trích tính từ chính trong câu<jupyter_code>get_text_tag(nltk_tree, 'A')<jupyter_output>trắng
đen<jupyter_text>Tiếng Anh<jupyter_code>sent_parse = '(ROOT\
  (S\
    (NP (DT The) (NN man))\
    (VP (VBD sat)\
      (PP (IN on)\
        (NP (DT the) (NN chair))))\
    (. .)))'
nltk_tree = ParentedTree.fromstring(sent_parse)
nltk_tree.pretty_print()<jupyter_output>ROOT                      
                 |                         
                 S                        
      ___________|______________________   
     |                VP                | 
     |        ________|___              |  
     |       |            PP            | 
     |       |    ________|___          |  
     NP      |   |            NP        | 
  ___|___    |   |         ___|____     |  
 DT      NN VBD  IN       DT       NN   . 
 |       |   |   |        |        |    |  
The     man sat  on      the     chair  .<jupyter_text>Rút trích NP, VP, AP trong câu  Toàn bộ ngữ trong câu, bao gồm ngữ chính và ngữ phụ (ngữ trong ngữ)<jupyter_code>all_label(nltk_tree)<jupyter_output>NP: The man
VP: sat on the chair
PP: on the chair
NP: the chair<jupyter_text>Rút trích ngữ chính trong câu Rút trích danh ngữ chính trong câu (Danh ngữ chính là danh ngữ nằm trong S hoặc SBAR)<jupyter_code>get_text_label(nltk_tree, 'NP')<jupyter_output>The man
the chair<jupyter_text>Rút trích danh từ chính trong câu (danh từ chính là danh từ nằm trong danh ngữ)<jupyter_code>get_text_tag(nltk_tree, 'NN')<jupyter_output>man
chair<jupyter_text>Rút trích động ngữ chính trong câu<jupyter_code>get_text_label(nltk_tree, 'VP')<jupyter_output>sat on the chair<jupyter_text>Rút trích động từ trong câu<jupyter_code>get_text_tag(nltk_tree, 'VBD')<jupyter_output>sat<jupyter_text>Rút trích tính ngữ chính trong câu<jupyter_code>get_text_label(nltk_tree, 'PP')<jupyter_output>on the chair<jupyter_text>Rút trích tính từ chính trong câu<jupyter_code>get_text_tag(nltk_tree, 'IN')<jupyter_output>on
{'fraction_non_alphanumeric': 0.10851808634772463, 'fraction_numerical': 0.0007001166861143524, 'mean_word_length': 2.837063563115488, 'pattern_counts': {'":': 0, '<': 57, '<?xml version=': 0, '>': 58, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 5, 'word_list_counts': {'cursed_substrings.json': 7, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '18', 'dir': 'jupyter-structured-clean-dedup', 'id': '622456', 'license': 'MIT', 'n_tokens_mistral': 1935, 'n_tokens_neox': 1942, 'n_words': 365, 'path': 'extract_phrase.ipynb', 'repo_name': 'ptpuyen1511/extract_phrase_from_phrase_structure', 'size': '4285'}