Ett system som kan producera reguljära uttryck från användartillhandahållna exempel utförda med hög precision och återkalla i 12 text-extrahering uppgifter från verkliga datauppsättningar, visar effektiviteten av textextrahering baserad på genetisk programmering. R egular uttryck har länge använts för att kortfattat ange strängmönster, som en specialiserad motor sedan använder för att extrahera strängar som matchar mönster från en dataström. Reguljära uttryck är uttrycksfulla och flexibla, vilket gör dem till ett populärt verktyg i en rad textbehandlingsprogram över mycket olika domäner, från XML-schema konstruktion till phishing upptäckt. Att skapa ett reguljärt uttryck för en specifik uppgift är tröttsamt och felbenäget, vilket kräver särskilda färdigheter och förtrogenhet med de formalismer som är involverade i att skapa reguljära uttryck. Följaktligen har mycket arbete inriktats på att generera reguljära uttryck automatiskt. Sidofältet "Automatisk Regular Expression Generation" beskriver relaterat arbete, som har olika grader av praktisk tillämpning. Vissa föreslagna system kräver till exempel att användaren ger det ursprungliga reguljära uttrycket eller tips om måluttryckets struktur eller symboler, vilka båda kräver förtrogenhet med syntaxen för reguljära uttryck. För att utforska ett mer praktiskt tillvägagångssätt har vi utformat ett prototypsystem (http://regex.inginf.units.it) som avsevärt förenklar användarens roll när det gäller att använda reguljära uttryck för textextraktion. I vårt system beskriver användaren extraktionsuppgiften genom att tillhandahålla en uppsättning exempel i form av strängar. Varje sträng åtföljs av den (eventuellt tomma) delsträng som ska extraheras. På grundval av dessa exempel genererar systemet ett reguljärt uttryck som lämpar sig för användning med populära motorer som Java, PHP och Perl. Med hjälp av ett beräkningsparadigm inspirerat av biologisk utvecklingmultiobjektiv genetisk programmering (GP) 1 genererar systemet automatiskt ett regelbundet uttryck som bygger på exemplen. Genom att automatisera generering av reguljära uttryck på detta sätt, har vi tillhandahållit ett system där användare inte behöver någon förtrogenhet med vare sig GP eller reguljära uttryck syntax. Vi utvärderade i stor utsträckning vårt systems prestanda i ett experiment med 12 extraktionsuppgifter, varav endast en baserades på ett syntetiskt genererat dataset. Våra precisions- och recallresultat var i genomsnitt 90 procent, vilket är överlägset utgångsresultatet med tidigare system. Dessutom uppnådde systemet dessa resultat med bara tiotals exempel och genererade ett reguljärt uttryck i minuter istället för timmar. På grund av dessa resultat kan vårt system vara en praktisk surrogat för de specifika färdigheter som behövs för att generera regelbundna uttryck, åtminstone för extraktionsproblem liknande dem i vår utvärdering.
Å andra sidan är automatisk generering av reguljära uttryck från exempel ett aktuellt forskningsämne REF.
Automatic Synthesis of Regular Expressions from Examples
{'venue': 'Computer', 'journal': 'Computer', 'mag_field_of_study': ['Computer Science']}