{"id":13628071,"url":"https://github.com/NonvolatileMemory/MXNET-SMN","last_synced_at":"2025-04-17T00:33:12.897Z","repository":{"id":215741949,"uuid":"113447054","full_name":"NonvolatileMemory/MXNET-SMN","owner":"NonvolatileMemory","description":"Sequential Matching Network implemented by MXNET","archived":false,"fork":false,"pushed_at":"2019-03-11T07:09:29.000Z","size":23,"stargazers_count":18,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-01T22:41:46.498Z","etag":null,"topics":["chatbot","deep-learning","mxnet"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NonvolatileMemory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-12-07T12:15:37.000Z","updated_at":"2020-09-01T14:32:06.000Z","dependencies_parsed_at":"2024-01-06T08:46:00.153Z","dependency_job_id":null,"html_url":"https://github.com/NonvolatileMemory/MXNET-SMN","commit_stats":null,"previous_names":["nonvolatilememory/mxnet-smn"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NonvolatileMemory%2FMXNET-SMN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NonvolatileMemory%2FMXNET-SMN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NonvolatileMemory%2FMXNET-SMN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NonvolatileMemory%2FMXNET-SMN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NonvolatileMemory","download_url":"https://codeload.github.com/NonvolatileMemory/MXNET-SMN/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223735259,"owners_count":17194071,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","deep-learning","mxnet"],"created_at":"2024-08-01T22:00:44.423Z","updated_at":"2024-11-08T18:31:19.938Z","avatar_url":"https://github.com/NonvolatileMemory.png","language":"Python","readme":"# MXNET-SMN\n\nSequential Matching Network(ACL 2017) reimplemented by MXNET1.0-GPU//but you can always use cpu\n\n用mxnet写的SMN，这篇文章发表在ACL 2017，使用MXNET1.0实现\n\n\u003cbr\u003e\n\n# What's SMN\n**SMN是啥？**\n\nSoTA model of multi-turn retrieval-based conversation systems.\n\nYou can see the paper[SMN](http://www.aclweb.org/anthology/P/P17/P17-1046.pdf)\n\nDon't forget reference it if you use.\n\nWu, Yu, et al. \"Sequential Matching Network: A New Archtechture for Multi-turn Response Selection in Retrieval-based Chatbots.\" ACL. 2017.\n\n\nSMN是目前最屌的多轮检索对话模型.\n\n如果你是个大佬，请去读一下这篇论文[SMN](http://www.aclweb.org/anthology/P/P17/P17-1046.pdf)，这是我这一年中读过的为数不多的好文章.\n\n它坦诚了SMN在某些方面的失败，对于baseline也作了完整归类，总结，所以ACL的质量还是非常高的。\n\n\u003cbr\u003e\n\n# How to use?\n**你能不能告诉我怎么用？**\n\n\n1.get data from msra[douban corpus](https://1drv.ms/u/s!AtcxwlQuQjw1jF0bjeaKHEUNwitA)\n\n2.get pre-trained word2vec.model use bash *python3.5 gen_w2v.py train.txt train_vec.model train_vec.vec*\n\n3.get processed data use Process.py(also only support py3)\n\n4.run the model\n\n\n1.下载数据 [douban corpus](https://1drv.ms/u/s!AtcxwlQuQjw1jF0bjeaKHEUNwitA)\n\n2.预训练Embedding矩阵*python3.5 gen_w2v.py train.txt train_vec.model train_vec.vec*\n\n3.预处理数据使用Process.py\n\n4.跑模型\n\n额外赠礼：每个py文件的作用\n\n|代码                              |作用                                |\n|:------------------------------------:|------------------------------------|\n|gen_w2v.py|用来生成预训练的词向量|\n|Process.py|用来打包数据|\n|model.py|用来训练模型|\n\n\n\u003cbr\u003e\n\n# Params of Model\n**模型的参数**\n\nbatch_size = 1000(with 1 titan xp)\n\nembedding_size = 200\n\ngru_layer = 1\n\nmax_turn = 10\n\nmax_len = 50\n\nlr = 0.001\n\n**警告：如果尝试修改参数，将会是一件非常痛苦的事情，因为我的代码高耦合**\n\n\u003cbr\u003e\n\n# Why you use MXNET\n**为什么是MXNET？**\n\n**Fast!**\n\n**快**! 不仅是开发快，运行快，训练也快。\n\n\u003e *当你使用MXNET的时候你会有一种闪电侠在中城奔跑的错觉。*\n\u003e                                           *-杜存宵*\n\n\u003cbr\u003e\n\n# Other versions?\n**我只会用该死的TensorFlow,怎么办？**\n\n[There is Theano version.](https://github.com/MarkWuNLP/MultiTurnResponseSelection)\n\n你可以选择学习theano或者mxnet，也可以自己实现一个。\n\n*或者自杀*。\n\n\u003cbr\u003e\n\n# Your code is not pythonic!\n**你的代码就像shit一样**\n\nSorry to hear that.\n\n你可以贡献你pythonic的代码，但是不好意思，我只用了三天的边角零头来开发这个模型。\n\n\u003cbr\u003e\n\n# Can I use your code to do a chatbot\n**我能用这个东西做个聊天机器人吗**\n\nIf you can use lucene then you can.\n\n需要为每个query使用lucene检索出一个候选列表，之后进行排序\n\n\u003cbr\u003e\n\n# How to tipping\n**你真帅，我要为你生猴子**\n\nYou can sent your money to this [website](https://love.alipay.com/donate/index.htm)\n\n你可以在支付宝E公益进行打赏。\n\n\u003cbr\u003e\n\n## 你的屁话真多\n\n不好意思，不好意思。\n\n## TODO:\n\n1.save model\n\n2.add dropout\n\n3.add evaluations\n\n4.add inference\n\n","funding_links":[],"categories":["\u003ca name=\"NLP\"\u003e\u003c/a\u003e3. NLP"],"sub_categories":["2.14 Misc"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNonvolatileMemory%2FMXNET-SMN","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNonvolatileMemory%2FMXNET-SMN","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNonvolatileMemory%2FMXNET-SMN/lists"}