-
ml-100k.kg文件中,查看数据发现在创建三元组的过程中有个疑惑:1)writer.film和film.written_by,film.genre和film_genre.films_in_this_genre有什么区别呢,编剧-创作-电影,电影-被创作-编剧的双边关系吗?如果是这样那么下图Case中关于电影类型film.genre只有1条,而相同的film_genre.films_in_this_genre有5条?此外,并不是所有的三元组都有双边关系,例如film.film.country并没有类似film.country.films_in_this_country的三元组? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
@onrgeek 您好! 2.Freebase里的双边关系不是完备的,也就是说两种关系按理说应该数量相等,但实际上在目前的数据集中两种关系的数量是有差异的。 3.并不是所有的三元组都有双边关系,因此一个比较好的kg文件的创建方法是:在预处理数据集的时候最好只保留双边关系(例如writer.film和film.written_by)中的一种(如writer.film),删去冗余信息,按照自己的需求再决定是否构造反向边关系(如film.written_by)。这样能够得到比较合理的知识图谱三元组数据集。 目前基于知识图谱的推荐系统研究工作大多是在KGAT和KGIN等repo提供的数据集上展开,但其中使用的Amazon Book数据集处理得仍然不够严谨,同时存在book.written_work.author和book.author.works_written、book.written_work.previous_in_series和book.written_work.next_in_series等双边关系以及若干单边关系,在获取数据集时最好还是根据源数据集的内容进行进一步预处理。 |
Beta Was this translation helpful? Give feedback.
@onrgeek 您好!
1.这是Freebase里KG数据集中存在的问题,writer.film和film.written_by,film.genre和film_genre.films_in_this_genre确实是双边关系,会有一定程度的信息冗余。
2.Freebase里的双边关系不是完备的,也就是说两种关系按理说应该数量相等,但实际上在目前的数据集中两种关系的数量是有差异的。
3.并不是所有的三元组都有双边关系,因此一个比较好的kg文件的创建方法是:在预处理数据集的时候最好只保留双边关系(例如writer.film和film.written_by)中的一种(如writer.film),删去冗余信息,按照自己的需求再决定是否构造反向边关系(如film.written_by)。这样能够得到比较合理的知识图谱三元组数据集。
目前基于知识图谱的推荐系统研究工作大多是在KGAT和KGIN等repo提供的数据集上展开,但其中使用的Amazon Book数据集处理得仍然不够严谨,同时存在book.written_work.author和book.author.works_written、book.written_work.previous_in_series和book.written_work.next_in_series等双边关系以及若干单边关系,在获取数据集时最好还是根据源数据集的内容进行进一步预处理。