Auteurs:
(1) Xiaofei Sun, Université du Zhejiang ;
(2) Xiaoya Li, Shannon.AI et Bytedance ;
(3) Shengyu Zhang, Université du Zhejiang ;
(4) Shuhe Wang, Université de Pékin ;
(5) Fei Wu, Université du Zhejiang ;
(6) Jiwei Li, Université du Zhejiang ;
(7) Tianwei Zhang, Université technologique de Nanyang ;
(8) Guoyin Wang, Shannon.AI et Bytedance.
Négociation LLM pour l'analyse des sentiments
Dans cette section, nous détaillons le cadre de négociation multi-LLM pour l'analyse des sentiments : deux LLM fonctionnent comme générateur de réponses et discriminateur. Nous appelons l’interaction entre le générateur et le discriminateur une négociation. La négociation se répétera jusqu'à ce qu'un consensus soit atteint ou que le nombre maximum de tours de négociation soit dépassé. Des illustrations sont présentées dans les figures 1 et 2.
Le générateur s’appuie sur un grand modèle de langage. Nous demandons au générateur de réponses basé sur le paradigme ICL à travers des invites, dans le but de générer une chaîne de raisonnement étape par étape et une décision concernant la polarité des sentiments de l'entrée du test.
Les invites sont composées de trois éléments : une description de la tâche, des démonstrations et une entrée de test. La description de la tâche est une description de la tâche en langage naturel (par exemple, « Veuillez déterminer le sentiment général de la saisie du test. » ); l'entrée de test est l'entrée textuelle dans l'ensemble de test (par exemple, "Le ciel est bleu.") ; les démonstrations proviennent de la rame de la tâche. Chacun se compose de trois éléments : la contribution, les chaînes de raisonnement et la décision sentimentale.
Pour chaque entrée de test, nous récupérons d'abord K voisins les plus proches (entrée, décision de sentiment) de la rame à titre de démonstration. Ensuite, nous transformons les démonstrations en triplets (entrée, processus de raisonnement, décision de sentiment) en incitant le générateur à produire une chaîne de raisonnement. Après avoir concaténé la description de la tâche, les démonstrations et les données du test, nous transmettons l'invite au générateur, qui répondra par une chaîne de raisonnement étape par étape et une décision sentimentale.
Le discriminateur est soutenu par un autre LLM. Une fois le processus de génération de réponse terminé, le discriminateur de réponse est utilisé pour juger si la décision prise par le générateur est correcte et fournir une explication raisonnable.
Pour atteindre cet objectif, nous construisons d’abord des invites pour le discriminateur de réponse. L'invite est composée de quatre éléments : une description de la tâche, des démonstrations, une entrée de test et la réponse du générateur de réponses. La description de la tâche est un morceau de texte qui décrit la tâche en langage naturel (par exemple, « Veuillez déterminer si la décision est correcte. »). Chaque démonstration est composée de six éléments : (texte d'entrée, chaîne de raisonnement, décision de sentiment, attitude discriminante, explications du discriminateur, décision du discriminateur) et construite en invitant le discriminateur de réponse à fournir des explications sur la raison pour laquelle la décision de sentiment est correcte pour le texte d'entrée.
Ensuite, nous demandons au discriminateur avec l'invite de construction. Le discriminateur de réponse répondra par une chaîne de texte contenant une attitude (c'est-à-dire oui, non) qui indique si le discriminateur est d'accord avec le générateur, des explications qui expliquent pourquoi le discriminateur est d'accord/pas d'accord avec le générateur, et une décision du discriminateur qui détermine la réponse. sentiment de l’entrée de test.
Pourquoi deux LLM mais pas un ? Il y a deux raisons d'utiliser deux LLM différents séparément pour le générateur et le discriminateur plutôt que d'utiliser un seul LLM pour jouer deux rôles : (1) Si un LLM fait une erreur en tant que générateur en raison d'un raisonnement incorrect, il est plus probable que il fera également la même erreur que le discriminateur puisque le générateur et le discriminateur du même modèle sont très susceptibles d'avoir des raisonnements similaires ; (2) en utilisant deux modèles distincts, nous pouvons tirer parti des capacités complémentaires des deux modèles.
Une fois que deux LLM se terminent par une négociation, nous leur demandons d'inverser les rôles et d'initier une nouvelle négociation, où le deuxième LLM agit comme générateur et le premier LLM agit comme discriminateur. Nous appelons l’interaction de deux LLM avec des rôles inversés la négociation à rôles inversés. De même, la négociation inversée des rôles prend fin jusqu'à ce qu'un consensus soit atteint ou que le nombre maximum de tours de négociation soit dépassé.
Lorsque les deux négociations aboutissent à un accord et que leurs décisions sont les mêmes, nous pouvons choisir l’une ou l’autre décision comme finale puisqu’elles sont les mêmes. Si l'une des négociations ne parvient pas à un consensus tandis que l'autre parvient à une décision, nous choisissons la décision de la négociation qui a atteint un consensus comme décision finale. Cependant, si les deux négociations parviennent à un consensus mais que leurs décisions ne s'alignent pas, nous aurons besoin de l'aide d'un modèle linguistique supplémentaire (LLM), comme cela sera expliqué plus en détail ci-dessous.
Introduction d'un troisième LLM Si les décisions des deux négociations ne s'alignent pas, nous introduisons un troisième LLM et menons la négociation et la négociation inversée avec chacun des deux LLM susmentionnés. Par la suite, nous obtiendrons 6 résultats de négociation et voterons sur ces résultats : la décision qui apparaît le plus fréquemment est prise comme polarité de sentiment du test d'entrée.
Cet article est disponible sur arxiv sous licence CC 4.0.