资源 | Facebook开源人工智能框架ParlAI:可轻松训练评估对话模型(4)
2017-05-06 编辑:
mturk 库包含以下目录和文件:
core:该目录包含了设置支持 MTurk 聊天接口的 AWS 后端的核心代码,以及用于 HIT 创建和许可的代码。
tasks:该目录包含了两个第一版提供的示例 MTurk 任务。
qa_data_collection:从 Turker 获取问题和答案,给出了 SQuAD 的一个随机段落
model_evaluator:在 Reddit 电影对话日志数据集上评估该信息检索基线模型
run_mturk.py:用于调用 mturk 核心代码的文件,包含用户指定的任务模块、对话日志模型代理、HIT 的数量和每个 HIT 的回报。
运行示例 MTurk 任务和代理:
在 run_mturk.py 中,去掉任务模块和你想使用的代理类别的注释
对于 create_hits 方法,如有需要,改变 num_hits 和 hit_reward。如果你想仅在 MTurk 沙箱中运行该样本,那么就将 is_sandbox 设置为 True;如果设置为 False,则就可让 Turker 来处理这个工作并得到报酬。
运行 python run_mturk.py
添加你自己的 MTurk 任务和对话模型:
在 mturk/tasks 目录为你自己的任务创建一个新的文件夹
部署 task_config.py,至少在 task_config 目录中包含以下字段:
hit_title:关于该 HIT 包含的任务类型的一个短的描述性标题。在 Amazon Mechanical Turk 网站上,该 HIT 标题以搜索结果的形式呈现,并且出现在该 HIT 被提及的任何地方。
hit_deion:一个 deion(描述)包含了该 HIT 所包含的任务类型的详细信息。在 Amazon Mechanical Turk 网站上,该 HIT 描述出现在搜索结果的扩展视图中,并且也会出现在该 HIT 和分配(assignment)屏幕上。
hit_keywords:描述该 HIT 的一个或多个词或短语,用逗号隔开。在 Amazon Mechanical Turk 网站上,这些词被用于搜索 HIT。
worker_agent_id:一个指示 Turker 在对话中的作用的短名字
task_deion:一个详细的任务描述,将会出现在 HIT 任务预览页面,并会显示在聊天页面的左侧。支持 HTML 格式。
实现 agents.py,至少有一个从 Agent 扩展的代理类别。
编写你自己的 __init__() 方法以打包你的对话模型代理(具体示例可见 mturk/tasks/model_evaluator/agents.py 文件)。
编写你自己的 act() 方法,其会返回你的对话模型的响应,以及有助于 Turker 了解接下来应该做的事情的帮助文本。
在 run_mturk.py 文件中导入你的任务模块和代理类别,然后运行 python run_mturk.py
团队
ParlAI 目前由 Alexander H. Miller、Will Feng 和 Jason Weston 维护。其他主要贡献者还包括(不完整列表):Adam Fisch、Jiasen Lu、Antoine Bordes、Devi Parikh 和 Dhruv Batra。
证书
ParlAI 采用 BSD 授权。我们也提供了额外的专利授权。
↓↓↓