diff --git a/AUTHORS.md b/AUTHORS.md index cc1937035d..49e99d05d1 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -280,6 +280,7 @@ - Hiroki Teranishi - Ruben Cartuyvels - Dalton Pearson +- Gavish Poddar - Saibo Geng - Ahmet Yildirim diff --git a/nltk/parse/malt.py b/nltk/parse/malt.py index b4a17ecf1b..0368595fa7 100644 --- a/nltk/parse/malt.py +++ b/nltk/parse/malt.py @@ -94,7 +94,7 @@ def find_malt_model(model_filename): class MaltParser(ParserI): """ A class for dependency parsing with MaltParser. The input is the paths to: - - a maltparser directory + - (optionally) a maltparser directory - (optionally) the path to a pre-trained MaltParser .mco model file - (optionally) the tagger to use for POS tagging before parsing - (optionally) additional Java arguments @@ -102,18 +102,18 @@ class MaltParser(ParserI): Example: >>> from nltk.parse import malt >>> # With MALT_PARSER and MALT_MODEL environment set. - >>> mp = malt.MaltParser('maltparser-1.7.2', 'engmalt.linear-1.7.mco') # doctest: +SKIP + >>> mp = malt.MaltParser(model_filename='engmalt.linear-1.7.mco') # doctest: +SKIP >>> mp.parse_one('I shot an elephant in my pajamas .'.split()).tree() # doctest: +SKIP (shot I (elephant an) (in (pajamas my)) .) >>> # Without MALT_PARSER and MALT_MODEL environment. - >>> mp = malt.MaltParser('/home/user/maltparser-1.7.2/', '/home/user/engmalt.linear-1.7.mco') # doctest: +SKIP + >>> mp = malt.MaltParser('/home/user/maltparser-1.9.2/', '/home/user/engmalt.linear-1.7.mco') # doctest: +SKIP >>> mp.parse_one('I shot an elephant in my pajamas .'.split()).tree() # doctest: +SKIP (shot I (elephant an) (in (pajamas my)) .) """ def __init__( self, - parser_dirname, + parser_dirname="", model_filename=None, tagger=None, additional_java_args=None, @@ -328,7 +328,7 @@ def train_from_file(self, conll_file, verbose=False): >>> from nltk import pos_tag >>> assert 'MALT_PARSER' in os.environ, str( ... "Please set MALT_PARSER in your global environment, e.g.:\n" - ... "$ export MALT_PARSER='/home/user/maltparser-1.7.2/'") + ... "$ export MALT_PARSER='/home/user/maltparser-1.9.2/'") >>> >>> assert 'MALT_MODEL' in os.environ, str( ... "Please set MALT_MODEL in your global environment, e.g.:\n" @@ -347,8 +347,7 @@ def train_from_file(self, conll_file, verbose=False): >>> dg1 = DependencyGraph(_dg1_str) >>> dg2 = DependencyGraph(_dg2_str) >>> # Initialize a MaltParser object - >>> parser_dirname = 'maltparser-1.7.2' - >>> mp = MaltParser(parser_dirname=parser_dirname) + >>> mp = MaltParser() >>> >>> # Trains a model. >>> mp.train([dg1,dg2], verbose=False) @@ -372,7 +371,7 @@ def train_from_file(self, conll_file, verbose=False): (walks John (dog a) .) >>> >>> # Initialize a MaltParser object with an English pre-trained model. - >>> parser_dirname = 'maltparser-1.7.2' + >>> parser_dirname = 'maltparser-1.9.2' >>> model_name = 'engmalt.linear-1.7.mco' >>> mp = MaltParser(parser_dirname=parser_dirname, model_filename=model_name, tagger=pos_tag) >>> sent1 = 'I shot an elephant in my pajamas .'.split() diff --git a/nltk/test/gluesemantics_malt.doctest b/nltk/test/gluesemantics_malt.doctest index b06e8f62bf..b04399417e 100644 --- a/nltk/test/gluesemantics_malt.doctest +++ b/nltk/test/gluesemantics_malt.doctest @@ -25,7 +25,7 @@ Initialize the Dependency Parser ... ('^(every)$', 'univ_quant'), ... ('^(girl|dog)$', 'NN') ... ]).tag - >>> depparser = MaltParser("maltparser-1.7.2", tagger=tagger) + >>> depparser = MaltParser(tagger=tagger) -------------------- Automated Derivation diff --git a/nltk/test/gluesemantics_malt_fixt.py b/nltk/test/gluesemantics_malt_fixt.py index 2b70bf6106..b80264123e 100644 --- a/nltk/test/gluesemantics_malt_fixt.py +++ b/nltk/test/gluesemantics_malt_fixt.py @@ -4,6 +4,6 @@ def setup_module(): from nltk.parse.malt import MaltParser try: - depparser = MaltParser("maltparser-1.7.2") + depparser = MaltParser() except (AssertionError, LookupError) as e: pytest.skip("MaltParser is not available") diff --git a/tools/github_actions/third-party.sh b/tools/github_actions/third-party.sh index 24a0cf41ee..37e5c441c9 100644 --- a/tools/github_actions/third-party.sh +++ b/tools/github_actions/third-party.sh @@ -10,7 +10,7 @@ pushd 'third' # Download nltk stanford dependencies # Downloaded to ~/third/stanford-corenlp # stanford_corenlp_package_zip_name=$(curl -s 'https://stanfordnlp.github.io/CoreNLP/' | grep -o 'stanford-corenlp-full-.*\.zip' | head -n1) -stanford_corenlp_package_zip_name="stanford-corenlp-full-2017-06-09.zip" +stanford_corenlp_package_zip_name="stanford-corenlp-full-2018-10-05.zip" [[ ${stanford_corenlp_package_zip_name} =~ (.+)\.zip ]] stanford_corenlp_package_name=${BASH_REMATCH[1]} if [[ ! -d ${stanford_corenlp_package_name} ]]; then @@ -24,7 +24,7 @@ fi # Downloaded to ~/third/stanford-parser #stanford_parser_package_zip_name=$(curl -s 'https://nlp.stanford.edu/software/lex-parser.shtml' | grep -o 'stanford-parser-full-.*\.zip' | head -n1) -stanford_parser_package_zip_name="stanford-parser-full-2017-06-09.zip" +stanford_parser_package_zip_name="stanford-parser-full-2018-10-17.zip" [[ ${stanford_parser_package_zip_name} =~ (.+)\.zip ]] stanford_parser_package_name=${BASH_REMATCH[1]} if [[ ! -d ${stanford_parser_package_name} ]]; then @@ -37,7 +37,7 @@ fi # Downloaded to ~/third/stanford-postagger #stanford_tagger_package_zip_name=$(curl -s 'https://nlp.stanford.edu/software/tagger.shtml' | grep -o 'stanford-postagger-full-.*\.zip' | head -n1) -stanford_tagger_package_zip_name="stanford-postagger-full-2017-06-09.zip" +stanford_tagger_package_zip_name="stanford-postagger-full-2018-10-16.zip" [[ ${stanford_tagger_package_zip_name} =~ (.+)\.zip ]] stanford_tagger_package_name=${BASH_REMATCH[1]} if [[ ! -d ${stanford_tagger_package_name} ]]; then @@ -96,7 +96,7 @@ fi # fi # Download MaltParser to ~/third/maltparser -malt_file_name="maltparser-1.7.2.tar.gz" +malt_file_name="maltparser-1.9.2.tar.gz" [[ ${malt_file_name} =~ (.+)\.tar\.gz ]] malt_folder_name=${BASH_REMATCH[1]} if [[ ! -d ${malt_folder_name} ]]; then