在本地加载StanfordNLP模型

时间:2019-07-17 14:30:58

标签: python pip stanford-nlp jupyterhub

我正在尝试从本地计算机加载StanfordNLP(python)的英语模型,但无法找到合适的导入语句来执行此操作。可以使用哪些命令?是否可以使用pip安装来加载英语模型?

我尝试使用下载命令来执行此操作,但是我的机器要求所有文件都必须在本地添加。我从https://stanfordnlp.github.io/CoreNLP/下载了英语jar文件,但是不确定是否需要英语和英语KBP版本。

2 个答案:

答案 0 :(得分:3)

用于模型下载的目录设置为/ home / sf

pip install stanfordnlp # install stanfordnlp

import stanfordnlp stanfordnlp.download("en") # here after 'Y' one set custom directory path

local_dir_store_model = "/home/sf" english_model_dir = "/home/sf/en_ewt_models" tokienizer_en_pt_file = "/home/sf/en_ewt_models/en_ewt_tokenizer.pt"

nlp = stanfordnlp.Pipeline(models_dir=local_dir_store_model,processors = 'tokenize,mwt,lemma,pos') doc = nlp("""One of the most wonderful things in life is to wake up and enjoy a cuddle with somebody; unless you are in prison"""") doc.sentences[0].print_tokens()

答案 1 :(得分:0)

我不清楚你想做什么。

如果要运行全Python管道,可以通过指定每个注释器的路径来下载文件并以Python代码运行它们,如本示例所示。

import stanfordnlp

config = {
    'processors': 'tokenize,mwt,pos,lemma,depparse', # Comma-separated list of processors to use
    'lang': 'fr', # Language code for the language to build the Pipeline in
    'tokenize_model_path': './fr_gsd_models/fr_gsd_tokenizer.pt', # Processor-specific arguments are set with keys "{processor_name}_{argument_name}"
    'mwt_model_path': './fr_gsd_models/fr_gsd_mwt_expander.pt',
    'pos_model_path': './fr_gsd_models/fr_gsd_tagger.pt',
    'pos_pretrain_path': './fr_gsd_models/fr_gsd.pretrain.pt',
    'lemma_model_path': './fr_gsd_models/fr_gsd_lemmatizer.pt',
    'depparse_model_path': './fr_gsd_models/fr_gsd_parser.pt',
    'depparse_pretrain_path': './fr_gsd_models/fr_gsd.pretrain.pt'
}
nlp = stanfordnlp.Pipeline(**config) # Initialize the pipeline using a configuration dict
doc = nlp("Van Gogh grandit au sein d'une famille de l'ancienne bourgeoisie.") # Run the pipeline on input text
doc.sentences[0].print_tokens()

如果要使用Python接口运行Java服务器,则需要下载Java jar文件并启动服务器。此处的完整信息:https://stanfordnlp.github.io/CoreNLP/corenlp-server.html

然后,您可以使用Python界面访问服务器。此处的完整信息:https://stanfordnlp.github.io/stanfordnlp/corenlp_client.html

但是要清楚一点,jar文件不应与纯Python管道一起使用。这些用于运行Java服务器。