2020-04-23
任务1 pycharm 配置远程调试
-
通过上网查资料,了解 pycharm 怎么配置远程调试,之前你配置过好几次,遇到问题多想想,多查资料互相验证。教程:https://zhuanlan.zhihu.com/p/38591832结果要求能够将服务器代码 DrQA download 到本地,并且 python interpreter 使用远程 conda 虚拟环境 nlp 中的python。在本地 pycharm 中运行 QA 问答! -
使用 CoreNLP 进行中文分词。需要你自己新建立一个测试 demo,按照网上的方式了解 CoreNLP 的大概原理、使用方式,在 demo 中配置使用 CoreNLP 中文分词功能。
以上两个任务明晚检查!!!
我大体查了一下,这两个任务网上教程很多,你需要找多个教程,对比着理解对比着看,不要钻进去其中一个教程出不来!!
相关资源:
服务器地址私发你
CoreNLP 中文 jar 包在服务器的目录:~/antenna/Downloads/stanford-chinese-corenlp-2018-10-05-models.jar
DrQA 地址:~/antenna/DrQA
nlp 虚拟环境 python interpreter 地址:~/.conda/envs/nlp/bin/python
2020-04-19
Python 虚拟环境对应关系:
nlp -> DrQA
nlp_cn -> DrQA_cn
Nlpchinese -> DrQAchinese
DrQA_cn:
https://github.com/AmoseKang/DrQA_cn/issues/7,关于其中的 DB。
DrQA_CN 运行步骤:
-
切换 python 环境:conda activate nlp_cn -
进入目录: cd antenna/DrQA_cn -
执行 QA 问答:python scripts/pipeline/interactive.py –gpu 0 –tokenizer zh –doc-db data/wikipedia/docs.dbpython scripts/pipeline/sinteractive.py –model data/model/model8.mdl –gpu 1 –db data/wikipedia/docs.dbp
DrQA 运行步骤:
-
切换 python 环境:conda activate nlp -
进入目录: cd antenna/DrQA -
执行 QA 问答:python scripts/pipeline/interactive.py –gpu 0
DrQAChinese 运行步骤:
-
切换 python 环境:conda activate nlpchinese 进入目录:cd antenna/DrQAChinese执行 QA 问答:python scripts/retriever/interactive.py –model addition/matrix/cnwiki-tfidf-ngram=2-hash=16777216-tokenizer=jieba.npz评估:python scripts/retriever/eval.py test.json –model addition/matrix/cnwiki-tfidf-ngram=2-hash=16777216-tokenizer=jieba.npz –doc-db addition/cnwiki.db –tokenizer jieba –n-docs 5
特殊包版本:
pytorch:1.0.0
conda install pytorch==1.0.0 torchvision==0.2.1 cuda90 -c pytorch
numpy:1.16.2
pip install numpy==1.16.2
2020-04-18
节奏目标:
验证 DrQA 做校园问答系统的可行性通过 Github 代 码验证,代码:https://github.com/facebookresearch/DrQA/;DrQA 的非官方实现,相比于官方更简单,更多对比阅读 README,代码:https://github.com/hitvoice/DrQA查阅相关资料,看前人的相关工作
思考毕业设计的其他方向
工作:
-
下载 DrQA 官方代码,运行验证,目前正在下载 data.tar.gz -
查阅相关资料-
DrQA + 哈工大语言处理包 -> 解决中文问答问题具体分为以下几个:在安装时可以对照他们的流程进行,不过还是以 Github 为主。 -
使用斯坦福 CoreNLP 语言处理包的中文部分,Github 36星这种在 Github 上的拥有完整的代码,可信度高,遇到问题可以查看 issue,一般其他人遇到的问题饿也会在 issue 中问。 -
使用 jieba 进行中文处理,将 DrQA 用于解决中文 QA 问题。
-
结论:
DrQA 处理中文时,一般仅需要更换语言处理包即可。仔仔在做毕业设计时,这也是更改算法的一个点,可以用北京大学的中文处理包。关于相关资料中的第一个,也就是使用哈工大的那个博客,我不太清楚他只是更换了处理包,还是做了一些更多的工作。这个需要在对 DrQA 的基本工作方式了解的基础上,对博客所说的进行验证。为自己的毕业设计提供思路,如果这篇博客做了更多的工作,能不能借鉴?
个人建议:
其实使用 DrQA 作为毕业设计系统的基础算法,还是很有可行性的,分析如下:
关于中文的问题。DrQA 应用于校园 QA 系统,最重要的是实现中文支持。这方面其实已经有了前人的工作,所以操作起来不会没有头绪;但是又没有一个官方的中文实现,所以又有很大的操作空间。因此作为毕业设计系统的核心算法,仅仅将借鉴 DrQA 的官方版本,将其改进为支持中文,就已经满足要求了,而且在应用 DrQA 的过程中,完全可以针对系统中的数据集,做更多的 Trick。所以我认为中文的问题是难点创新点,但是是可以做出来的,而且可操作性、个性化的空间很大,值得尝试。我看了一些其他的 QA 系统,目前市面上并没有效果特别好的 QA 的平台,各个公司也都是在探索过程中,所以不要对实验结果有太高要求,当然没有效果也不行。这种基于算法探索类型的系统,能够证明对应的算法,能够在当前的问题中,或者说当前的系统中,有一定的效果,就已经足够了。如果选定了这个方向,前期需要做一些调研、实验探究。详细一点就是,获取当前问题中(校园问答)的数据集,然后将 DrQA 应用为中文(前期可以怎么简单怎么来),将两者结合,能够有一定的效果,就可以去找老师讨论。并且如果前期完成了上述内容,毕业设计的系统,工作量就是可估计的了,不然有算法效果的不定因素,工作量不可估计。
资料:
[NLP 中文相关资料](https://github.com/crownpku/Awesome-Chinese-NLP)