DrQA安裝手冊
DrQA安裝手冊
2017年,斯坦福大學和 Facebook人工智能研究所在 arXiv 發布了一個基於維基百科的開放域問題問答系統 DrQA。DrQA 是一個開放域的問答系統,在向 DrQA 系統輸入一段文本,然後提一個答案能在該文本中找到的問題,DrQA 就能準確地給出這個問題的答案(不基於上下文邏輯推理)。
DrQA模型主要分為兩部分,第一部分Retriever和第二部分Reader,Retriever的作用是從眾多文章中選擇出可能包含答案的候選文章,而Reader則從候選文章中提取出問題的答案。DrQA具體的原理可以見論文。
論文地址:https://arxiv.org/abs/1704.00051
開源地址:https://github.com/facebookresearch/DrQA
以下為DrQA系統的安裝流程:
- 安裝Python3.5:
DrQA需要Python3.5以上,Python3.5的安裝就不再敘述.
2.安裝Anaconda:
Anaconda是一個用於科學計算的Python發行版,支持Linux, Mac, Windows系統,提供了包管理與環境管理的功能,可以很方便地解決多版本python並存、切換以及各種第三方包安裝問題。Anaconda利用工具/命令conda來進行package和environment的管理,並且已經包含了Python和相關的配套工具。
(1)從https://repo.continuum.io/archive/index.html上下載對應版本的Anaconda版本,解壓到指定位置並進入目錄。
(2) 運行命令 bash Anaconda3-5.2.0-Linux-x86_64.sh 進行安裝。
(3) 運行 echo ‘export PATH="~/anaconda2/bin:$PATH"‘ >> ~/.bashrc 進行配置。
(4)運行命令 source ~/.bashrc 使配置生效。
3.安裝PyTorch
PyTorch一個基於Python的科學計算包,是DrQA的必備計算包。註意
在裝了Anaconda後,僅需 conda install pytorch=0.3.0 -c soumith 即可自動安裝PyTorch及依賴包。
4.安裝DrQA
這部分在DrQA的github上有很詳細的介紹。具體流程如下:
(1)安裝DrQA及依賴包
git clone https://github.com/facebookresearch/DrQA.git
cd DrQA
pip install -r requirements.txt
python setup.py develop
requirements.txt記錄了DrQA系統依賴的各種包,執行命令後便會自動下載安裝並更新。
(2)安裝tokenizer
tokenizer可以有兩種選擇,一種是斯坦福的CoreNLP,另外一種是Spacy。官網描述如下:
If you use the CoreNLPTokenizer or SpacyTokenizer you also need to download the Stanford CoreNLP jars and spaCy enmodel, respectively. If you use Stanford CoreNLP, have the jars in your java CLASSPATH environment variable, or set the path programmatically with:
import drqa.tokenizers
drqa.tokenizers.set_default(‘corenlp_classpath‘,‘/your/corenlp/classpath/*‘)
DrQA默認的tokenizer為CoreNlp,可以運行命令 ./install_corenlp.sh進行下載安裝。
安裝好後可以選擇自動添加到環境變量,但是有時用DrQA自動的方式添加到環境變量會不正確,建議還是按照官網的方法手動添加。如有需要用spacy的可以運行命令 python -m spacy download en。
(3)下載數據集,詞向量等
運行命令即可自動下載數據集和詞向量bash ./download.sh下載量比較大,大約7.5G。
至此DrQA安裝完成,運行python scripts/pipeline/interactive.py來嘗試DrQA的demo。
DrQA安裝手冊