Quelles stratégies d'intelligence artificielle sont utiles pour la synthèse?

8

Si j'ai un paragraphe que je veux résumer, par exemple:

Ponzo et Fila sont allés au centre commercial pendant la journée. Ils ont marché longtemps, s'arrêtant dans les magasins. Ils sont allés dans de nombreux magasins. Au début, ils n'ont rien acheté. Après avoir visité plusieurs magasins, ils ont finalement acheté une chemise et un pantalon.

Mieux résumé comme:

Ils ont fait leurs courses au centre commercial aujourd'hui et ont acheté des vêtements.

Quelle est la meilleure stratégie d'IA pour automatiser ce processus, s'il y en a une? S'il n'y en a pas, est-ce parce que cela dépendrait au préalable de disposer d'une ressource d'information externe qui informerait n'importe quel algorithme? Ou est-ce parce que le problème est intrinsèquement contextuel?

dynrepsys
la source

Réponses:

6

Le post suivant contient un peu de mathématiques, ce qui, je l'espère, aide à mieux expliquer le problème. Malheureusement, il semble que ce site SE ne supporte pas LaTex:

La synthèse des documents est un problème ouvert dans la recherche sur l'IA. Une façon dont cette tâche est actuellement gérée est appelée "récapitulation extractive". La stratégie de base est la suivante: divisez ce document en phrases et nous présenterons en résumé un sous-ensemble de phrases qui, ensemble, couvrent tous les détails importants de la publication. Attribuer une phraseje, 1jen, une variable zje{0,1}, où zje=1 indique que la phrase a été sélectionnée et zje=0signifie que la phrase a été omise. Alors,zjezj=1si et seulement si les deux phrases ont été choisies. Nous définirons également l'importance de chaque phrasewje pour la phrase je et termes d'interaction wje,j entre les phrases je et j.

Laisser Xje être les vecteurs caractéristiques de la phrase je. wje=w(Xje) saisit à quel point il est important d'inclure cette phrase (ou les sujets qu'elle couvre) tout en wje,j=w(Xje,Xj)indique la quantité de chevauchement entre les phrases dans notre résumé. Enfin, nous mettons tout cela dans un problème de minimisation:

maximiser zjejewjezje-wje,jzjezjst zje=0 ou 1

Cela essaie de maximiser le poids total des phrases couvertes et essaie de minimiser la quantité de chevauchement. Il s'agit d'un problème de programmation entier similaire à la recherche de l'ensemble indépendant de poids le plus faible dans un graphique et de nombreuses techniques existent pour résoudre ces problèmes.

Cette conception, à mon avis, capture les problèmes fondamentaux de la synthèse de texte et peut être étendue de nombreuses façons. Nous allons en discuter un peu, mais d'abord, nous devons spécifier complètement les fonctionnalitésw. wje=w(Xje) pourrait être fonction uniquement de la phrase je, mais cela peut aussi dépendre de la place de la phrase dans le document ou de son contexte (la phrase est-elle au début d'un paragraphe? partage-t-elle des mots communs avec le titre? quelle est sa longueur? mentionne-t-elle des noms propres? etc)

wje,j=w(Xje,Xj)est une mesure de similitude. Il mesure le nombre de répétitions s'il y a deux mots dans la phrase. Il peut être défini en regardant des mots communs entre les phrases. Nous pouvons également extraire des sujets ou des concepts de chaque phrase et voir combien sont communs entre eux, et utiliser des fonctionnalités de langage comme les pronoms pour voir si une phrase se développe sur une autre.

Pour améliorer la conception, tout d'abord, nous pourrions faire une extraction de phrase clé, c'est-à-dire identifier les phrases clés dans le texte et choisir de définir le problème ci-dessus en fonction de celles-ci au lieu d'essayer de choisir des phrases. C'est un problème similaire à ce que Google fait pour résumer les articles de presse dans leurs résultats de recherche, mais je ne connais pas les détails de leur approche. Nous pourrions également décomposer les phrases en concepts et essayer d'établir le sens sémantique des phrases (Ponzo et Fila sont des personnes P1 et P2, un centre commercial est un lieu P, P1 et P2 sont allés à l'endroit P au temps T (jour Mode de transport à pied .... et ainsi de suite). Pour ce faire, nous aurions besoin d'utiliser une ontologie sémantique ou d'autres bases de données de connaissances de bon sens. Cependant, toutes les parties de ce dernier problème de classification sémantique sont ouvertes et je n'ai encore vu personne faire de progrès satisfaisants à ce sujet.

Nous pourrions également modifier la fonction de perte ci-dessus afin qu'au lieu de définir le compromis entre l'importance de la phrase wje et le score de diversité wje,jà la main, nous pourrions l'apprendre à partir des données. Une façon de procéder consiste à utiliser des champs aléatoires conditionnels pour modéliser les données, mais il en existe sûrement bien d'autres.

J'espère que cette réponse a expliqué les problèmes de base qui doivent être résolus pour progresser vers de bons systèmes de synthèse. Il s'agit d'un domaine de recherche actif et vous trouverez les articles les plus récents via Google Scholar, mais lisez d'abord la page Wikipedia pour connaître les termes pertinents

Dur
la source