仔仔大人的毕业设计

闫猪猪不要气馁

Posted by Jinliang on April 18, 2020

2020-04-23

任务1 pycharm 配置远程调试

  1. 通过上网查资料,了解 pycharm 怎么配置远程调试,之前你配置过好几次,遇到问题多想想,多查资料互相验证。教程:https://zhuanlan.zhihu.com/p/38591832

    结果要求能够将服务器代码 DrQA download 到本地,并且 python interpreter 使用远程 conda 虚拟环境 nlp 中的python。

    在本地 pycharm 中运行 QA 问答!

  2. 使用 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:

  1. https://github.com/AmoseKang/DrQA_cn/issues/7,关于其中的 DB。

DrQA_CN 运行步骤:

  1. 切换 python 环境:conda activate nlp_cn

  2. 进入目录: cd antenna/DrQA_cn

  3. 执行 QA 问答:

    python scripts/pipeline/interactive.py –gpu 0 –tokenizer zh –doc-db data/wikipedia/docs.db

    python scripts/pipeline/sinteractive.py –model data/model/model8.mdl –gpu 1 –db data/wikipedia/docs.dbp

DrQA 运行步骤:

  1. 切换 python 环境:conda activate nlp

  2. 进入目录: cd antenna/DrQA

  3. 执行 QA 问答:python scripts/pipeline/interactive.py –gpu 0

    image-20200419120643045

DrQAChinese 运行步骤:

  1. 切换 python 环境:conda activate nlpchinese

  2. 进入目录:cd antenna/DrQAChinese
  3. 执行 QA 问答:python scripts/retriever/interactive.py –model addition/matrix/cnwiki-tfidf-ngram=2-hash=16777216-tokenizer=jieba.npz
  4. 评估: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

节奏目标:

  1. 验证 DrQA 做校园问答系统的可行性
    • 通过 Github 代 码验证,代码:https://github.com/facebookresearch/DrQA/;DrQA 的非官方实现,相比于官方更简单,更多对比阅读 README,代码:https://github.com/hitvoice/DrQA
    • 查阅相关资料,看前人的相关工作
  2. 思考毕业设计的其他方向

工作:

  1. 下载 DrQA 官方代码,运行验证,目前正在下载 data.tar.gz

  2. 查阅相关资料

结论:

  1. DrQA 处理中文时,一般仅需要更换语言处理包即可。仔仔在做毕业设计时,这也是更改算法的一个点,可以用北京大学的中文处理包
  2. 关于相关资料中的第一个,也就是使用哈工大的那个博客,我不太清楚他只是更换了处理包,还是做了一些更多的工作。这个需要在对 DrQA 的基本工作方式了解的基础上,对博客所说的进行验证。为自己的毕业设计提供思路,如果这篇博客做了更多的工作,能不能借鉴?

个人建议:

其实使用 DrQA 作为毕业设计系统的基础算法,还是很有可行性的,分析如下:

  1. 关于中文的问题。DrQA 应用于校园 QA 系统,最重要的是实现中文支持。这方面其实已经有了前人的工作,所以操作起来不会没有头绪;但是又没有一个官方的中文实现,所以又有很大的操作空间。因此作为毕业设计系统的核心算法,仅仅将借鉴 DrQA 的官方版本,将其改进为支持中文,就已经满足要求了,而且在应用 DrQA 的过程中,完全可以针对系统中的数据集,做更多的 Trick。所以我认为中文的问题是难点创新点,但是是可以做出来的,而且可操作性、个性化的空间很大,值得尝试。
  2. 我看了一些其他的 QA 系统,目前市面上并没有效果特别好的 QA 的平台,各个公司也都是在探索过程中,所以不要对实验结果有太高要求,当然没有效果也不行。这种基于算法探索类型的系统,能够证明对应的算法,能够在当前的问题中,或者说当前的系统中,有一定的效果,就已经足够了。
  3. 如果选定了这个方向,前期需要做一些调研、实验探究。详细一点就是,获取当前问题中(校园问答)的数据集,然后将 DrQA 应用为中文(前期可以怎么简单怎么来),将两者结合,能够有一定的效果,就可以去找老师讨论。并且如果前期完成了上述内容,毕业设计的系统,工作量就是可估计的了,不然有算法效果的不定因素,工作量不可估计。

资料:

[NLP 中文相关资料](https://github.com/crownpku/Awesome-Chinese-NLP)