[docs]classRuleSelector(nn.Module):""" RuleSelector is a class that represents a rule-based selector model. It uses a pretrained RoBERTa model for encoding input sequences and a linear classifier for prediction. """def__init__(self,pretrained_roberta_model:str,cls_dropout=0.1)->None:super().__init__()
[docs]defforward(self,x,y=None):""" Forward pass of the RuleSelector model. Args: x (dict): Input dictionary containing the input sequences. y (None): Placeholder for compatibility with other models. Returns: torch.Tensor: Logits representing the predicted scores. """last_hidden_state=self.model(**x)[0]last_hidden_state=self.dropout(last_hidden_state)logits=self.classifier(last_hidden_state).squeeze()returnlogits
[docs]classFactSelector(nn.Module):""" FactSelector is a class that represents a fact-based selector model. It uses a pretrained RoBERTa model for encoding input sequences and a linear classifier for prediction. """def__init__(self,pretrained_roberta_model:str)->None:super().__init__()
[docs]defforward(self,x,y=None):""" Forward pass of the FactSelector model. Args: x (dict): Input dictionary containing the input sequences. y (None): Placeholder for compatibility with other models. Returns: None: This method is not implemented. """pass
[docs]classKnowledgeComposer(nn.Module):""" KnowledgeComposer is a class that represents a knowledge composer model. It uses a pretrained T5 model for generating text based on input prompts. """def__init__(self,pretrained_t5_model:str)->None:super().__init__()
[docs]classFaiRR(nn.Module):""" FaiRR is a class that represents the FaiRR model, which combines rule-based and fact-based selectors. """def__init__(self)->None:super().__init__()