Automatische tekstsamenvatting – Lincoln, Inleiding tot automatische samenvatting – The Data Blog

Een blog over gegevens, kunstmatige intelligentie en mijn projecten

De automatische samenvatting is om een ​​lange tekst te nemen, of zelfs een set teksten, en om automatisch een veel kortere tekst te genereren die de meerderheid van de informatie bevat. Eenvoudig ? Niet zo veel. Ten eerste moet je het ermee eens zijn welke informatie echt belangrijk is. Dan moeten we ze goed kunnen extraheren, ze reorganiseren, allemaal in een grammaticale tekst en zonder menselijke interventie. En dat is zonder te tellen op het grote aantal varianten van mogelijke samenvattingen !

Automatische tekstoverzicht

Met de explosie van textuurverzameling en -opslag is de noodzaak om relevante informatie uit deze massa te analyseren en te extraheren meer en meer aanwezig.

Bovendien vergemakkelijkte de boom in diepe leermodellen voor Automatic Natural Language Processing (TALN) het gebruik van tekstuele gegevens in operationele problemen. De automatische tekstsamenvatting, op dezelfde manier als de antwoordvraag, de gelijkenisanalyse, de classificatie van document en andere taken die aan de TALN zijn gekoppeld, maken deel uit van deze kwesties.

Het is in deze context dat de Labnovatie De Lincoln heeft besloten om werk uit te voeren aan de automatische tekstoverzicht. Deze werken hebben het mogelijk gemaakt om een ​​benchmark op te zetten van de automatische samenvattende modellen die beschikbaar zijn voor de taal Frans, om ons eigen model te veroorzaken en het uiteindelijk in productie te brengen.

�� Modelopleiding

De wereld automatische samenvatting

Gegevens

Voordat we ons werk konden beginnen, moesten we eerst een database bouwen voor het leren van automatische samenvattende modellen. We hebben persartikelen van verschillende Franse nieuwssites hersteld. Deze basis bevat ~ 60k artikelen en wordt continu bijgewerkt.

Het nieuwste van het nieuwste

Automatische samenvattende algoritmen kunnen worden gescheiden in twee categorieën: samenvattingen uittreksel en samenvattingen abstrahtief. In het frame uittreksel, De samenvattingen zijn gebouwd uit zinnen die uit de tekst zijn geëxtraheerd terwijl de samenvattingen abstrahtief worden gegenereerd uit nieuwe zinnen.

Automatische samenvattende modellen zijn vrij gebruikelijk in het Engels, maar ze zijn veel minder in het Frans.

Statistieken

Voor de evaluatie van modellen hebben we de volgende statistieken gebruikt:

ROOD : Ongetwijfeld de meting die het vaakst is gerapporteerd in samenvattende taken, berekent de terugroepgerichte understudy voor gisting-evaluatie (Lin, 2004) het aantal vergelijkbare N-grammen tussen de geëvalueerde samenvatting en de menselijke referentiesamenvatting.

Meteoor: De statistiek voor evaluatie van vertaling met expliciete bestelling (Banerjee en Lavie, 2005) is ontworpen voor de evaluatie van automatische vertaalresultaten. Het is gebaseerd op het harmonische gemiddelde van precisie en terugroepactie op unigrams, de terugroepactie heeft een weging groter dan precisie. Meteor wordt vaak gebruikt in automatische samenvattende publicaties (zie et al., 2017; Dong et al., 2019), naast rood.

Nieuwigheid: Er is opgemerkt dat sommige abstracte modellen te veel rusten op extractie (zie et al., 2017; KrySci ‘nski et al.‘, 2018). Daarom is het gebruikelijk geworden om het percentage nieuwe N-grammen te meten dat wordt geproduceerd in de gegenereerde samenvattingen.

Bron: vertaling van MLSUM -papier [2].

De inzet van modellen

Voor modeltraining hebben we de Cloud Azure ML -service gebruikt die een complete omgeving biedt voor training, monitoring en implementatie van modellen.

Automatisch samenvattende model

We hebben meer precies de Python SDK gebruikt waarmee u de hele Azureml -omgeving op een programmatische manier kunt beheren, van de lancering van “banen” tot de inzet van modellen.

We hebben echter ons uiteindelijke model ingekapseld in een containeriseerde kolftoepassing die vervolgens werd geïmplementeerd via CI/CD -pijpleidingen op een Kubernetes -cluster

De resultaten

Allereerst hebben we verschillende pogingen gedaan, die de modellen op 10k -artikelen leiden, variërend van het aantal tokens dat aan het begin van het model (512 of 1024) en verschillende architecturen is gegeven.

Eerste observatie: rode en meteoorstatistieken lijken niet erg geschikt voor de prestatiebeoordeling van onze modellen. We hebben er daarom voor gekozen om onze vergelijkingen alleen op de nieuwheidsscore te baseren en geselecteerd architectuur voorstander van meer abstractieve samenvattingen.

Nadat we de training van ons model op 700k -items hebben gepusht, hebben we de resultaten aanzienlijk verbeterd en een eerste versie gevalideerd die u hieronder zult vinden.

Aandachtspunten

Na de prestaties stelde dit experiment ons in staat om wat te benadrukken grenzen Automatische samenvatting:

Momenteel is de grootte van de tekst in ingangen van de type modellen Transformeren wordt beperkt door de capaciteit ter nagedachtenis van GPU’s. De kosten in het geheugen zijn kwadratisch met de grootte van de tekst als invoer, dit vormt een reëel probleem voor de taken van automatische samenvatting waarbij de te saggen tekst vaak lang genoeg is.

Het is erg moeilijk om relevante statistieken te vinden om taken voor het genereren van tekst te beoordelen.

Oppassen het gewicht van de extractor : We hebben ook verschillende problemen ondervonden met betrekking tot gegevens op zichzelf. Het grootste probleem is dat het artikel van het artikel vaak een parafrase was of zelfs een duplicaat van de eerste zinnen van het artikel. Dit had het gevolg van het aanmoedigen van onze modellen om extractiever te zijn dan abstractief door eenvoudigweg de eerste zinnen van het artikel te retourneren. Het was daarom noodzakelijk om een ​​curatiewerk te doen door het probleem van de artikelen te verwijderen om dit soort vooringenomenheid te voorkomen.

Een blog over gegevens, kunstmatige intelligentie en mijn projecten.

De automatische samenvatting is om een ​​lange tekst te nemen, of zelfs een set teksten, en om automatisch een veel kortere tekst te genereren die de meerderheid van de informatie bevat. Eenvoudig ? Niet zo veel. Ten eerste moet je het ermee eens zijn welke informatie echt belangrijk is. Dan moeten we ze goed kunnen extraheren, ze reorganiseren, allemaal in een grammaticale tekst en zonder menselijke interventie. En dat is zonder te tellen op het grote aantal varianten van mogelijke samenvattingen !

Ik was in staat om ongeveer een jaar te werken aan dit opwindende thema vlak voor mijn doctoraat, dit bericht is daarom een ​​kans voor mij om mezelf onder te dompelen in dit onderwerp en de balans op te maken van de nieuwste innovaties in het domein.

Laten we dus een overzicht van dit thema nemen, door te maken door de verschillende soorten samenvattingen die bestaan ​​te beschrijven, voordat we bij twee soorten systemen enigszins in detail blijven staan: die van AI en neurale netwerken, en die welke nogal gericht zijn op de optimale extractie van informatie.

De verschillende soorten samenvatting

Als we het over samenvatting hebben, denken we vaak aan de achteromslag van een boek of de beschrijving van het script voor een film. Over het algemeen vermijden ze het einde te bederven, wanneer dit precies is wat men zou vragen om een ​​hulpmiddel van klassieke automatische samenvatting: om de intriges te vertellen, zodat de samenvatting voldoende kan zijn om de essenties te kennen. Hier gaat het over Mono-document-samenvattingen, Dat wil zeggen dat we slechts een enkel document samenvatten (een film, een boek, een artikel, …).

Integendeel, we zouden een Multidocumentaire samenvatting, Dat we vaker ontmoeten in de context van persbeoordelingen: we willen een samenvatting hebben van de belangrijkste informatie zoals gerapporteerd door verschillende persorganisaties.

Zodra we hebben besloten over het soort gegevens dat we proberen samen te vatten, mono of multi-documentair, hebben we de keuze tussen twee benaderingen: deuittreksel, die bestaat uit het extraheren van wat er van de informatie is voordat hij deze terugbrengt om een ​​samenvatting te maken, en de aanpak generatief, die bestaat uit het creëren van nieuwe zinnen, die oorspronkelijk niet in de documenten verschijnen, om een ​​meer vloeiende en vrijere samenvatting te hebben.

Naast deze criteria zijn er verschillende stijlen van samenvattingen, die we hier niet zullen benaderen: update samenvattingen die bestaan ​​uit het samenvatten van de informatie die in een nieuw document verschijnt en die tot nu toe niet werd vermeld, samengevat gericht die bestaat uit het aannemen van een precieze hoek gegeven door de gebruiker, ..

AI en neurale netwerken een revolutie teweeg in de automatische samenvatting

Tot het midden -2010s waren de meeste samenvattingen extractief. Er bestond echter al grote diversiteit in deze algoritmen die zouden kunnen variëren van de selectie en extractie van hele zinnen tot de extractie van precieze informatie die vervolgens opnieuw is opgelost in teksten met gaten die vooraf zijn voorbereid genaamd sjablonen. De komst van nieuwe benaderingen op basis van neurale netwerken heeft de situatie aanzienlijk veranderd. Deze algoritmen zijn veel effectiever dan de vorige om grammaticale en vloeiende tekst te genereren, zoals wat er met deze GPT -demo kan worden gedaan.

Neurale netwerken vereisen echter dat grote hoeveelheden gegevens worden getraind en zijn relatief niet -inkland. Ze werken perfect om opmerkingen te genereren waarvoor waarheidsgetrouwheid van weinig belang is, maar kunnen sterk tegenstrijdige of gewoon onjuiste informatie genereren die problematisch is in de context van samenvattingen van persartikelen, bijvoorbeeld. Veel onderzoeksartikelen zijn geïnteresseerd in deze “hallucinaties” van neurale netwerken.

Een voorbeeld van een hybride gereedschap: Potara

De automatische samenvatting was het eerste onderzoeksonderwerp waarin ik geïnteresseerd was, en ik had de gelegenheid om tijdens mijn meester een hybride systeem van samenvatting te ontwikkelen door extractie/generatie voor een benadering van multidocument, dat wil zeggen een reeks documenten samen te vatten van hetzelfde onderwerp.

Het idee was om te beginnen met een klassieke extractie, namelijk om de belangrijkste zinnen te identificeren en te assembleren om een ​​samenvatting te genereren. Het probleem met deze aanpak is dat de belangrijkste zinnen vaak verder kunnen worden verbeterd. In een artikel dat over een presidentiële verplaatsing spreekt, zou de uitdrukking “Emmanuel Macron zijn Amerikaanse tegenhanger ontmoetten en de economie besprak” kon worden verbeterd in “Emmanuel Macron ontmoette Joe Biden en besprak de economie”. Journalisten die de repetities zorgvuldig vermijden, zien we onszelf vaak geconfronteerd met dit soort fenomeen.

Om dit defect te overwinnen, kunnen we soortgelijke zinnen in verschillende documenten identificeren en proberen ze samen te voegen om een ​​betere zin te verkrijgen. Ansi, van de volgende twee zinnen:

  • Emmanuel Macron ontmoette zijn Amerikaanse tegenhanger in Washington en sprak uitvoerig over economie.
  • De Franse president ontmoette Joe Biden en besprak economie.

We kunnen een korte en informatieve zin maken:

  • Emmanuel Macron ontmoette Joe Biden in Washington en besprak economie.

Verschillende stappen zijn nodig om dit resultaat te bereiken: vergelijkbare zinnen vinden, de beste fusie vinden, controleren dat fusie veel beter is dan een originele zin. Ze nemen deel aan veel technologieën: Word2 met neurale netwerken om vergelijkbare zinnen te vinden, coCcurention-grafieken om ze samen te voegen, ILP-optimalisatie om de beste fusies te selecteren.

Als je meer wilt zien, is Potara open-source, maar is al een tijdje niet onderhouden. Dit project was met name als een showcase gediend toen ik werd vrijgelaten en had daarom documentatie, tests, continue integratie, implementatie op PYPI, ..

Wat is een goede automatische samenvatting ?

Als bepaalde criteria vanzelfsprekend en relatief eenvoudig te beoordelen lijken (bijvoorbeeld de grammaticaliteit van zinnen), zijn andere veel complexer. Beslissen wat de belangrijkste informatie van een tekst al een zeer subjectieve taak op zich is. Evalueer de vloeibaarheid, de juiste keuze van de gebruikte woorden, komt terug op het publiceren van werk en laten we het niet hebben over de politieke oriëntatie die een samenvatting kan nemen !

De nieuwe generatieve modellen op basis van neurale netwerken zullen waarschijnlijk pejoratieve oordelen of kwalificaties (of gebruikersvriendelijk) introduceren, een effect dat wordt gezocht als het gaat om het genereren van een filmcriticus, maar veel minder bij het praten over een programma van een presidentiële kandidaat !

Automatische samenvatting blijft daarom een ​​zeer actief onderwerp in onderzoek en kan voor een moment zijn, met name met betrekking tot het vermogen om het resultaat van het algoritme te begeleiden, precies in de richting van een bepaald gevoel, een specifieke stijl, een politieke kleuring gegeven. In de industrie begint hij gewoon zeer specifieke leidinggevenden binnen te gaan (bijvoorbeeld samenvatting van vergaderingen).

Presidential 2022: Naar uw gegevens !

3 Voorbeelden van gegevensprojecten die moeten worden uitgevoerd voor de presidentsverkiezingen van 2022.