在本文中,我们建议使用带有规则的prompt tuning(PTR)进行多个类别的分类任务进行tuning。对于多个类别的分类任务,我们手动设计基本的sub-prompt,并应用逻辑规则以将子标准构成最终特定任务的prompt。与现有的prompt tuning方法相比,PTR具有两个优势:
(1)Prior Knowledge Encoding。PTR可以应用逻辑规则将有关任务和类的先验知识编码进prompt tuning内。我们拿关系分类为例,预测结果通常和句子分类和实体类别的关系语义相关。我们用两个两个子prompt对关系”person:parent"和关系"organization:parent"建立prompt,一个sub-prompt是确定mask的实体是humaning还是organization,另一个sub-prompt是确定句子是否表达了亲子关系的语义。
(2)Efficient Prompt Design。与所有类的手动设计模板和单独的标签单词相比,设计几个简单的sub-prompt更容易,然后根据逻辑规则组合这些sub-prompt以形成task-special prompt。此外,与基于机器学习模型生成prompt相比,使用逻辑规则生成的prompt更加有效和可解释。
为了验证PTR的有效性,我们对关系分类进行实验,这是一个典型的复杂的多类分类任务。我们实验使用了4个流行的关系分类基准,包括TACRED、TACREV、ReTACRED和SemEval 2010 Task 8.足够的实验结果表明,PTR可以显著且始终如一地超过现有的SOTA基线模型。
Prompting Tuning with Rules (PTR)
我们想要知道一个句子的两个mask实体是否有“person:parent"关系,那么我们应该检查句子是否包括两个条件①两个mask实体是否都是人;②句子中的两个mask实体是否含有父子语义。
受此启发,我们设计了conditional function F。例如,conditional function f(x,person)可以判断x是否是一个person;conditional function f(x, 's parent was , y )可以判断x的父亲是否为y。
所以当输入为[CLS] Mark Twain was the father of Langdon,我们使用模板可以将输入转换为
然后根据3个MASK的输出结果来判断两实体的关系分类。其中:
关系类别及其对应的模板和label word
Result
Reversed表示将关系进行逆转,例如,将(es ,“organization : member_of”, eo)转换为
( eo , “organization : member” es)