{ "info": { "author": "Ex_treme", "author_email": "pzsyjsgldd@163.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Natural Language :: English", "Programming Language :: Python :: 3" ], "description": "# \u57fa\u4e8e\u6df1\u5ea6\u5b66\u4e60\u548c\u6a21\u677f\u7684\u95ee\u53e5\u751f\u6210\u7b97\u6cd5\uff08CPU\u7248\u672c\uff09\n---\n\uff08Question Generation Algorithm Based on Depth Learning and Template,QGDT\uff09\n=======\n\n## \u7b97\u6cd5\u529f\u80fd\u7b80\u4ecb\n\u57fa\u4e8e\u6df1\u5ea6\u5b66\u4e60\u548c\u6a21\u677f\u7684\u95ee\u53e5\u751f\u6210\u7b97\u6cd5\u5b8c\u6210\u4e86\uff1a\u901a\u8fc7\u8bad\u7ec3\u597d\u7684SVM\u5206\u7c7b\u5668\u5bf9\u67e5\u8be2\u8bcd\uff08\u4e00\u81f3\u4e09\u4e2a\uff0c\u53ef\u4ee5\u662f\u5173\u952e\u8bcd\u3001\u77ed\u8bed\u3001\u53e5\u5b50\uff09\u53bb\u91cd\uff08\u67e5\u8be2\u8bcd\u5197\u4f59\uff09\u751f\u6210\u6700\u7ec8\u68c0\u7d22\u8bcd\uff0c\u68c0\u7d22\u8bcd\u901a\u8fc7\u6392\u5e8f\u7b97\u6cd5\uff08Word2Vec\u8bcd\u5411\u91cf\u6a21\u578b+RNNLM\u8bed\u8a00\u6a21\u578b\uff09\u5f97\u5230\u4e0e\u9884\u5b9a\u4e49\u7684\u6a21\u677f\u7684\u5339\u914d\u5f97\u5206\uff0c\u6839\u636e\u5f97\u5206\u6700\u9ad8\u7684\u6a21\u677f\u751f\u6210\u6700\u7ec8\u7684\u95ee\u53e5\u3002\n\n## \u7b97\u6cd5\u5e93\u7ec4\u6210\n+ templates --- \u9884\u5b9a\u4e49\u68c0\u7d22\u8bcd\u6a21\u677f\n+ data --- \u6e90\u6570\u636e\uff08\u673a\u5668\u5b66\u4e60\u3001\u6df1\u5ea6\u5b66\u4e60\uff09\n+ models --- \u9884\u8bad\u7ec3\u7684\u6a21\u578b\uff08SVM\u3001Word2Vec\u3001RNNLM\uff09\n+ QGDT --- \u8bad\u7ec3\u6a21\u5757\u3001\u76f8\u5173\u5ea6\u5224\u5b9a\u6a21\u5757\u3001\u76f8\u4f3c\u5ea6\u8ba1\u7b97\u6a21\u5757\u3001\u9891\u5ea6\u8ba1\u7b97\u6a21\u5757\u3001\u6392\u5e8f\u751f\u6210\u6a21\u5757\n\n## \u5168\u5c40\u914d\u7f6e\nself.LOG_ENABLE = True # \u662f\u5426\u5f00\u542f\u65e5\u5fd7\nself.LOG_LEVEL = 'WARNING' #\u9ed8\u8ba4\u65e5\u5fd7\u7b49\u7ea7\nself.SVM_PATH = get_current_path('models/svm') #SVM\u9ed8\u8ba4\u8def\u5f84\nself.W2V_PATH = get_current_path('models/w2v')#Word2Vec\u9ed8\u8ba4\u8def\u5f84\nself.RNN_PATH = get_current_path('models/rnn')#RNNLM\u9ed8\u8ba4\u8def\u5f84\nself.DICT_PATH = get_current_path('models/rnn_dict')#\u5b57\u5178\u9ed8\u8ba4\u8def\u5f84\nself.MAX_SAMPLE = 5#\u6700\u5927\u62bd\u6837\u6b21\u6570\nself.RANDOM = True#\u6a21\u677f\u968f\u673a\u62bd\u6837\nself.LAMBDA = 0.2#\u878d\u5408\u56e0\u5b50\nself.ALPHA = 0.3#\u76f8\u4f3c\u5ea6\u8ba1\u7b97\u8c03\u8282\u56e0\u5b50\nself.BETA = 0.5#\u9891\u5ea6\u8ba1\u7b97\u8c03\u8282\u56e0\u5b50\n\n\n## \u7b97\u6cd5\u5e93\u5b89\u88c5(\u66f4\u65b0pip\u5b89\u88c5\u65b9\u5f0f)\n**pip\u5168\u81ea\u52a8**\n> conda install pytorch-cpu torchvision-cpu -c pytorch\n\n> pip install QGDT-cpu\n\n\n**git\u534a\u81ea\u52a8\u5b89\u88c5**\nhttps://github.com/pzs741/QGDT/tree/cpu\n> $ git clone https://github.com/pzs741/QGDT.git\n> $ cd QGDT-branch(cpu) \n> $ pip install -i https://pypi.douban.com/simple -r requirements.txt \n> $ python setup.py install \n\n\n**\u6ce8\u610f\uff1a**\u63a8\u8350\u8fd9\u79cd\u5b89\u88c5\u65b9\u6cd5\uff0c\u56e0\u4e3a\u7b97\u6cd5\u5e93\u4f9d\u8d56\u6bd4\u8f83\u591a\uff0c\u4e14\u6a21\u578b\u8f83\u591a\uff0c\u7b97\u6cd5\u5e93\u4f53\u79ef\u8f83\u5927\uff0c\u5982\u9047\u9519\u8bef\uff0c\u8bf7\u6309\u7167requirements.txt\u4e2d\u7684\u4f9d\u8d56\u9010\u4e2a\u5b89\u88c5\uff01\n\n## \u7b97\u6cd5\u5e93\u4f7f\u7528\n1. \u8bad\u7ec3\u6a21\u5757(train_models.py)\n\n```\n\u8be5\u6a21\u5757\u72ec\u7acb\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u6a21\u578b\u8bad\u7ec3\u5668\u5355\u72ec\u4f7f\u7528\uff0cTrainSVM\u3001TrainW2V\u3001TrainRNN\u90fd\u7ee7\u627fTrainModel\u8fd9\u4e2a\u7c7b\uff0c\u521d\u59cb\u5316\u7684\u53c2\u6570\u90fd\u4e3a\uff1aorigin_path(\u539f\u59cb\u6570\u636e\u96c6\u76f8\u5bf9\u8def\u5f84)\u3001train_path\uff08\u8f6c\u6362\u540e\u7684\u8bad\u7ec3\u96c6\u4fdd\u5b58\u8def\u5f84\uff09\u3001model_path\uff08\u6a21\u578b\u4fdd\u5b58\u8def\u5f84\uff09\n\u6ce8\u610f\uff1aRNNLM\u521d\u59cb\u5316\u591a\u4e00\u4e2adict_path\uff08\u6570\u636e\u5b57\u5178\u4fdd\u5b58\u8def\u5f84\uff09\uff0c\u4ee5\u4e0a\u53c2\u6570\u82e5\u4e0d\u4f20\u9012\uff0c\u5219\u9ed8\u8ba4\u4f7f\u7528\u9ed8\u8ba4\u8def\u5f84\u3002\neg:\u4ee5\u8bad\u7ec3SVM\u4e3a\u4f8b\nfrom QGDT import TrainRNN,TrainSVM,TrainW2V\n#\u521d\u59cb\u5316\u4e00\u4e2a\u7c7b\nt = TrainSVM()\n#\u5c06\u539f\u6570\u636e\u8f6c\u6362\u4e3a\u8bad\u7ec3\u96c6\nt.origin_to_train()\n#\u5f00\u59cb\u8bad\u7ec3\uff08\u8bad\u7ec3\u5b8c\u6bd5\u540e\u6a21\u578b\u81ea\u52a8\u4fdd\u5b58\u5230\u9ed8\u8ba4\u8def\u5f84\uff09\nt.train()\n```\n\n2. \u76f8\u5173\u5ea6\u5224\u5b9a\u6a21\u5757(correlation_calculate.py)\n\n```\n\u8be5\u6a21\u5757\u5bf9\u67e5\u8be2\u8bcd\u8fdb\u884c\u5224\u5b9a\uff0c\u820d\u5f03\u5197\u4f59\uff08\u5bf9\u751f\u6210\u95ee\u53e5\u7d2f\u8d58\uff09\u67e5\u8be2\u8bcd\uff0c\u8f93\u51fa\u6700\u7ec8\u68c0\u7d22\u8bcd\u3002\neg:\nfrom QGDT import Terms2Search\n#\u521d\u59cb\u5316\u4e00\u4e2a\u5b9e\u4f8b\nt = Terms2Search(['Anti-DDoS\u6d41\u91cf\u6e05\u6d17',' \u653b\u51fb\u4e8b\u4ef6\u80fd\u5426\u53ca\u65f6\u901a\u77e5\uff1f'],'models/svm')\n#\u8ba1\u7b97\u641c\u7d22\u5e8f\u5217\u7684\u76f8\u5173\u5ea6\nt.correlation_calcuulate()\n```\n\n3. \u76f8\u4f3c\u5ea6\u8ba1\u7b97\u6a21\u5757(similarity_calculate.py)\n\n```\n\u8be5\u6a21\u5757\u5b8c\u6210\u4e86\u6392\u5e8f\u7b97\u6cd5\u4e2d\u76f8\u4f3c\u5ea6\u8ba1\u7b97\u90e8\u5206\uff0c\u8be5\u6a21\u5757\u4f9d\u8d56\u4e8eW2V\u8bcd\u5411\u91cf\u6a21\u578b\uff0c\u4f7f\u7528WDM\u7b97\u6cd5\u8ba1\u7b97\u67e5\u8be2\u8bcd\u4e0e\u9884\u5b9a\u4e49\u6a21\u677f\u7684\u5339\u914d\u5ea6\u3002\neg:\nfrom QGDT import Search2Similar\n#\u521d\u59cb\u5316\u4e00\u4e2a\u5b9e\u4f8b\ns = Search2Similar(['Anti-DDoS\u6d41\u91cf\u6e05\u6d17',' \u67e5\u8be2\u5468\u9632\u62a4\u7edf\u8ba1\u60c5\u51b5','\u529f\u80fd\u4ecb\u7ecd'],'models/w2v')\n#\u8ba1\u7b97\u641c\u7d22\u8bcd\u5e8f\u5217\u4e0e\u9884\u5b9a\u4e49\u6a21\u677f\u96c6\u7684\u76f8\u4f3c\u5ea6\ns.similarity_calculate()\n```\n\n4. \u9891\u5ea6\u8ba1\u7b97\u6a21\u5757(frequency_calculate.py)\n\n```\n\u8be5\u6a21\u5757\u5b8c\u6210\u4e86\u6392\u5e8f\u7b97\u6cd5\u4e2d\u9891\u5ea6\u8ba1\u7b97\u90e8\u5206\uff0c\u8be5\u6a21\u5757\u4f9d\u8d56\u4e8eRNNLM\uff08RNN+LSTM\u8bed\u8a00\u6a21\u578b\uff09,\u901a\u8fc7\u4e00\u53e5\u8bdd\u4e2d\u6bcf\u4e2a\u5355\u8bcd\u8f93\u5165\u6a21\u578b\uff0c\u8f93\u51fa\u5c42\u53c2\u6570\u53ef\u4ee5\u53cd\u6620\u4e0b\u4e00\u4e2a\u8bcd\u7684\u9891\u5ea6\uff0c\u5c06\u4e0b\u4e00\u4e2a\u5355\u8bcd\u4f5c\u4e3a\u53c2\u6570\u8fdb\u5165\u6a21\u578b\u8f93\u5165\u5c42\uff0c\u6700\u7ec8\u4e3a\u95ee\u53e5\u6253\u5206\u3002\n\neg:\nfrom QGDT import Search2Frequency\n#\u521d\u59cb\u5316\u4e00\u4e2a\u5b9e\u4f8b\uff0c\u4f20\u5165\u8bed\u8a00\u6a21\u578b\u548c\u8bcd\u5178\ns = Search2Frequency(['Anti-DDoS\u6d41\u91cf\u6e05\u6d17',' \u67e5\u8be2\u5468\u9632\u62a4\u7edf\u8ba1\u60c5\u51b5','\u529f\u80fd\u4ecb\u7ecd'],'models/rnn','models/rnn_dict')\n#\u8ba1\u7b97\u641c\u7d22\u8bcd\u5e8f\u5217\u7684\u9891\u5ea6\ns.frequency_calculate()\n```\n\n5. \u6392\u5e8f\u751f\u6210\u6a21\u5757(question_generate.py)\n\n```\n\u8be5\u6a21\u5757\u5c06\u76f8\u5173\u5ea6\u5224\u5b9a\u6a21\u5757\u3001\u76f8\u4f3c\u5ea6\u8ba1\u7b97\u6a21\u5757\u3001\u9891\u5ea6\u8ba1\u7b97\u6a21\u5757\u878d\u5408\u5728\u4e00\u8d77\uff0c\u901a\u8fc7\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u4fe1\u606f\u68c0\u7d22\u6a21\u578b\u4e3a\u751f\u6210\u95ee\u53e5\u6392\u5e8f\u6253\u5206\uff0c\u6700\u540e\u7531\u5f97\u5206\u6700\u9ad8\u7684\u6a21\u677f\u751f\u6210\u76f8\u5e94\u95ee\u53e5\u3002\neg:\nfrom QGDT import QG\n#\u76f8\u4f3c\u5ea6\u5e8f\u5217\nsim_list = [2.261679196747406, 3.075403727118124, 2.871388395024239, 2.2647689008194836]\n#\u9891\u5ea6\u5e8f\u5217\nfre_list = [0.3126591742038727, 0.0, -0.19479990005493164, -0.19479990005493164]\n#\u521d\u59cb\u5316\u5b9e\u4f8b\nq = QG(sim_list,fre_list,0.2,0.3,0.5)\n#\u6392\u5e8f\u6253\u5206\nq.ranking()\n```\n\n## \u5b9e\u4f8b\u6d4b\u8bd5\n\n```\n# -*- coding: utf-8 -*-\n\"\"\"\nA simple example, have fun!\n\"\"\"\n__title__ = 'QGDT'\n__author__ = 'Ex_treme'\n__license__ = 'MIT'\n__copyright__ = 'Copyright 2018, Ex_treme'\n\nimport os\nimport sys\n\nsys.path.append(os.path.dirname(os.getcwd()))\n\nfrom QGDT import QGDT\n\nif __name__ == \"__main__\":\n test = [\n 'MapReduce\u670d\u52a1 \u5982\u4f55\u4f7f\u7528MRS\uff1f ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2\u6307\u5b9aEIP\u9632\u62a4\u72b6\u6001 \u529f\u80fd\u4ecb\u7ecd ',\n 'MapReduce\u670d\u52a1 \u7ec8\u6b62\u96c6\u7fa4 \u529f\u80fd\u4ecb\u7ecd ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u83b7\u53d6\u65e5\u5fd7\u5217\u8868 \u529f\u80fd\u4ecb\u7ecd ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u65b0\u5efa\u6587\u4ef6\u5939 \u529f\u80fd\u4ecb\u7ecd ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u83b7\u53d6\u7528\u6237token \u529f\u80fd\u4ecb\u7ecd ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u83b7\u53d6\u8054\u90a6\u8ba4\u8bc1\u7684unscopedtoken \u529f\u80fd\u4ecb\u7ecd ',\n '\u955c\u50cf\u670d\u52a1 \u5f02\u6b65\u4efb\u52a1\u67e5\u8be2 \u529f\u80fd\u4ecb\u7ecd ',\n '\u955c\u50cf\u670d\u52a1 \u67e5\u8be2\u955c\u50cf\u6210\u5458\u5217\u8868\u89c6\u56fe\uff08OpenStack\u539f\u751f\uff09 \u529f\u80fd\u4ecb\u7ecd ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 Token\u8ba4\u8bc1 \u8c03\u7528\u63a5\u53e3\u6b65\u9aa4 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2\u6307\u5b9aEIP\u5f02\u5e38\u4e8b\u4ef6 \u54cd\u5e94 ',\n 'MapReduce\u670d\u52a1 \u65b0\u589e\u4f5c\u4e1a\u5e76\u6267\u884c URI ',\n 'MapReduce\u670d\u52a1 \u89e3\u6790\u54cd\u5e94\u6d88\u606f \u54cd\u5e94\u6d88\u606f\u5934 ',\n 'MapReduce\u670d\u52a1 \u6269\u5bb9\u96c6\u7fa4 \u64cd\u4f5c\u6b65\u9aa4 ',\n 'MapReduce\u670d\u52a1 \u4ea7\u54c1\u672f\u8bed ACL ',\n 'MapReduce\u670d\u52a1 \u4ea7\u54c1\u672f\u8bed AM ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u83b7\u53d6\u65e5\u5fd7\u5217\u8868 URL ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u83b7\u53d6\u65e5\u5fd7\u5217\u8868 \u8bf7\u6c42 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u65b0\u5efa\u6587\u4ef6\u5939 \u54cd\u5e94\u7801 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u63a5\u53e3\u5b9a\u4e49 \u65e5\u671f\u4e0e\u65f6\u95f4\u89c4\u8303 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u83b7\u53d6\u96c6\u7fa4\u4e3b\u673a\u5217\u8868 \u54cd\u5e94\u7801 ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u83b7\u53d6\u7528\u6237token URI ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u83b7\u53d6\u7528\u6237token \u8bf7\u6c42 ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u67e5\u8be2\u6743\u9650\u7684\u8be6\u7ec6\u4fe1\u606f \u72b6\u6001\u7801 ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u67e5\u8be2\u79df\u6237\u4e2d\u7528\u6237\u7ec4\u7684\u6743\u9650 \u8bf7\u6c42 ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u67e5\u8be2\u79df\u6237\u4e2d\u7528\u6237\u7ec4\u7684\u6743\u9650 \u72b6\u6001\u7801 ',\n '\u955c\u50cf\u670d\u52a1 \u6279\u91cf\u5220\u9664\u955c\u50cf\u6210\u5458 \u8bf7\u6c42 ',\n '\u955c\u50cf\u670d\u52a1 \u6279\u91cf\u5220\u9664\u955c\u50cf\u6210\u5458 \u54cd\u5e94 ',\n '\u955c\u50cf\u670d\u52a1 \u6279\u91cf\u66f4\u65b0\u955c\u50cf\u6210\u5458\u72b6\u6001 \u54cd\u5e94 ',\n '\u955c\u50cf\u670d\u52a1 \u5f02\u6b65\u4efb\u52a1\u67e5\u8be2 URI ',\n '\u955c\u50cf\u670d\u52a1 \u67e5\u8be2\u955c\u50cf\u6210\u5458\u5217\u8868\u89c6\u56fe\uff08OpenStack\u539f\u751f\uff09 URI ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 Token\u8ba4\u8bc1 \u5e94\u7528\u573a\u666f ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u63a5\u53e3\u5b9a\u4e49 \u8bf7\u6c42\u65b9\u6cd5 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 API\u89c4\u8303\u5b9a\u4e49 \u63a5\u53e3\u9002\u7528\u8303\u56f4 ',\n '\u955c\u50cf\u670d\u52a1 \u66f4\u65b0\u955c\u50cf\u4fe1\u606f \u54cd\u5e94 ',\n '\u955c\u50cf\u670d\u52a1 \u66f4\u65b0\u955c\u50cf\u4fe1\u606f \u8fd4\u56de\u503c ',\n '\u955c\u50cf\u670d\u52a1 \u67e5\u8be2\u955c\u50cf\u6210\u5458\u5217\u8868\u89c6\u56fe\uff08OpenStack\u539f\u751f\uff09 \u8bf7\u6c42 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2\u5468\u9632\u62a4\u7edf\u8ba1\u60c5\u51b5 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 Token\u8ba4\u8bc1 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2\u6307\u5b9aEIP\u9632\u62a4\u72b6\u6001 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u9644\u5f55 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u751f\u6210AK\u3001SK ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u83b7\u53d6\u65e5\u5fd7\u5217\u8868 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u65b0\u5efa\u6587\u4ef6\u5939 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u5bfc\u5165\u5bfc\u51fa\u6570\u636e ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u83b7\u53d6\u7528\u6237token ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u67e5\u8be2\u7ec8\u7aef\u8282\u70b9\u8be6\u60c5 ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u83b7\u53d6\u8054\u90a6\u8ba4\u8bc1\u7684unscopedtoken ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u5220\u9664\u7528\u6237\u7ec4\u4e2d\u7528\u6237 ',\n '\u955c\u50cf\u670d\u52a1 \u751f\u6210AK\u3001SK ',\n '\u955c\u50cf\u670d\u52a1 \u83b7\u53d6\u955c\u50cf\u6210\u5458\u8be6\u60c5 ',\n '\u955c\u50cf\u670d\u52a1 \u955c\u50cf\u590d\u5236 ',\n '\u955c\u50cf\u670d\u52a1 AK/SK\u8ba4\u8bc1 ',\n '\u955c\u50cf\u670d\u52a1 \u5f02\u6b65\u4efb\u52a1\u67e5\u8be2 ',\n '\u955c\u50cf\u670d\u52a1 \u67e5\u8be2\u955c\u50cf\u6210\u5458\u5217\u8868\u89c6\u56fe\uff08OpenStack\u539f\u751f\uff09 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 ',\n '\u955c\u50cf\u670d\u52a1 \u955c\u50cf\u89c6\u56fe ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u544a\u8b66\u63d0\u9192API\u63a5\u53e3 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u5f00\u901aAnti-DDoS\u670d\u52a1 \u529f\u80fd\u4ecb\u7ecd ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2Anti-DDoS\u914d\u7f6e\u53ef\u9009\u8303\u56f4 \u529f\u80fd\u4ecb\u7ecd ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2Anti-DDoS\u670d\u52a1 \u529f\u80fd\u4ecb\u7ecd ',\n 'MapReduce\u670d\u52a1 MRS\u652f\u6301\u54ea\u4e9b\u4f5c\u4e1a\u7c7b\u578b\uff1f ',\n 'MapReduce\u670d\u52a1 Spark\u96c6\u7fa4\u80fd\u8bbf\u95eeOBS\u4e2d\u7684\u6570\u636e\u5417\uff1f ',\n 'MapReduce\u670d\u52a1 MRS\u5f53\u524d\u652f\u6301\u54ea\u4e9b\u89c4\u683c\u4e3b\u673a\uff1f ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 M-OLAP\u4e0eSpark\u4ec0\u4e48\u5173\u7cfb\uff1f ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 M-OLAP\u7b80\u4ecb ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u793a\u4f8b\u4ee3\u7801 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u8d44\u6599\u4e0b\u8f7d ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u901a\u7528\u8bf7\u6c42\u8fd4\u56de\u503c ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u5f00\u901aAnti-DDoS\u670d\u52a1 URI ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u5f00\u901aAnti-DDoS\u670d\u52a1 \u8bf7\u6c42 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2Anti-DDoS\u4efb\u52a1 \u8bf7\u6c42 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2\u5468\u9632\u62a4\u7edf\u8ba1\u60c5\u51b5 \u54cd\u5e94 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2\u5468\u9632\u62a4\u7edf\u8ba1\u60c5\u51b5 \u8fd4\u56de\u503c ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2Anti-DDoS\u914d\u7f6e\u53ef\u9009\u8303\u56f4 URI ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u516c\u5171\u6d88\u606f\u5934 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2Anti-DDoS\u670d\u52a1 URI ',\n 'MapReduce\u670d\u52a1 \u4fee\u8ba2\u8bb0\u5f55 ',\n 'MapReduce\u670d\u52a1 \u7ec8\u6b62\u96c6\u7fa4 ',\n 'MapReduce\u670d\u52a1 \u53d1\u8d77\u8bf7\u6c42 ',\n 'MapReduce\u670d\u52a1 \u67e5\u8be2\u4f5c\u4e1aexe\u5bf9\u8c61\u5217\u8868 ',\n 'MapReduce\u670d\u52a1 \u9996\u6b21\u8d2d\u4e70\u96c6\u7fa4 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 \u63a5\u53e3\u5b9a\u4e49 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 API\u89c4\u8303\u5b9a\u4e49 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 M-OLAP\u7b80\u4ecb M-OLAP\u7ed3\u6784 ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u516c\u5171\u54cd\u5e94\u6d88\u606f\u5934 ',\n '\u955c\u50cf\u670d\u52a1 \u516c\u5171\u6d88\u606f\u5934 ',\n '\u955c\u50cf\u670d\u52a1 \u8bf7\u6c42\u7b7e\u540d\u6d41\u7a0b \u7b7e\u540d\u8fc7\u7a0b ',\n '\u955c\u50cf\u670d\u52a1 \u516c\u5171\u8bf7\u6c42\u6d88\u606f\u5934 ',\n '\u955c\u50cf\u670d\u52a1 \u670d\u52a1\u4f7f\u7528\u65b9\u6cd5 ',\n '\u955c\u50cf\u670d\u52a1 \u8bf7\u6c42\u8ba4\u8bc1\u65b9\u5f0f ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u63a5\u53e3\u8c03\u7528\u65b9\u6cd5 ',\n '\u591a\u7ef4\u4ea4\u4e92\u5206\u6790\u670d\u52a1 M-OLAP\u7b80\u4ecb M-OLAP\u7279\u6027 ',\n '\u955c\u50cf\u670d\u52a1 \u955c\u50cf\u89c6\u56fe \u89c6\u56fe\u5c5e\u6027 ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u6743\u9650 ',\n '\u7edf\u4e00\u8eab\u4efd\u8ba4\u8bc1\u670d\u52a1 \u7248\u672c\u4fe1\u606f ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2Anti-DDoS\u670d\u52a1 ',\n 'MapReduce\u670d\u52a1 \u8d2d\u4e70MRS\u96c6\u7fa4 ',\n 'MapReduce\u670d\u52a1 \u6269\u5bb9\u96c6\u7fa4 ',\n 'Anti-DDoS\u6d41\u91cf\u6e05\u6d17 \u67e5\u8be2Anti-DDoS\u914d\u7f6e\u53ef\u9009\u8303\u56f4 ',\n ]\n res_list = []\n for i in test:\n q = QGDT(i,lamda=0.2,alpha=0.3,beta=0.5)\n q.ranking_algorithm()\n res = q.question_generation()\n res_list.append(res)\n for i in res_list:\n print(i)\n```\n\n\n## \u7b97\u6cd5\u6539\u8fdb\n+ \u91c7\u7528WDM\u8ddd\u79bb\u7b97\u6cd5\u8ba1\u7b97\u76f8\u4f3c\u5ea6\uff0c\u68c0\u7d22\u8bcd\u4e0d\u5c40\u9650\u4e8e\u5173\u952e\u8bcd\uff0c\u53ef\u4ee5\u4e3a\u77ed\u8bed\uff0c\u53e5\u5b50\u3002\n+ \u76f8\u5bf9\u4e8e\u4f20\u7edf\u8bed\u8a00\u6a21\u578b\uff0c\u6df1\u5ea6\u5b66\u4e60\u8bed\u8a00\u6a21\u578b\u4e3a\u53e5\u5b50\u6253\u5206\u66f4\u5177\u4f18\u52bf\u3002\n+ \u65b0\u63d0\u51fa\u7684\u95ee\u53e5\u751f\u6210\u6a21\u578b\u9664\u4e86\u4f20\u7edf\u6a21\u578b\u7684\u878d\u5408\u6a21\u578b\u53c2\u6570\uff0c\u589e\u6dfb\u4e86\u4e24\u4e2a\u65b0\u7684\u8c03\u8282\u53c2\u6570\u7528\u4e8e\u66f4\u597d\u7684\u8c03\u6574\u6a21\u578b\uff0c\u63d0\u9ad8\u7b97\u6cd5\u51c6\u786e\u7387\u3002 \n+ \u9996\u6b21\u5c06\u8be5\u6a21\u578b\u7528\u4e8e\u77e5\u8bc6\u5e93\u6784\u5efa\uff08web\u6587\u6863\u95ee\u7b54\u5bf9\u81ea\u52a8\u751f\u6210\uff09\n\n## \u53c2\u8003\u6587\u732e\n> Zhao S, Wang H, Li C, et al. Automatically Generating Questions from Queries for Community-based Question Answering[C]// 2011:929--937. \n> H Gao,C Guo\u2217,el al.Supervised Word Mover's Distance[C]//29th Conference on Neural Information Processing Systems (NIPS 2016), Barcelona, Spain.\n\n\n---\n## \u4f5c\u8005\nZ.S. Peng/[**Ex_treme**](https://pzs741.github.io/)\n\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pzs741/QGDT", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "QGDT-cpu", "package_url": "https://pypi.org/project/QGDT-cpu/", "platform": "", "project_url": "https://pypi.org/project/QGDT-cpu/", "project_urls": { "Homepage": "https://github.com/pzs741/QGDT" }, "release_url": "https://pypi.org/project/QGDT-cpu/0.3.3/", "requires_dist": [ "TEDT (==0.5)", "gensim (==3.4.0)", "jieba (==0.39)", "numpy (==1.14.2)", "pandas (==0.22.0)", "pyemd (==0.5.1)", "scikit-learn (==0.19.1)" ], "requires_python": "", "summary": "Question Generation Algorithm Based on Depth Learning and Template,QGDT", "version": "0.3.3" }, "last_serial": 4009622, "releases": { "0.3.0": [ { "comment_text": "", "digests": { "md5": "598d9384bb4ed5a1b9f7735978467866", "sha256": "8ffa587d33d1c2d998af8e862bc4ff58a50d018873f156ba2309f77c445038ff" }, "downloads": -1, "filename": "QGDT_cpu-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "598d9384bb4ed5a1b9f7735978467866", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20859787, "upload_time": "2018-06-18T13:50:20", "url": "https://files.pythonhosted.org/packages/f7/50/b19860e5871474d8e9e8a5752aee9bff457eb33ebef3c760db620ac98273/QGDT_cpu-0.3.0-py2.py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "6b80347f64f8407bc4e7af97c4b2bad0", "sha256": "85acfdf1d9155221f1af2a9fc655e6a7c0138e6dd822c8c008f8edb7250aace8" }, "downloads": -1, "filename": "QGDT_cpu-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6b80347f64f8407bc4e7af97c4b2bad0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20859825, "upload_time": "2018-06-18T14:07:57", "url": "https://files.pythonhosted.org/packages/aa/99/2be52d0dad92a4a55784200060a2638d345acde6decf754ace26d5b2d65b/QGDT_cpu-0.3.1-py2.py3-none-any.whl" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "d124cbf01af6a256a8a79a18d139cfe4", "sha256": "a21c8c2143a6f1e7d1c552795de061f02a92fc2d4f44ebc558ca0497070bb2fc" }, "downloads": -1, "filename": "QGDT_cpu-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d124cbf01af6a256a8a79a18d139cfe4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20199206, "upload_time": "2018-06-27T12:08:53", "url": "https://files.pythonhosted.org/packages/8a/0b/3e0ea276875874783368aee17f4deff8bae0e59b7bab918d468d71bcb496/QGDT_cpu-0.3.2-py2.py3-none-any.whl" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "17e641d54267c74f5e63cb0a5cfe5c6a", "sha256": "733c20230e0c860f7f5b44ce9810a99a8319c9cfdd6908f6da696013fd3eaa75" }, "downloads": -1, "filename": "QGDT_cpu-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17e641d54267c74f5e63cb0a5cfe5c6a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20199854, "upload_time": "2018-06-28T02:44:48", "url": "https://files.pythonhosted.org/packages/69/00/c7689bab2d9982e64ebd62cc9548bc42c61f482937cdd640beb81e29af5b/QGDT_cpu-0.3.3-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "17e641d54267c74f5e63cb0a5cfe5c6a", "sha256": "733c20230e0c860f7f5b44ce9810a99a8319c9cfdd6908f6da696013fd3eaa75" }, "downloads": -1, "filename": "QGDT_cpu-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17e641d54267c74f5e63cb0a5cfe5c6a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20199854, "upload_time": "2018-06-28T02:44:48", "url": "https://files.pythonhosted.org/packages/69/00/c7689bab2d9982e64ebd62cc9548bc42c61f482937cdd640beb81e29af5b/QGDT_cpu-0.3.3-py2.py3-none-any.whl" } ] }