Skip to content

CedarSnowy/SCAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. /data/

  1. data.json:EARL整理的数据。第一行是一个小的知识图谱(这个小图谱不知道怎么整理出来的,不使用)。
  2. coref_data.json:对全部数据都进行了指代消解
  3. coref_data_notest.json:没有对测试集数据进行指代消解
  4. opendialkg_relations.txt:官方数据集,关系的集合
  5. opendialkg_triples.txt:官方数据集,所有的三元组,可以构建一个大的知识图谱
  6. rules.csv/rules_exact.csv:使用关联规则挖掘得到的规则

2. /multi_re_frame/

以同一主题多轮对话为框架

1. /dataset/

模型需要使用到的预处理后的数据。此时使用的知识图谱是EARL整理出来的小知识图谱

2. /dataset_whole/

模型需要使用到的预处理后的数据。此时使用的知识图谱是原始的大知识图谱

3./AttnIO/

当前多轮对话框架下对AttnIO的复现

4./seen+unseen_frame/

当前多轮对话框架下,考虑知识图谱中混杂了seen与unseen的实体

3. 代码逻辑

  1. process_data.py:数据预处理

    1. 使用Albert对实体,关系,对话进行预编码。如果是seen的实体,embeddings会在训练过程中不断地调整。如果unseen,那么就认为始终是与预编码得到的了
  2. main.py:训练的程序

  3. attnio_build.py:构建模型用的

  4. dataset_attnio.py:对数据进行transform的部分

  5. attnio_model_new.py:图神经网络计算的部分,基本不用动

  6. tester.py:测试模型的程序

  7. utils.py:定义了一些辅助函数

4. 结果

  1. 结果存于各文件夹下的result中,有log形式和csv形式
  2. 文件名即为对应的模型,参数有如下:
    1. batch:最好的是4
    2. n-hop
    3. n-max
    4. 0/1/1+2:进行子图剪枝的操作,0代表不剪枝,1代表仅对第一跳进行剪枝,2代表仅对第二跳进行剪枝,1+2代表第一跳和第二跳都进行剪枝(该部分实验效果不好)
    5. share-subgraph:是否进行子图传递

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages