如果你要使用 CoreNLPTokenizer 或 SpacyTokenizer,你还需要分别下载 Stanford CoreNLP jar 包和 spaCy en 模型。如果你使用 Stanford CoreNLP,让 jar 位于你的 Java CLASSPATH 环境变量中,或使用以下代码通过编程方式设置路径: importdrqa.tokenizersdrqa.tokenizer.set_default( 'corenlp_classpath', '/your/corenlp/classpath/*') 重要:默认的 tokenizer 是 CoreNLP,所以你需要在 CLASSPATH 里面有它,以运行 README 示例。 比如:export CLASSPATH=$CLASSPATH:/path/to/corenlp/download/* 为了方便,如果没有给定模型参数,Document Reader、Retriever 和 Pipeline 模块将会尝试加载默认模型。参阅下面内容下载这些模型。 训练后的模型与数据 要下载我们提供的所有用于维基百科问答的训练后的模型和数据,请运行: ./download.sh 警告:这会下载一个 7.5GB 的 tar 压缩包(解压后 25GB),需要一些时间。 这会将数据存储在各种模块的默认值指定的文件路径中的 data/ 中。通过将 DRQA_DATA 环境变量指定到其它地方,可以修改这个顶级目录。 默认目录结构(参见嵌入部分了解更多有关用于训练的额外下载的信息): DrQA├── data ( or$DRQA_DATA) ├── datasets │ ├── SQuAD-v1 .1-<train/dev>.<txt/json> │ ├── WebQuestions-<train/test>.txt │ ├── freebase-entities.txt │ ├── CuratedTrec-<train/test>.txt │ └── WikiMovies-<train/test/entities>.txt ├── reader │ ├── multitask.mdl │ └── single.mdl └── wikipedia ├── docs.db └── docs-tfidf-ngram= 2-hash= 16777216-tokenizer=simple.npz 不同模块的默认模型路径也可以通过下面的代码进行修改,比如: importdrqa.readerdrqa.reader.set_default( 'model', '/path/to/model')reader = drqa.reader.Predictor() # Default model loaded for prediction 文档检索器(Document Retriever) 使用维基百科(unigram 和 bigram、2^24 bin,简单 tokenization)的 TF-IDF 模型在多个数据集(这是测试集,开发集是 SQuAD)上的评估结果: 链接:https://s3.amazonaws.com/fair-data/drqa/docs-tfidf-ngram%3D2-hash%3D16777216-tokenizer%3Dsimple.npz.gz 这里 P@5 是指答案部分出现在前 5 个文档中的问题的百分比。 文档阅读器(Document Reader) 仅在 SQuAD 上训练的模型,在 SQuAD 背景中的评估结果: 链接:https://s3.amazonaws.com/fair-data/drqa/single.mdl (责任编辑:本港台直播) |