Skip to content
This repository has been archived by the owner on Nov 25, 2023. It is now read-only.

如果一个文本中有多个正例,是咋处理的? #6

Closed
puzzledTao opened this issue Sep 17, 2021 · 3 comments
Closed

如果一个文本中有多个正例,是咋处理的? #6

puzzledTao opened this issue Sep 17, 2021 · 3 comments

Comments

@puzzledTao
Copy link

您好,我想请问下,论文中“Entity Discrimination”和“Relation Discrimination”任务,采用对比学习的方式训练。以“Entity Discrimination”任务为例,假设有一句话:A和B共同创建了公司C。本句话有两个三元组(C,founded by, A)和 (C,founded by, B),那么对于(C,founded by,),A和B都是正例。但我看到对比学习的那个公式,好像每次文本中的正例只有一个。不知道我理解的是否正确,希望得到您的回答,谢谢。

@thuqinyj16
Copy link
Collaborator

对于entity discrimination任务是这样的,因为每段文本都会只sample一个三元组,文本前拼接relation head_entity以后就决定了正例一定是对应的tail entity。
但对于relation discrimination任务,会sample整段文本中的多个正例,再把loss取平均,这和CV里的contrastive loss设计都是保持一致的~

@puzzledTao
Copy link
Author

嗯嗯,非常感谢您的回答。对于entity discrimination任务,文本内容的构造和正例的选择可以从论文正得知,十分的清晰明了。但是我还有个疑问,如”盖茨和鲍尔默共同创立了微软公司“。这个句子中有2个三元组(微软,创立者,盖茨),(微软,创立者,鲍尔默)。如果从(微软,创立者,盖茨)出发,构造文本的时:CLS 微软 创立者 SEP 盖茨和鲍尔默共同创立了微软公司。那么盖茨就是正例,而鲍尔默就是负例。其实从文本之后来看,鲍尔默应该也是正例。那么计算loss的时候会不会产生问题。这个就是我想表达的一个文本中有多个正例的情况。期望得到您的回复,谢谢。

@thuqinyj16
Copy link
Collaborator

thuqinyj16 commented Sep 21, 2021

在您说的这个情况下,比如选取的三元组是(微软,创立者,盖茨),那么鲍尔默这个实体不会作为负例被选入(也不会被选入正例),可以看成是忽略了它。平均而言,盖茨和鲍尔默这两个实体都会均等概率地被选成正例~

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants