$ python3 Python 3.12.8 (v3.12.8:2dc476bcb91, Dec 3 2024, 14:43:19) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import stanza >>> nlp = stanza.Pipeline('en') 2026-03-18 11:19:28 INFO: Checking for updates to resources.json in case models have been updated. Note: this behavior can be turned off with download_method=None or download_method=DownloadMethod.REUSE_RESOURCES Downloading https://raw.githubusercontent.com/stanfordnlp/stanza-resources/main/resources_1.11.0.json: 439kB [00:00, 280MB/s] 2026-03-18 11:19:28 INFO: Downloaded file to /Users/sandiway/Library/Caches/stanza/1.11.0/resources/resources.json 2026-03-18 11:19:30 INFO: Loading these models for language: en (English): ============================================ | Processor | Package | -------------------------------------------- | tokenize | combined | | mwt | combined | | pos | combined_charlm | | lemma | combined_nocharlm | | constituency | ptb3-revised_charlm | | depparse | combined_charlm | | sentiment | sstplus_charlm | | ner | ontonotes-ww-multi_charlm | ============================================ 2026-03-18 11:19:30 INFO: Using device: cpu 2026-03-18 11:19:30 INFO: Loading: tokenize 2026-03-18 11:19:31 INFO: Loading: mwt 2026-03-18 11:19:31 INFO: Loading: pos 2026-03-18 11:19:32 INFO: Loading: lemma 2026-03-18 11:19:33 INFO: Loading: constituency 2026-03-18 11:19:34 INFO: Loading: depparse 2026-03-18 11:19:34 INFO: Loading: sentiment 2026-03-18 11:19:34 INFO: Loading: ner 2026-03-18 11:19:37 INFO: Done loading processors! >>> doc = nlp("N.C. police kill unarmed deaf man using sign language File "", line 1 doc = nlp("N.C. police kill unarmed deaf man using sign language ^ SyntaxError: unterminated string literal (detected at line 1) >>> doc = nlp("N.C. police kill unarmed deaf man using sign language") >>> print(doc) [ [ { "id": 1, "text": "N.C.", "lemma": "N.C.", "upos": "PROPN", "xpos": "NNP", "feats": "Number=Sing", "head": 2, "deprel": "compound", "start_char": 0, "end_char": 4, "ner": "S-GPE", "multi_ner": [ "S-GPE" ] }, { "id": 2, "text": "police", "lemma": "police", "upos": "NOUN", "xpos": "NNS", "feats": "Number=Plur", "head": 3, "deprel": "nsubj", "start_char": 5, "end_char": 11, "ner": "O", "multi_ner": [ "O" ] }, { "id": 3, "text": "kill", "lemma": "kill", "upos": "VERB", "xpos": "VBP", "feats": "Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin", "head": 0, "deprel": "root", "start_char": 12, "end_char": 16, "ner": "O", "multi_ner": [ "O" ] }, { "id": 4, "text": "unarmed", "lemma": "unarmed", "upos": "ADJ", "xpos": "JJ", "feats": "Degree=Pos", "head": 6, "deprel": "amod", "start_char": 17, "end_char": 24, "ner": "O", "multi_ner": [ "O" ] }, { "id": 5, "text": "deaf", "lemma": "deaf", "upos": "ADJ", "xpos": "JJ", "feats": "Degree=Pos", "head": 6, "deprel": "amod", "start_char": 25, "end_char": 29, "ner": "O", "multi_ner": [ "O" ] }, { "id": 6, "text": "man", "lemma": "man", "upos": "NOUN", "xpos": "NN", "feats": "Number=Sing", "head": 3, "deprel": "obj", "start_char": 30, "end_char": 33, "ner": "O", "multi_ner": [ "O" ] }, { "id": 7, "text": "using", "lemma": "use", "upos": "VERB", "xpos": "VBG", "feats": "VerbForm=Ger", "head": 6, "deprel": "acl", "start_char": 34, "end_char": 39, "ner": "O", "multi_ner": [ "O" ] }, { "id": 8, "text": "sign", "lemma": "sign", "upos": "NOUN", "xpos": "NN", "feats": "Number=Sing", "head": 9, "deprel": "compound", "start_char": 40, "end_char": 44, "ner": "O", "multi_ner": [ "O" ] }, { "id": 9, "text": "language", "lemma": "language", "upos": "NOUN", "xpos": "NN", "feats": "Number=Sing", "head": 7, "deprel": "obj", "start_char": 45, "end_char": 53, "ner": "O", "multi_ner": [ "O" ], "misc": "SpaceAfter=No" } ] ] >>> for word in doc.sentences[0].words: ... print(f"{word.id}:{word.text} -- {word.deprel} --> {word.head}") ... 1:N.C. -- compound --> 2 2:police -- nsubj --> 3 3:kill -- root --> 0 4:unarmed -- amod --> 6 5:deaf -- amod --> 6 6:man -- obj --> 3 7:using -- acl --> 6 8:sign -- compound --> 9 9:language -- obj --> 7 >>> >>> nlp = stanza.Pipeline(lang='en', processors='tokenize,pos,constituency') 2026-03-18 11:30:02 INFO: Checking for updates to resources.json in case models have been updated. Note: this behavior can be turned off with download_method=None or download_method=DownloadMethod.REUSE_RESOURCES Downloading https://raw.githubusercontent.com/stanfordnlp/stanza-resources/main/resources_1.11.0.json: 439kB [00:00, 26.2MB/s] 2026-03-18 11:30:02 INFO: Downloaded file to /Users/sandiway/Library/Caches/stanza/1.11.0/resources/resources.json 2026-03-18 11:30:02 WARNING: Language en package default expects mwt, which has been added 2026-03-18 11:30:03 INFO: Loading these models for language: en (English): ====================================== | Processor | Package | -------------------------------------- | tokenize | combined | | mwt | combined | | pos | combined_charlm | | constituency | ptb3-revised_charlm | ====================================== 2026-03-18 11:30:03 INFO: Using device: cpu 2026-03-18 11:30:03 INFO: Loading: tokenize 2026-03-18 11:30:03 INFO: Loading: mwt 2026-03-18 11:30:03 INFO: Loading: pos 2026-03-18 11:30:04 INFO: Loading: constituency 2026-03-18 11:30:05 INFO: Done loading processors! >>> doc = nlp("N.C. police kill unarmed deaf man using sign language") >>> >>> doc.sentences[0].constituency (ROOT (S (NP (NNP N.C.) (NNS police)) (VP (VBP kill) (NP (NP (JJ unarmed) (JJ deaf) (NN man)) (VP (VBG using) (NP (NN sign) (NN language))))))) >>> doc.sentences[1].constituency Traceback (most recent call last): File "", line 1, in IndexError: list index out of range >>>