NL9100849A - Werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin, alsmede een inrichting geschikt voor het uitvoeren van deze werkwijze. - Google Patents
Werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin, alsmede een inrichting geschikt voor het uitvoeren van deze werkwijze. Download PDFInfo
- Publication number
- NL9100849A NL9100849A NL9100849A NL9100849A NL9100849A NL 9100849 A NL9100849 A NL 9100849A NL 9100849 A NL9100849 A NL 9100849A NL 9100849 A NL9100849 A NL 9100849A NL 9100849 A NL9100849 A NL 9100849A
- Authority
- NL
- Netherlands
- Prior art keywords
- word
- sentence
- words
- spelling
- alternative
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Description
Werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin, alsmede een inrichting geschikt voor het uitvoeren van deze werkwijze
De uitvinding heeft betrekking op een werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin, en tevens op een inrichting, welke geschikt is voor het uitvoeren van een dergelijke werkwijze.
Een dergelijke werkwijze vindt alom toepassing in de vorm van een spellingschecker, waarmee een correctie van een, op een spellingsfout gedetecteerd woord in een zin plaats vindt. De spellingschecker verschaft daarbij een aantal alternatieve woordvormen, die kunnen dienen als suggesties voor correctie, waarbij de mate van correctie niette groot mag uitvallen. Een probleem hierbij wordt gevormd door de vraag, hoeveel alternatief-woorden redelijkerwijs door de spellingschecker de gebruiker kunnen worden aangeboden. Zijn het er veel, dan ziet de gebruiker het goede woord niet gemakkelijk tussen het grote aantal alternatief-woorden, maar zijn het er weinig, dan bestaat er een grote kans, dat het goede woord er niet bij zit. Voorts detecteert een spellingschecker geen grammaticaal onjuiste woorden in een zin, waarvan ieder woord op zichzelf volgens het woordenboek voorkomt.
De uitvinding beoogt voor deze problemen een oplossing te geven. Deze oplossing is gebaseerd op de gedachte, dat bij het ontleden van de zin met het te corrigeren woord vaak blijkt, dat het te corrigeren woord een bepaalde woordcategorie moet bezitten. Zo zal niet ieder door een spellingscorrector te genereren alternatief-woord een goede, ontleding opleveren. Alleen die alternatieven moeten de gebruiker worden aangeboden, die een alternatiefzin met geheel of nagenoeg foutloze ontleding tot gevolg hebben. Hierdoor wordt het aantal alternatief-woorden aanzienlijk beperkt.
Overeenkomstig de uitvinding omvat de werkwijze van het in de aanhef omschreven type de navolgende, successievelijk uit te voeren stappen: a.1: het met behulp van een spellingschecker onderzoeken van de zin op spellingsfouten; en a. 2: het met behulp van een parser ontleden van ieder toe te voeren zin; waarbij na detectie van een spellingsfout in een woord in de onderzochte zin de werkwijze, voorafgaande aan de stap met betrekking tot het ontleden van de zin, nog de navolgende, uit te voeren stappen omvat: b. 1: het genereren van een lijst van, als vervangingswoorden aan te duiden, alternatief-woorden met een gering afwijkende spelling ten opzichte van het, op een spellingsfout gedetecteerd woord aan de hand van een woordgeheugen met woordeenheden, welke naar verbale categorieën zijn gelexicaliseerd, en voorzien zijn van een, door de gebruiksfrequentie bepaalde frequentiefactor; b.2: het in afhankelijkheid van de frequentiefactor ordenen van deze vervangingswoorden; en b.3: het aan de parser aanbieden van een aantal geordende vervangingswoorden, aan de hand waarvan de parser voor de daarop betrekking hebbende alternatief-zinnen de bijbehorende ontleding zal genereren.
Voorts is het computersysteem voor het uitvoeren van de in de aanhef omschreven werkwijze ingericht voor het uitvoeren van de genoemde stappen.
De uitvinding zal nu nader worden toegelicht aan de hand van bijgaande figuren, waarvan:
Fign. 1A-1B een stroomdiagram tonen met betrekking tot de werkwijze voor het in een computersysteem corrigeren van een fout in een in een natuurlijke taal gestelde zin;
Fig. 2 een computersysteem toont, dat is ingericht voor het uitvoeren van het in Fign.
1 A-1 B weergegeven stroomdiagram; en
Fig. 3 een stroomdiagram toont met betrekking tot een voordelige uitvoeringsvorm van de werkwijze volgens de uitvinding.
Fign. 1 A-1 B geven een stroomdiagram weer voor het uitvoeren van de werkwijze voor het in een computersysteem corrigeren van een taalfout in een, in een natuurlijke taal gestelde zin overeenkomstig de uitvinding. Bij de toelichting van dit stroomdiagram zal, waar nodig, gebruik worden gemaakt van Fig. 2, waarin blokschematisch de in het computersysteem voorkomende eenheden en modules zijn weergegeven, welke nodig zijn voor een goede uitvoering van genoemde werkwijze. In het stroomdiagram van Fig. 1A wordt bij stap 30 de op taalfouten te onderzoeken zin in het computersysteem met behulp van een invoereenheid 2 (keyboard, reader) ingelezen en vervolgens bij stap 32 gelexicaliseerd.
Tijdens de lexicaliatie van de zin wordt ieder woord een spellingschecker 4, toegevoerd, dat van een lexicaal geheugen of woordgeheugen 6 voorzien is. Aan de hand van het geheugen 6 onderzoekt de spellingschecker 4 of het toegevoerde woord bestaat, en wanneer dat het geval is, ontvangt het woord de bijbehorende woordstructuur of -structuren omtrent de verbale categorie(ën)- of woordcategorie(ën) en applicatiegerichte categorieën uit het lexicaal geheugen 6. De begrippen verbale categorie of woordcategorie alsmede de applicatiegerichte categorie zijn beschreven in de Europese octrooiaanvrage EP-A 0 361 570. Per woord worden alle woordstructuren verzameld en in een lijstgeheugen 8 ingeschreven. Indien een woord een spellingsfout vertoont, en er dus geen lexicale gegevens beschikbaar zijn, wordt er een foutcode aan het woord toegevoegd en aldus ingeschreven.
Genoemde spellingschecker 4 is van algemene bekendheid, en het bijbehorende programma kan hetzij softwarematig in het computersysteem worden ingelezen, dan wel middels een modulaire eenheid in het computersysteem worden ingebracht. Bij de volgende stap 34 wordt de vraag behandeld, of er tenminste één spellingsfout in de toegevoerde zin aanwezig is. Wordt deze vraag bevestigend beantwoord (Y), dan zoekt een in het computersysteem opgenomen spellingscorrector 10 in het woordgeheugen 6 bij stap 36 naar bruikbare alternatiefwoorden, ook wel vervangingswoorden genoemd, voor ieder woord dat een foutcode heeft gekregen, en dus een spellingsfout vertoont. Onder een bruikbaar alternatief-woord voor een woord met een spellingsfout wordt ieder woord verstaan, dat met het onderhavige woord een in geringe mate afwijkende spelling vertoont. Als voorbeeld hierbij kunnen voor het foutieve woord "ber" de alternatief-woorden "bef", "ben", "bek", "bel", "bep", "bed", "beo", "bes" "bar", "ter", "der", "eer", "ger", "oer", "per", "ver" "berk" "berg", "berm", "ober, "boer", "bier", "beur" en "beer" genoemd worden, waarbij voorts nog per woord gelet moet worden op onderscheid naar woordcategorie en/of applicatiegerichte categorie. Zo komt bijvoorbeeld bij het woord "bel" zowel de woordcategorie "verb" alswel de woordcategorie "noun" als afzonderlijke woordstructuur voor.
Daar een verzameling van samenhangende alternatief-woorden met diverse woordstructuren erg omvangrijk kan zijn, en de gebruiker toch alleen maar geïnteresseerd is in een beperkt aanbod van alternatief-woorden om daaruit een keuze te kunnen maken, wordt met voordeel een woordgeheugen 6 gebruikt, waarin ieder woord niet alleen voorzien is van de bijbehorende woordcategorie(ën) en de applicatie-gerichte categorieën, maar tevens van een specifieke, door de gebruiksfrequentie van het woord bepaalde "frequentiefactor". De betekenis van de frequentiefactor van een woord is, dat deze factor een hogere waarde bezit, naarmate het gebruik van dat woord frequenter is. Door de in het woordgeheugen 6 geselecteerde alternatief-woorden met bijbehorende woordstructuren in een door de respectieve frequentiefactoren bepaalde volgorde te formeren en ze tesamen met de bij de overige woorden van de zin behorende woordstructuren op te slaan in een lijstgeheugen 8, wordt bereikt, dat de woordcombinatie met de meest gebruikte woorden als alternatief voor een woord met een spellingsfout in de praktijk het eerste aan bod komen voor een onderzoek naar bruikbaarheid bij het vervangen van het foutieve woord. In plaats van het afzonderlijk uitvoeren van stappen 32 en 36 is het ook mogelijk dit gelijktijdig bij het detecteren van een spellingfsfout te doen. Vervolgens gaat het programma naar stap 40 alwaar de vraag beantwoord wordt of iedere woordcombinatie in het lijstgeheugen 8 reeds onderzocht is.
Wordt de vraag bij stap 40 ontkennend beantwoord (N), en zijn er dus nog meer op de zin betrekking hebbende woordcombinaties met al dan niet andere woordstructuren mogelijk, dan gaat het programma verder naar stap 42.
Bij stap 42 wordt in de aangegeven volgorde telkenmale een nieuw alternatief-woord in combinatie met de overige woorden van de zin uit het lijstgeheugen 8 gehaald.
Vervolgens wordt bij de volgende stap 44 de vraag gesteld of de aldus gevormde woordcombinatie reeds in een representatiegeheugen /2 ten behoeve van het weergeven op een beeldscherm 14 is ingeschreven. Het is bijvoorbeeld mogelijk, dat een reeds behandelde woordcombinatie met oorspronkelijk een ander alternatief-woord bij een parseer- en corrigeerbewerking uiteindelijk toch nog in een verbeterde alternatief-zin heeft geresulteerd, welke dan identiek is met die van de nu te behandelen woordcombinatie. Stel, dat de alternatief-woorden "wordt" en "word"gegeven zijn voor het foutieve woord "wort", waarbij aan "wordt" een hogere frequentiefactor is toegekend dan aan "word". Wanneer nu de als eerste te vormen combinatie "ik wordt ziek" onderzocht wordt, zal dit uiteindelijk de verbeterde zin "ik word ziek" opleveren. Deze zin zal dan in het representatiegeheugen 12 voor weergave op het beeldscherm 14 worden bijgeschreven. De daarna te vormen woordcombinatie "ik word ziek" behoeft dan niet meer te worden onderzocht.
Wordt de vraag bij stap 44 bevestigend beantwoord (Y), dan wordt de gevormde woordcombinatie vervolgens bij stap 46 geëlimineerd, en keert het programma terug naar stap 40 om een nieuwe woordcombinatie te kunnen vormen. Wordt echter de vraag bij stap 44 ontkennend beantwoord (N), dan wordt de gevormde woordcombinatie vervolgens bij stap 48 aan een parseermodule 16 aangeboden. Met voordeel kan een parseermodule 16 gebruikt worden, welke ingericht is voor het ontleden van die zinnen, waarbij de woorden zijn gelexicaliseerd aan de hand van het hier gebezigde woordgeheugen 6, waarbij aan ieder woord zowel de bijbehorende woordcategorie(ën) als applicatiegerichte categorieën zijn toegevoegd. Een aldus werkzame parseermodule 16 is bekend uit genoemde Europese octrooiaanvrage. Ook andere parseermodules zijn hier bruikbaar, zij het dat een parseermodule, welke niet geschikt is om te ontleden aan de hand van applicatiegerichte categorieën, vaak minder doeltreffend is.
Telkenmale wanneer bij stap 48 een woordcombinatie ontleed is, wordt bij stap 50 de vraag gesteld of de volgens stap 44 uitgevoerde ontleding van de aangeboden woordcombinatie een foutloze ontleding heeft opgeleverd. Wordt deze vraag bevestigend beantwoord (Y), dan wordt bij de daarop volgende stap 52 de woordcombinatie in het representatiegeheugen 12 ingeschreven.
Vervolgens gaat het programma naar stap 54, alwaar de vraag gesteld wordt, of de onderzochte combinatie correspondeert met de originele zin. Is dit het geval (Y), dan gaat het programma verder naar stap 56, alwaar de woordcombinatie vanuit het representatiegeheugen 12 op het beeldscherm 14 wordt weergegeven. Wordt de vraag bij stap 54 ontkennend beantwoord (N), dan gaat het programma naar stap 58, alwaar de vraag beantwoord wordt, of een vooraf bepaald aantal van alternatief-zinnen al reeds in het representatiegeheugen 12 is ingeschreven. Wordt de vraag bij stap 58 bevestigend beantwoord (Y), dan gaat het programma direct naar stap 56, waarbij de in het representatiegeheugen 12 opgeslagen zin of zinnen (of alleen de bijbehorende alternatief-woorden en/of de gecorrigeerde versies van deze woorden) op het beeldscherm 14 worden gepresenteerd. Zonodig kan de gebruiker daaruit een keuze maken als zijnde het beste alternatief, wat te bereiken valt. Ook is het mogelijk om de inrichting een keuze te laten maken door voor ieder woord uit een groep samenhangende alternatief-woorden met behulp van een "find"-actie in de tekst terug te zoeken, wanneer het betreffende woord of bijbehorende woordstam het laatst is toegepast. Het alternatief-woord dat als meest recente woord in de tekst voorkomt, moet dan als de beste keuze worden beschouwd.
Wordt de vraag bij stap 58 ontkennend beantwoord (N), en is dus het representatiegeheugen 12 slechts ten dele gevuld, dan gaat het programma terug naar stap 40.
Wordt de vraag bij stap 50 ontkennend beantwoord (N), dan gaat het programma naar stap 60, alwaar de vraag wordt gesteld, of de bij stap 48 uitgevoerde parsering een waarde van de waarschijnlijkheidsfactor heeft opgeleverd, welke beneden een vooraf ingestelde drempelwaarde ligt. Wordt deze vraag bevestigend beantwoord (Y), dan gaat het programma naar stap 46, alwaar de woordcombinatie geëlimineerd wordt en het programma terugkeert naar stap 40.
Wordt bij stap 60 de vraagstelling ontkennend beantwoord (N), dan gaat het programma naar stap 66, alwaar de vraag wordt gesteld of de ontleding van de woordcombinatie een foutmelding heeft opgeleverd. Het is immer mogelijk, dat de parser bij stap 48 de toegevoerde woordcombinatie in het geheel niet kan verwerken, zoals dat het geval is bij bijvoorbeeld de zinnen "ik woord ziet", of "ik bel zoek".
Wordt de vraag bij stap 66 bevestigend beantwoord (Y), dan wordt de woordcombinatie bij de volgende stap 68 aan een module voor het corrigeren van grammaticaal niet-correcte zinnen toegevoerd. Een mogelijke uitvoeringsvorm van een dergelijke module is beschreven in genoemde Europese octrooiaanvrage. Genoemde correctiemodule gebruikt daarbij gegevens, welke betrekking hebben op applicatie-gerichte categorieën. Nadat de woordcombinatie bij stap 68 een correctie heeft ondergaan, wordt bij stap 70 de vraag gesteld of die gecorrigeerde woordcombinatie reeds in het representatiegeheugen is ingeschreven. Wordt die vraag bevestigend beantwoord (Y), dan wordt de woordcombinatie bij de volgende stap 46 geëlimineerd, en gaat het programma terug naar stap 40. Wordt die vraag ontkennend beantwoord (N) dan wordt die zin bij stap 52 aan het representatiegeheugen 12 voor inschrijving toegevoerd. Nadat er een vooraf bepaald aantal woordcombinaties in dit geheugen 12 is ingeschreven, of wanneer er geen woordstructuren meer in het lijstgeheugen 8 voorhanden zijn, wordt bij stap 56 het verkregen aantal zinnen of de bijbehorende alternatief-woorden dan wel de bijbehorende gecorrigeerde woorden op het beelscherm weergegeven.
Wordt de vraagstelling bij stap 66 ontkennend beantwoord (N), hetgeen inhoudt, dat we te maken hebben met een woordcombinatie, waarvoor de parser bij stap 48 geen ontleding kon geven, dan gaat het programma via stap 46 naar stap 40.
Wordt de vraag bij stap 40 bevestigend beantwoord (Y), en is er dus geen nieuwe woordcombinatie in het lijstgeheugen 8 te genereren, dan gaat het programma verder naar stap 62, waarbij de vraag wordt gesteld of het representatiegeheugen 12 leeg is. Wordt deze vraag ontkennend beantwoord (N), dan gaat het programma naar stap 56, alwaar de inhoud van het representatiegeheugen 12 op het beeldscherm 14 wordt weergegeven. Wordt de vraag bij stap 62 bevestigend beantwoord (Y), dan volgt stap 72, alwaar de gebruiker de op het beeldscherm te stellen vraag te beantwoorden krijgt of hij de gevolgde procedure opnieuw wenst te doen, maar dan met een lagere drempelwaarde. Het zou immers mogelijk zijn, dat voor enige woordcombinaties het programma in geval van een lagere drempelwaarde na stap 60 toch verder gaat met stap 66. Toetst de gebruiker een positief antwoord (Y) in, dan gaat het programma naar stap 36 terug, en wordt de procedure opnieuw, maar met een lagere drempelwaarde uitgevoerd. Toetst de gebruiker een negatief antwoord (N) in, dan gaat het programma verder naat stap 64, hetgeen in Fig. 1B is weergegeven. Het is ook mogelijk stap 72 geheel achterwege te laten, waardoor het programma automatisch naar stap 64 gaat. Bij stap 64 selecteert de spellingscorrector 10 (van stap 36) voor ieder oorspronkelijk woord uit die zin (dus voor ieder woord zonder foutcode), een aantal alternatief-woorden, die een geringe spellingsvariatie vertonen met het te vervangen woord zelf. Het is echter ondoenlijk om uit alle mogelijke combinaties van al de bij die alternatief-woorden behorende woordstructuren woordcombinaties te maken, en deze op juistheid te onderzoeken en waar nodig te corrigeren. Dit zou niet alleen veel verwerkingstijd van de computer vergen, maar tevens veel opslagcapaciteit. Het is daarentegen wel mogelijk om het eventuele aantal op grammatica-correctie te onderzoeken woordcombinaties aanzienlijk te reduceren door per woord na te gaan of er meerdere alternatief-woorden met dezelfde woordcategorie en dezelfde applicatie-gerichte categorieën bestaan. Door van een dergelijke groep alternatief-woorden met dus dezelfde woordcategorie en dezelfde applicatiegerichte categorieën slechts één representant te nemen, wordt bereikt, dat het aantal woordcombinaties, dat voor parseeronderzoek in aanmerking komt, aanzienlijk wordt gereduceerd. Na afloop van dit onderzoek dienen bij de correcte oplossingen ook nog de niet-beschouwde oplossingen bij het zoeken naar een geschikte oplossing betrokken te worden. Ter uitvoering van het voorafgaande worden daarom bij stap 64 bij ieder woord in de zin uit de bijbehorende verzameling woordstructuren tevens slechts die woordstructuren geselecteerd, die zich van elkaar onderscheiden in woordcategorie en/of applicatie-gerichte categorie. Via de nog nader te bespreken stap 74 komt het programma bij stap 76, alwaar van de aldus geselecteerde woordstructuren telkenmale een nieuwe woordcombinatie wordt geformeerd, waarna bij stap 78 wordt nagegaan of zo'n woordcombinatie reeds in het representatiegeheugen 12 aanwezig is.
Wordt op deze vraag bevestigend geantwoord (Y), dan gaat het programma naar stap 80, alwaar de woordcombinatie geëlimineerd wordt. Vervolgens keert het programma terug naar stap 74. Wordt daarentegen de vraag bij stap 78 ontkennend beantwoord (N), dan gaat het programma naat stap 82 alwaar de woordcombinatie aan een ontleding door de parseermodule 16 wordt onderworpen. Iedere nieuwe woordcombinatie wordt daarna bij stap 84 beoordeeld of deze een foutloze parsering heeft opgeleverd. Wordt dit onderzoek voor een woordcombinatie bevestigend beantwoord (Y), dan wordt deze woordcombinatie bij stap 86 in een hulpgeheugen 20 ingeschreven, waarna het programma terugkeert naar stap 74. Bij deze stap 74 wordt de vraag gesteld of er nog andere, niet-gebruikte woordcombinaties gevormd kunnen worden. Wordt deze vraag bevestigend beantwoord (Y), dan gaat het programma weer verder naar stap 76. Wordt deze vraag ontkennend beantwoord (N), dan gaat het programma verder met stap 88. Wordt bij stap 84 de vraag omtrent een geschikte ontleding van een woordcombinatie ontkennend beantwoord (N), dan wordt bij stap 80 de onderhavige woordcombinatie geëlimineerd en gaat het programma terug naar stap 74. Vervolgens worden bij stap 88 met behulp van een selectie-eenheid 22 die woordcombinaties uit het hulpgeheugen 20 geselecteerd, welke het grootste aantal originele woorden van de bij stap 30 toegevoerde woordcombinatie vertonen. De overige woordcombinaties worden daarbij geëlimineerd.
Vervolgens wordt bij stap 90 successievelijk voor ieder geselecteerde woordcombinatie per woord door de spellingscorrector 10 in het woordgeheugen 6 naar alternatief-woorden in dezelfde woordcategorie én applicatiegerichte categorieën gezocht. Met behulp van die alternatief-woorden worden woordcombinaties geformeerd, welke dan in het representatiegeheugen 12 worden ingeschreven, en welke bij de volgende stap 56 (Fig. 1A) op het beeldscherm aan de gebruiker ter keuze worden getoond. Daar nu de mogelijkheid bestaat, dat het aantal weer te geven woordcombinaties te omvangrijk is, kan met behulp van een "find-actie" worden nagegaan, wanneer de desbetreffende woorden voor het laatst in de tekst zijn voorgekomen. Op grond daarvan kan de inrichting uit de aangeboden combinaties zelf een keuze uitvoeren. Bevat het representatiegeheugen 12 ook nu nog geen bruikbare oplossing, dan dient dat op het beeldscherm te worden aangegeven.
Wordt, nadat bij stap 32 de ingelezen zin door de spellingschecker 4 onderzocht is, bij stap 34 de vraag over de aanwezigheid van een spellingsfout ontkennend (N) beantwoord, dan nog kan de zin grammaticaal onjuist zin. Om deze reden wordt een dergelijke zin rechtstreeks de parseermodule van stap 48 toegevoerd. Hierbij blijft het lijstgeheugen leeg!
De in Fig. 2 weergegeven eenheden worden bestuurd door besturingseenheid 24 aan de hand van het programma.
Fig. 3 toont een stroomdiagram met betrekking tot een voordelige uitvoeringsvorm van de werkwijze volgens de uitvinding.
Programmastappen, welke in Fign. 1A-1B en Fig. 3 van overeenkomstige betekenis zijn, zullen zo mogelijk niet nader worden toegelicht. In het stroomdiagram van Fig. 3, dat aanvangt bij startpunt S, wordt bij stap 30 de te onderzoeken zin in het computersysteem met behulp van een invoereenheid 2 ingelezen en vervolgens bij stap 32 gelexicaliseerd. Bij de volgende stap 34 wordt de vraag behandeld, of er tenminste één spellingsfout in de toegevoerde zin aanwezig is. Wordt deze vraag bevestigend beantwoord (Y), dan wordt bij de volgende stap 35 een vlag "a" aan de woordcombinatie toegevoegd ten teken dat bij het doorlopen van het programma de woordcombinatie herkend wordt als zijnde een woordcombinatie welke correspondeert met de originele zin, en een of meerdere spellingsfouten vertoont, maar nog geen correctiebewerking heeft ondergaan. De correctieve maatregelen ten aanzien van een zin met vlag "a" dienen beperkt te blijven. Dit houdt in, dat bij de volgende stap 36 een spellingscorrector 10 in een daaraan toegevoegd woordgeheugen 6 naar bruikbare alternatiefwoorden zoekt voor slechts die woorden, die een foutcode hebben gekregen. Daar een verzameling van samenhangende alternatiefwoorden met diverse woordstructuren erg omvangrijk kan zijn is het vaak een tijdrovende bezigheid om voor ieder alternatiefwoord door middel van een parseerprocedure na te gaan, of de bijbehorende zin een correcte oplossing biedt ten aanzien van de grammaticaregels.
Het is dus raadzaam enige selectie toe te passen bij de te parseren woordcombinaties. Daar een parseermodule 16 geen verschil ziet tussen de zinnen, waarin een foutief woord telkenmale vervangen is door alternatiefwoorden, die echter wél in verbale categorie en applicatiegerichte categorieën overeenkomen, kan men bij de parseermodule volstaan met een zin, welke representatief is qua grammaticale opbouw voor de andere zinnen. Daar voorts het alternatiefwoord dat in het taalgebruik het meest frequent voorkomt, in het algemeen de beste kans maakt om uiteindelijk door de gebruiker gekozen te worden, wordt bij stap 36 met voordeel tekenmale het alternatiefwoord met de hoogste frequentiefactor geselecteerd. Van de aldus geselecteerde alternatiefwoorden worden de bijbehorende woordstructuren tesamen met de bij de overige woorden van de zin behorende woordstructuren in een lijstgeheugen 8 opgeslagen. Bij de volgende stap 40 wordt de vraag beantwoord of iedere woordcombinatie uit het lijstgeheugen 8 onderzocht is. Wordt de vraag ontkennend beantwoord (N), dan gaat het programma verder naar stap 42, alwaar een nieuwe woordcombinatie uit het lijstgeheugen 8 wordt gelezen. Vervolgens wordt bij stap 44 de vraag gesteld of de aldus gevormde woordcombinatie als gevolg van een eerder uitgevoerde correctieprocedure in het representatiegeheugen 12 reeds aanwezig is. Is dit het geval (Y), dan wordt die woordcombinatie bij stap 46 geëlimineerd en gaat het programma weer naar stap 40. Wordt op deze vraag ontkennend geantwoord (N), dan wordt bij stap 48 een parseerprocedure op de woordcombinatie uitgevoerd. Ook een woordcombinatie, welke geen spellingsfout vertoont, en welke bij stap 34 een ontkennend antwoord (N) op de gestelde vraag tot gevolg had, wordt na het toekennen van vlag "b" bij stap 38 aan een parseerprocedure bij stap 48 onderworpen. Vlag "b" bij een woordcombinatie geeft aan, dat het hier een woordcombinatie betreft, welke behoort bij de originele zin. Vervolgens wordt bij stap 50 de vraag gesteld of de woordcombinatie geresulteerd heeft in een foutloze ontleding. Bij een ontkennend antwoord (N) op deze vraag gaat het programma naar stap 60, alwaar de vraag gesteld wordt, of de bij stap 48 uitgevoerde parsering een waarde voor de waarschijnlijkheidsfactor heeft opgeleverd, welke beneden een vooraf ingestelde drempelwaarde ligt. Wordt deze vraag bevestigend beantwoord (Y), dan gaat het programma naar stap 46, alwaar de onderhavige woordcombinatie wordt geëlimineerd, en het programma vervolgens terugkeert naar stap 40.
Wordt de vraag bij stap 60 negatief beantwoord (N), dan gaat het programma naar stap 66, alwaar de vraag wordt beantwoord, of de woordcombinatie bij het parseren een foutmelding heeft gekregen. Wordt op deze vraag negatief geantwoord (N), dan gaat het programma eveneens naar stap 46. Wordt op de laatstgestelde vraag positief geantwoord (Y), dan is een correctieve maatregel met behulp van een correctiemodule 18 ten aanzien van de woordcombinatie zinvol, welke dan bij de volgende stap 68 wordt uitgevoerd. Vervolgens gaat het programma naar stap 54.
Wordt de vraag bij stap 50 bevestigend beantwoord (Y), dan gaat het programma naar stap 54 voor de beantwoording van de vraag of de woordcombinatie de vlag "b" voert.
Is dit het geval (Y), dan wordt vervolgens de woordcombinatie bij stap 52 in het representatiegeheugen 12 ingeschreven. Is dit niet het geval (N), dan gaat het programma naar stap 84. Bij deze stap dient de oplossingsruimte geëxpandeerd te worden, hetgeen inhoudt, dat voor de niet-originele woordstructuren in de woordcombinatie ook andere woordstructuren maar met dezelfde woordcategorie en dezelfde applicatiegerichte categorieën opgezocht worden; van de daarmee te verkrijgen woordcombinaties worden die combinaties, welke reeds in het representatiegeheugen 12 aanwezig zijn, bij stap 80 geëlimineerd, en de overige zinnen in dat geheugen ingeschreven. Vervolgens keert het programma terug naar stap 40. Wordt bij stap 40 een positief antwoord (Y) op de vraag gegeven, dan gaat het programma naar stap 62, alwaar de vraag gesteld wordt of het representatiegeheugen 12 leeg is, en dus geen oplossing bevat.
Is het antwoord ontkennend (N) op deze vraag, dan wordt de in het representatiegeheugen 12 opgeslagen oplossingsruimte op het beeldscherm 14 bij stap 56 weergegeven.
Wordt op de vraag bij stap 62 bevestigend geantwoord (Y), en is er dus geen oplossing voor de onderzochte woordcombinatie, dan wordt bij de volgende vraag 92 de vraag gesteld, of de woordcombinatie een vlag "a"dan wel vlag "b" voert. Is dit het geval (Y), dan is er nog de mogelijkheid om voor elk woord een serie alternatieve woorden te zoeken.
Dit houd in, dat iedere verzameling alternatief-woorden, welke bij een foutief gespeld woord, en dus bij aanwezigheid van vlag "a", gegenereerd is, als zodanig gehandhaaafd blijft. Voor de overige woorden van de zin wordt per woord een verzameling alternatief-woorden gegenereerd. Een dergelijke procedure moet voorde spellingscorrector 10 bij stap 36 herkenbaar zijn. Hiertoe dient een zin, waarbij voor ieder woord een verzameling alternatief-woorden moet worden gegenereerd, te worden voorzien van vlag "c", hetgeen plaats vindt bij stap 94. Vervolgens gaat het programma naar stap 36. Wordt daarentegen de vraag bij stap 92 negatief beantwoord (N), dan zijn er geen oplossingsmogelijkheden en dient dit op het beeldscherm 14 aan de bedienaar te worden medegedeeld.
Aan de hand van een aantal foutieve voorbeeldzinnen zal het aldus beschreven programma worden toegelicht.
De voorbeeldzin "ik wordt ziek" wordt bij stap 30 door invoereenheid 2 ingelezen. Bij stap 32 zal de spellingschecker 4 geen spellingsfouten detecteren, zodat het programma van stap 34 volgens de kortste route naar stap 48 gaat. De zin wordt dan ontleed, hetgeen een foutmelding en een verlaging van de waarschijnlijkheidsfactor oplevert. Hierbij kan met voordeel de parser als beschreven in EP-A-0 361 570 worden toegepast. Via de stappen 50, 60 en 66 komt het programma bij stap 68 alwaar de zin met een correctiemodule verbeterd wordt. Met voordeel kan ook hier weer de correctiemodule als beschreven is in genoemde Europese octrooiaanvrage worden toegepast. Daarna komt het programma bij stap 52 alwaar de zin in het representatiegeheugen 12 wordt geschreven. Vervolgens gaat het programma verder naar stap 56, alwaar de gecorrigeerde zin op het beelscherm wordt afgebeeld.
De tweede voorbeeldzin "ik wort ziek" wordt bij stap 30 eveneens door de invoereenheid ingelezen. De spellingschecker 4 zal bij de volgende stap 32 het foutief gespelde woord "wort" detecteren, zodat het programma via stap 34 bij stap 36 terecht komt, en aldaar een aantal alternatieve woorden zoals "wordt", "word", "kort", "mort", "port" uit het woordgeheugen 6 selecteert voor inschrijving in het lijstgeheugen 8.
Via stap 40 komt het programma bij stap 42, alwaar de eerste alternatieve zin "ik wordt ziek" wordt gevormd. Deze zin wordt vervolgens bij stap 48 ontleed. Als gevolg van de grammaticale fout in de zin ten aanzien van het woord "wordt" krijgt de zin een foutmelding alsmede een waarschijnlijkheidsfactor kleiner dan 1 mee. Via stap 50 komt het programma bij stap 60. Is de toegekende waarschijnlijkheidsfactor lager dan de drempelwaarde, dan gaat het programma naar stap 46 alwaar de zin geëlimineerd wordt. Het programma keert dan terug naar stap 40 voor de vorming van de tweede alternatieve zin. Is de waarschijnlijkheidsfactor groter dan de drempelwaarde, dan komt het programma via stap 66 bij stap 68, alwaar de zin gecorrigeerd wordt tot "ik word ziek" en vervolgens bij stap 52 in het representatiegeheugen 12 wordt ingeschreven. Daarna keert het programma terug naar stap 40 en wordt vervolgens bij stap 42 de tweede alternatief-zin "ik word ziek" gevormd. Bij stap 44 wordt echter vastgesteld dat deze zin reeds in het representatiegeheugen is ingeschreven, zodat de tweede alternatief-zin geëlimineerd wordt, en het programma terugkeert naar stap 40. Vervolgens wordt bij stap 42 de derde alternatief-zin "ik kort ziek" gevormd. Deze alternatief-zin kan door de parser bij stap 48 niet ontleed worden, en krijgt geen foutmelding mee, maar wel een bijgestelde waarschijnlijkheidsfactor, welke lager is dan de geldende drempelwaarde.
Via stap 50 komt het programma bij stap 60, en vervolgens bij stap 46 alwaar de derde alternatief-zin geëlimineerd wordt. Het programma keert dan terug naar stap 40 om te komen tot de vorming van de vierde alternatief-zin "ik mort ziek". Deze alternatief-zin, alsmede de daarop te vormen alternatief-zin "ik port ziek" ondergaat hetzelfde lot als de zin "ik kort ziek". Nadat bij stap 40 is vastgesteld dat er geen alternatieve woordcombinaties meer in het lijstgeheugen 8 zijn, gaat het programma via mode Y naar stap 56.
Bij de vierde voorbeeldzin "ik woord ziek", welke nu aan de hand van Fign. 1A-1B wordt toegelicht, wordt geen spellingsfout gedetecteerd, en gaat het programma vervolgens bij stap 34 via de naar stap 48. De parser kan de zin niet ontleden, zodat het programma via stappen 50, 60, 66, 46, 40 en 62 toch bij stap 64 terecht komt. De spellingcorrector 10 selecteert nu voor ieder woord een aantal alternatief-woorden.
Het woord "ik" geeft bijvoorbeeld als alternatief-woorden: "uk", "fik", "pik", "in", "lik", "bik", "eik", "tik", "sik", "hik".
Het woord "woord" levert als alternatief-woorden: "word", "woerd", "moord", "noord", "koort", "boord".
En het woord "ziek" levert als alternatief-woorden: "zoek", "riek", "kiek", "ziet", "giek", "piek", "wiek".
Hierbij worden slechts representanten van woorden met onderscheidelijke woordcategorieën en/of applicatiegerichte categoriën geselecteerd.
Behalve het woord "ik" (persoonlijk voornaamwoord, 1e persoon enkelvoud) worden tevens geselecteerd: "uk" (zelfstandig naamwoord, mannelijk, enkelvoudig), "in" (voorzetsel), en "bik" (werkwoord, 1e persoon enkelvoud). Behalve het woord "woord" (zelfstandig naamwoord, onzijdig, enkelvoud) worden dan tevens nog geselecteerd: "wordt" (werkwoord, 2e en 3e persoon enkelvoud) en "woerd" (zelfstandig naamwoord, mannelijk, enkelvoud). En behalve het woord "ziek" (bijvoeglijk naamwoord; naamwoordelijk gezegde) worden dan tevens nog geselecteerd: "zoek" (werkwoord, 1e persoon enkelvoud; bijvoeglijk naamwoord; naamwoordelijk gezegde), en "riek" (zelfstandig naamwoord, mannelijk, enkelvoud; werkwoord, 1e persoon enkelvoud). Vervolgens wordt bij stap 76 telkenmale een nieuwe combinatie van woorden geselecteerd, en vervolgens als een te ontleden zin de parser bij stap 82 aangeboden. Telkenmale zal dan blijken, dat de parser geen foutleze ontleding van de aangeboden zin oplevert. Bij stap 80 wordt die zin dan ook geëlimineerd, waarna het programma terugkeert naar stap 74 voor de selectie van een volgende combinatie van woorden bij stap 76, welke dan bij stap 82 als zin ontleed wordt. Echter zal de bij stap 76 te vormen combinatie "ik word ziek" wel een geschikte ontleding opleveren, waardoor het programma bij stap 84 doorgaat naar stap 86. De zin wordt nu in het hulpgeheugen 20 ingeschreven. Vervolgens gaat het programma weer verder naar stap 74. Wanneer bij stap 74 blijkt, dat er geen nieuwe combinatie van woorden te vormen is, gaat het programma door naar stap 88. Hier worden de zinnen geselecteerd, welke het grootste aantal woorden met de originele zin gemeen hebben. Daar we hier slechts te maken hebben met één zin, blijft deze zin geselecteerd. Vervolgens worden bij stap 90 bij ieder niet-origineel woord uit deze zin die alternatief-woorden verzameld, welke dezelfde woordcategorie en applicatiegerichte categorie vertonen. Het blijkt dat naast de zin "ik word ziek" geen andere zin voldoet.
Claims (7)
1. Werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin met het kenmerk, dat de werkwijze de navolgende, successievelijk uit te voeren stappen omvat: a. 1: het met behulp van een spellingschecker onderzoeken van de zin op spellingsfouten; en a. 2: het met behulp van een parser ontleden van ieder toe te voeren zin; waarbij na detectie van een spellingsfout in een woord in de door de spellingschecker onderzochte zin de werkwijze, voorafgaande aan de stap met betrekking tot het ontleden van de zin, nog de navolgende uit te voeren stappen omvat: b. 1: het genereren van een lijst van, als vervangingswoorden aan te duiden, alternatief- woorden met een gering afwijkende spelling ten opzichte van het op een spellingsfout gedetecteerd woord aan de hand van een woordgeheugen met woordeenheden, welke naar verbale categorieën zijn gelexicaliseerd, en voorzien zijn van een, door de gebruikersfrequentie bepaalde frequentiefactor; b.2: het in afhankelijkheid van de frequentiefactor ordenen van deze vervangingswoorden; b.3: het aan de parser aanbieden van een aantal geordende vervangingswoorden, aan de hand waarvan de parser voor de daarop betrekking hebbende alternatief-zinnen de bijbehorende ontleding zal genereren.
2. Werkwijze voor het onder gebruikmaking van een computersysteem corrigeren van een fout in een, in natuurlijke taal gestelde zin, waarbij deze zin vooraf door een spellingschecker op het voorkomen van een spellingsfout wordt onderzocht, en waarbij in geval van een op een spellingsfout gedetecteerd woord dit woord gecorrigeerd wordt overeenkomstig de werkwijze volgens conclusie 1, met het kenmerk, dat bij aanwezigheid van een grammaticaal niet-correcte zin na correctie van het op de spellingsfout gedetecteerd woord de werkwijze de navolgende alsdan uit te voeren stappen omvat: a. het per woord genereren van een lijst van, als vervangswoorden aan te duiden, alternatief-woorden met een ten opzichte van dat woord gering afwijkende spelling; b. het vormen van alternatief-zinnen onder gebruikmaking van gegenereerde vervangingswoorden voor een of meerdere woorden uit de te vervangen zin; c. het successievelijk ontleden van de gevormde alternatief-zinnen; en d. het selecteren en weergeven van de alternatief-zin met de beste ontleding.
3. Werkwijze volgens conclusie 2, met het kenmerk, dat het ontleden van een alternatief-zin slechts plaats vindt indien deze alternatief-zin een afwijkende combinatie van woordcategorieën omvat in vergelijking met de combinaties van woordcategorieën van reeds ontlede zinnen.
4. Werkwijze volgens conclusie 3, waarbij de parser is ingericht voor het parseren van een zin onder toetsing van de bij de woorden behorende applicatie-gerichte categorieën, met het kenmerk, dat een ontlede zin, waaraan een foutmelding is toegevoegd, wordt gecorrigeerd door een correctiemodule.
5. Inrichting welke geschikt is voor het corrigeren van een fout in een, in een natuurlijke taal gestelde zin met het kenmerk, dat de inrichting is voorzien van; a. een spellingschecker voor het onderzoeken van een zin op spellingsfouten; b. middelen voor het genereren van een lijst van, als vervangingswoorden aan te duiden, alternatief-woorden met een gering afwijkende spelling ten opzichte van het op een spellingsfout gedetecteerd woord aan de hand van een woordgeheugen met woordeenheden, welke naar verbale categorieën zijn gelexicaliseerd, en voorzien zijn van een, door de gebruiksfrequentie bepaalde frequentiefactor; c. een parser voor het ontleden van een toe te voeren zin, waarin een als spellingsfout gedetecteerd woord is vervangen door een vervangingswoord.
6. Inrichting volgens conclusie 5 met het kenmerk, dat de middelen voor het genereren van een lijst van, als vervangingswoorden aan te duiden, alternatief-woorden zijn ingericht voor het uit de vervangingswoorden selecteren van die vervangingswoorden, welke zich van elkaar onderscheiden ten aanzien van de verbale categorie of applicatiegerichte categorie.
7. Inrichting volgens conclusie 6 met het kenmerk, dat de middelen voor het genereren van een lijst van, als vervangingswoorden aan te duiden, alternatief-woorden tevens zijn ingericht voor het uit de vervangingswoorden met gelijke verbale categorie en applicatiegerichte categorie selecteren van het vervangingswoord met de hoogste frequentiefactor.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL9100849A NL9100849A (nl) | 1991-05-16 | 1991-05-16 | Werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin, alsmede een inrichting geschikt voor het uitvoeren van deze werkwijze. |
EP92201331A EP0513918A1 (en) | 1991-05-16 | 1992-05-11 | Method for error correction of natural language sentence |
JP4123850A JPH05135098A (ja) | 1991-05-16 | 1992-05-15 | 自然言語で構成されたセンテンス中のエラーがコンピユータシステムによつて訂正される方法と、この方法を実行するために適した装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL9100849 | 1991-05-16 | ||
NL9100849A NL9100849A (nl) | 1991-05-16 | 1991-05-16 | Werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin, alsmede een inrichting geschikt voor het uitvoeren van deze werkwijze. |
Publications (1)
Publication Number | Publication Date |
---|---|
NL9100849A true NL9100849A (nl) | 1992-12-16 |
Family
ID=19859252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL9100849A NL9100849A (nl) | 1991-05-16 | 1991-05-16 | Werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin, alsmede een inrichting geschikt voor het uitvoeren van deze werkwijze. |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0513918A1 (nl) |
JP (1) | JPH05135098A (nl) |
NL (1) | NL9100849A (nl) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL9300310A (nl) * | 1993-02-19 | 1994-09-16 | Oce Nederland Bv | Inrichting en werkwijze voor syntactische signaal-analyse. |
US6085206A (en) * | 1996-06-20 | 2000-07-04 | Microsoft Corporation | Method and system for verifying accuracy of spelling and grammatical composition of a document |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146405A (en) * | 1988-02-05 | 1992-09-08 | At&T Bell Laboratories | Methods for part-of-speech determination and usage |
-
1991
- 1991-05-16 NL NL9100849A patent/NL9100849A/nl not_active Application Discontinuation
-
1992
- 1992-05-11 EP EP92201331A patent/EP0513918A1/en not_active Withdrawn
- 1992-05-15 JP JP4123850A patent/JPH05135098A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH05135098A (ja) | 1993-06-01 |
EP0513918A1 (en) | 1992-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5444823A (en) | Intelligent search engine for associated on-line documentation having questionless case-based knowledge base | |
US20100191747A1 (en) | Method and apparatus for providing related words for queries using word co-occurrence frequency | |
US20090006950A1 (en) | Document Distribution Control System and Method Based on Content | |
US20020198859A1 (en) | Method and system for providing web links | |
US5799269A (en) | System for correcting grammar based on parts of speech probability | |
JPH08314929A (ja) | スペリング訂正装置 | |
US20040093201A1 (en) | System and method for pre-processing information used by an automated attendant | |
US20020194229A1 (en) | Network-based spell checker | |
US20040221235A1 (en) | Method and system for enhanced data searching | |
US20130212475A1 (en) | Suggesting relevant terms during text entry | |
US5893131A (en) | Method and apparatus for parsing data | |
US20100217768A1 (en) | Query System for Biomedical Literature Using Keyword Weighted Queries | |
US7856388B1 (en) | Financial reporting and auditing agent with net knowledge for extensible business reporting language | |
CN111324689A (zh) | 问答***的索引更新方法、装置、设备及存储介质 | |
US20200380072A1 (en) | System And Method For Transforming Unstructured Text Into Structured Form | |
US20110099193A1 (en) | Automatic pedigree corrections | |
US20060080310A1 (en) | Reading Alerts and Skim-Reading System | |
NL9100849A (nl) | Werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin, alsmede een inrichting geschikt voor het uitvoeren van deze werkwijze. | |
KR100331029B1 (ko) | 한국어개념분류체계구축방법과,수정방법및구축장치 | |
US20220336111A1 (en) | System and method for medical literature monitoring of adverse drug reactions | |
US20020095448A1 (en) | System and method for managing statistical data regarding corrections to word processing documents | |
US20040078730A1 (en) | Data error detection method, apparatus, software, and medium | |
JP3191762B2 (ja) | 文書ファイル検索装置及びプログラムを記録した機械読み取り可能な記録媒体 | |
CN114491215A (zh) | 基于搜索的近义词库更新方法、装置、设备及存储介质 | |
JPH08185393A (ja) | 再実行システム及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1B | A search report has been drawn up | ||
BV | The patent application has lapsed |