Giter VIP home page Giter VIP logo

crosswoz's People

Contributors

wj-mcat avatar xu-song avatar zqwerty avatar zz-jacob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crosswoz's Issues

Select intention 在意图标注用意

在论文3.4 Dialogue Annotation有提到

If (2, Hotel, name, near (id=1)) is selected, then (Select, Hotel, src_domain, Attraction) is labeled.

请问添加 Select 意图的用意为何? 与 Request 的差异又是在哪?
谢谢

oov or unseen values

hi
if the CrossWoz contain OOV or unseen slot values in testset ?
I can't find more about this information from your paper. if could please provide more about this.

thanks

DST中的Joint ACC问题

您好,请问DST任务,我用的https://convlab.blob.core.windows.net/convlab-2/trade_crosswoz_data.zip数据集中的test_dials.jsonhttps://convlab.blob.core.windows.net/convlab-2/trade_crosswoz_model.zip提供的模型运行evaluate.py,joint acc最终只有24,比论文中的36.08低很多,然后将test_dials.json中的500个数据分成S,M,M+T,CM,CM+T之后,再每个evaluate,发现S得分80高于论文的71.67,其余都比论文低十几到二十分,(代码逻辑没有改,只把gating_dict = {"ptr":0, "none":1}改成了gating_dict = {"ptr": 0, "dontcare": 1, "none": 2},因为不改这个的话和上面链接提供的模型冲突),所以我想确认一下我思路是不是有问题,或者测试数据用的和论文不一样,谢谢了。

document about TRADE dst

请问TRADE DST模型训练有相关文档吗

  1. 看了下 convlab2/dst/trade/crosswoz/README.md, 里面好像还是TRADE的 README

  2. 尝试运行了一下 convlab2/dst/trade/crosswoz/create_data_cn.py, 运行失败, 报 data/crosswoz/test.json 找不到

  3. 手动将顶层目录data下的几个zip文件解压到 data/crosswoz 之后,开始能正常运行,但是会报 FileNotFoundError: [Errno 2] No such file or directory: 'data/crosswoz/all_prediction_TRADE.json'

谢谢

RuntimeError: Error(s) in loading state_dict for JointBERT

When I execute convlab2/policy/mle/crosswoz/evaluate.py or use ConvLab-2 to build a system to test, an error occurred aflter load from model

Load from model_file param
Load from .../CrossWOZ/convlab2/nlu/jointBERT/crosswoz/output/all_context/pytorch_model.bin
hfl/chinese-bert-wwm-ext
RuntimeError: Error(s) in loading state_dict for JointBERT:
	Missing key(s) in state_dict: "bert.embeddings.position_ids". 

I have downloaded the NLU model, but how can I solve this problem?

关于端到端测试

你好,我想使用 BertNLU + RuleDST + RulePolicy + TemplateNLG 组一个 Agent 做端到端测试,但是在Policy部分的内容出现错误,应该如何正确使用Policy呢,代码如下:
`from convlab2.nlu.jointBERT.crosswoz import BERTNLU
from convlab2.dst.rule.crosswoz import RuleDST
from convlab2.policy.rule.crosswoz import Simulator
from convlab2.nlg.template.crosswoz import TemplateNLG
from convlab2.dialog_agent import PipelineAgent, BiSession

sys_nlu = BERTNLU()
# simple rule DST
sys_dst = RuleDST()

rule policy

sys_policy = Simulator()

template NLG

sys_nlg = TemplateNLG(is_user=False)

assemble

sys_agent = PipelineAgent(sys_nlu, sys_dst, sys_policy, sys_nlg, name='sys')

print(sys_agent.response('你好,北京大学附近有什么好吃的'))`

关于TRADE模型在CrossWOZ数据集上的部署

您好,
通过查看convlab2/dst/trade/crosswoz/utils/utils_multiWOZ_DST.py文件,貌似您还没有完成TRADE在CrossWOZ上的代码,我想请问一下,您在论文中所提及的TRADE在CrossWOZ上的结果是按照数据集中的哪个标注信息来实验的呢,sys_state或sys_state_init?还有,您的数据集中的DST任务的对话轮转否也是和MultiWOZ中[[sys,user],[sys,user],...]这种方式一致的呢?
谢谢

对话数据集

请问对话数据集在哪,是否提供crosswoz/data/all_data文件夹里的数据

代码

请问提供的代码是:
端到端的实现方式?还是NLU、DST、NLG是相对独立的部分?

如何通过标注好的数据来获取句子中每个词(字)的标签 ?

您好,请问该如何通过标注好的数据来获取句子中每个词(字)的标签呢?
如用户输入:"你好,我想吃美食街,帮我推荐一个人均消费在50-100元的餐馆,谢谢。"
数据集中标注的信息是:
[
['General', 'greet', 'none', 'none'],
['General', 'thank', 'none', 'none'],
['Inform', '餐馆', '人均消费', '50-100元'],
['Inform', '餐馆', '推荐菜', '美食街'],
['Request', '餐馆', '名称', '']
]
需要对“美食街”标注上"B-Inform_餐馆_推荐菜",对"50-100元"标注上"B-Inform_餐馆_人均消费",其余的词(字)标注为O
直接使用字符串匹配吗?但那样可能会出现词(字)相同标签却不同的问题。
不知道是否在标注数据的时候同时记录了该词(字)在句中的位置呢?

关于论文中的SL policy准确率

我采用该数据集以及你们提供的代码,跑出来的结果F1值为啥只有0.3125,(delex)F1值0.36
和论文的结果相差太大了,占时还没有想到是那里的问题,是数据集的问题还是代码的问题还是训练方式的问题?
模型训练代码中的注释给出的测试集F1值为0.77,我这边只有0.32;
难道有可能是评价指标计算问题?

跑TRADE模型报错

Traceback (most recent call last):
File "convlab2/dst/trade/crosswoz/train.py", line 104, in
if(acc >= avg_best):
TypeError: '>=' not supported between instances of 'list' and 'float'
请问可不可以提供最新版本的代码呢

對於 sys_state, dialog_act 的疑問

您好,近期在研究 CrossWOZ dataset 時對於 sys_state 等資訊有些疑問想請教:

  1. 先前有在 issue 區看到其他發問提到 sys_state_init 是當前輪中初始做 db query 的結果,而 sys_state 是當前輪結束前的最後一次 db query,所以 sys_state_init 與 sys_state 是否的內容只差在一次 db query 前後補齊的資料呢?
  2. 根據您的論文提到,db query 是在當前狀態中提取中 db 所有符合現今 constraint 的資訊,而確切 db query 的意義是什麼?舉例來說,若 user 要求系統 recommend 某某街上中價位的餐廳,系統就會根據 state 提供的條件(某某街、中價位)去 db query 出符合當前需求的候選嗎?
  3. dialog_act、sys_state_init 及 sys_state 三者互相的關係,是否能請您舉例說明呢?例如 dialog_act 會在什麼時候被融入 sys_state,而他跟 db query 的時間點差異又是如何等。

非常感謝您!

关于对话系统的tasks.json

请问tasks.json的格式是什么样的 是否有示例文件 谢谢
导入任务的步骤是:在 Result Files 选项卡下,进入 inputs 目录,上传任务定义文件 tasks.json,再回到管理首页,点导入按钮。

Error installing this repo

Hi, when I try installing using the documented command pip install -e ., I get the following error message:

 ERROR: Command errored out with exit status 1:
     command: /opt/anaconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/Users/myhome/CrossWOZ/setup.py'"'"'; __file__='"'"'/Users/myhome/CrossWOZ/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info
         cwd: /Users/myhome/CrossWOZ/
    Complete output (1 lines):
    error in ConvLab-2 setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Did I do something wrong?

P.S.The python version I'm using is Python 3.7.6, and I'm using MAC OS X.

是否可以开源数据标注部分的代码

感谢分享非常赞的论文和数据集,论文中提到“We developed a specialized website that allows two workers to converse synchronously and make annotations online.”。
我们也希望标注一些领域数据,并且准备开放给科研社区使用,但是从头开发相关的标注系统有些繁琐。
是否可以将数据标注部分的代码开源或者分享,谢谢 [email protected]

管理员端提示“成功导入0个任务”

您好,我在管理员账号下将任务定义文件(您给出的example_goal.json)拷贝至 input 文件夹,点击导入按钮后,弹出提示“成功导入0个任务”,所以导致后续的匹配也因系统端提示没有可以处理的任务,而无法匹配。
请问这是什么原因呢?

代码中存在请求生成nlg TemplateNLG类中的generate方法的入参的相关代码吗

您好,我看了代码之后,想问一下,系统回复,TemplateNLG().generate() 方法的入参是如何生成的呢?这一块的代码是否存在?
举个例子:
假设用户asr为 "你好,麻烦帮我推荐一个门票免费,评分4分以上的景点。",
NLU的结果假设是:[["General","greet","none","none"],["Inform","景点","门票","免费"],["Inform", "景点", "评分","4分"],["Request","景点","名称",""]],
在进行nlg之前,如何生成: [["Inform","景点","名称","养心殿"]] 结构的数据呢?
是直接调用dst.query方法进行查询和填充吗?希望能帮忙解读一下。

policy module 如何執行 evalue.py?

您好,如標題
我將 NLU DST 個別 train 好以後,做到 policy module 時,按照 readme 文件,先執行 python train.py,最後一次 epoch 顯示 loss_a 在0.035,train 完後畫面如下:
圖片

接下來執行 python evalue.py 時,發現 predict_da 均回傳空 list,導致分數很低,

當我回去 trace code 到 class MLEAbstract 時,發現 action = self.vector.action_devectorize(a.numpy()) 本身就是回傳空 list 回來,而上一行中的 a = self.policy.select_action(s_vec.to(device=DEVICE), False).cpu(),再往上 trace 的 policy.policy 的檔案中,policy 基本上沒又東西,回去看 util 的 module 同樣都是 init ,沒辦法回去 trace policy 來自於哪個 object,因此無法檢查 select_action 是否有作用,

想請教這段過程中,我遺漏了哪些步驟,或是哪邊流程錯誤,才可以在 policy evalue.py 的部分成功預測?

謝謝您

关于web上使用run.py产生了错误

按照按照readme文件,pip install -e.安装了环境,打开redis-server,执行resetdb.py,无报错,但是在执行run.py之后显示

  • Restarting with stat
    No model named run

data_load的代码与数据格式不符

for d in self.data[data_key]:
max_sen_len = max(max_sen_len, len(d[0]))
sen_len.append(len(d[0]))
# d = (tokens, tags, intents, da2triples(turn["dialog_act"], context(list of str))
if cut_sen_len > 0:
d[0] = d[0][:cut_sen_len]
d[1] = d[1][:cut_sen_len]
d[4] = [' '.join(s.split()[:cut_sen_len]) for s in d[4]]

数据是key, value的形式,d不是key吗

关于sys_state和sys_state_init的疑问

按照个人理解,这两项内容都是关于系统收集到的用户当前的状态信息(包括要求的参数和选择),而selectedResults从标注中来看可能是截止目前对话时,用户的选择或者系统最新推荐的选项。从大部分数据来看sys_state_init应该是体现用户的需求和最新选择,而sys_state应该是系统推荐(好像提供的不算)或提供的条件和选择,但仍存在如下疑问:
1)sys_state和sys_state_init两者的差异似乎还是不太清晰,有些时候下两者几乎完全相同(推荐给用户的用户没反对就算用户选择?);而有些时候,_init中似乎又包含了更少的信息(表示虽然推荐,但是用户没有答应?);有时候,系统推荐后,用户已经说“这周边还有其它餐馆吗?”,结果sys_state_init的selectedResults中还有系统推荐的选项。
2)对话轮次之间,状态存在跳跃,比如前一个对话中,还存在selectedResults“鲜鱼口老字号美食街”,后面的对话就消失了(按理状态应该是累积或者不断更新的吧?)
建议是否考虑将两个sys_state的信息合并,就是收集用户截止目前的所有要求和最新选择,系统推荐部分建议单独出来和MultiWOZ类似做成Recommend类型的Dialog_act(目前有部分Recommend,但也存在一些实际的Recommend用Inform了,比如:“为您推荐鲜鱼口老字号美食街,人均消费75元,有您想吃的美食街哦。”这里面就用了Inform)

是否有搭建出中文問答的AI

你好,首先非常感謝將這麼完整的data開源

知道你們是用自己搭建的convlab裡面的component來跑CrossWoz,但似乎沒有中文問答的demo?

convlab中tutorial的demo非常完整,但好像沒有使用中文來做demo的,paper裡有提到利用中文pre train的model來跑CrossWoz
不知道是否是我漏了哪邊的資訊

再次感謝開源的熱心

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.