Skrivhjälpmedel
Lingvistiskt baserad språkkontroll
En grammatikkontroll är lingvistiskt basererad på så sätt att den gör en språklig analys av meningen som grund för granskningen. Det innebär att systemet i grunden har en automatisk språkanalyserare, en s.k. parser , som med hjälp av en beskrivning av språket kan tolka en text inte bara som en följd av grafiska tecken, utan som väsentligen bestående av lingvistiska objekt med morfologiska egenskaper och syntaktiska relationer till varandra. För själva granskningen behövs dessutom en mekanism som kan hantera ogrammatiskt språk och andra språkliga problem. Systemet ska också kunna generera ändringsförslag och/eller presentationer som beskriver detekterade problem och instruerar användaren i bearbetningen av dem.
Grovt sett kan man tala om två olika typer av system beroende på hur djup och omfattande grundanalys systemet gör: grammatikbaserade och fenomenbaserade system.
Fenomenbaserade system
Ett fenomenbaserat system gör endast en partiell och ytsyntaktisk analys av varje sats. Den språkliga analysen görs vanligen genom att orden i texten först ordklassmärks genom uppslagning i lexikon (s.k. taggning). Morfologiskt flertydiga ord entydiggörs före och/eller under själva felkontrollen (s.k. disambiguering). Felen kan detekteras genom att en uppsättning granskningsregler matchas mot ord och ordklasser i texten. Granskningsreglerna beskriver lokalt förekommande felaktigheter genom att ange otillåtna ordklasskombinationer, t.ex. två på varandra följande supinumformer som i *kunnat kommit. Felen kan förses med korrektionsförslag genom att en form med överensstämmande morfologiska egenskaper genereras från lexikon (i det här fallet infinitivformen komma).
Ett fenomenbaserat system är både effektivt och robust nog att inte vara för långsamt eller bli överbelastat i praktisk användning, men dess lingvistiska funktionalitet anses traditionellt sett vara begränsad till granskning av grammatiska felaktigheter med strängt lokala beroenden, som i exemplet ovan där felet ligger i relationen mellan de morfologiska egenskaperna hos intilliggande lexikala enheter.
För svenska finns två fenomenbaserade system; det kommersiella systemet Grammatifix (och den finlandssvenska versionen Svefix), som är inbyggt i Word, och KTH:s experimentella program Granska. Båda har god funktionalitet och höga prestanda och kan hantera morfosyntaktiska felaktigheter som inkongruens samt felaktigt böjda verb och pronomen. De innehåller även viss granskning av strukturellt manifesterade problem, t.ex. felaktigt instoppat att efter hjälpverb (börjat att), liksom viss stilistisk granskning.
Forskare vid Göteborgs universitet har utvecklat programmet Finitecheck som använder finita automater för att detektera grammatiska felaktigheter enbart med hjälp av positiva regler, dvs. utan explicita felregler. Finitecheck är särskilt anpassat till granskning av texter skrivna av barn.
Grammatikbaserade system
Ett grammatikbaserat system, däremot, försöker ge varje sats en fullständig analys enligt beskrivningen i en formell grammatik. För att analysen inte bara ska avbrytas när satsen är ogrammatisk, ger systemet successivt efter på vissa grammatiska krav och kan på så vis systematiskt släppa igenom vissa förväntade grammatiska avvikelser som därmed kan detekteras på ett generellt och lingvistiskt motiverat sätt (s.k. relaxering). Grammatikbaserade system anses vanligen inte bara vara teoretiskt mer tilltalande; de anses också ha större potential att detektera grammatiska felaktigheter på ett generellt och kontrollerat sätt, i synnerhet mer komplexa sådana med icke-lokala beroenden, t.ex. inkongruens i predikativ där ett adjektiv i predikatställning ska böjas efter subjektets genus: de vänner han hade kvar var pålitliga . I praktiska sammanhang där kraven på robusthet och effektivitet är stora har dock grammatikbaserade system visat sig ha svårt att leva upp till denna potential. Effektivitetsöverväganden gör att också grammatikbaserade system i praktiken begränsas till en partiell granskning av förväntade problemområden.
Svenska Scarrie är ett grammatikbaserat system för svenska som använder sig av en s.k. chart parser som grund för granskningen. Fördelen med en chart parser är att delresultat kan sparas och genomsökas efter ogrammatiskheter även när en fullständig analys misslyckas. Granskningen i ScarCheck omfattar ungefär samma feltyper som i Grammatifix och Granska. Utvecklingen av ScarCheck har gjorts inom EU-projektet Scarrie där språkkontroll för de nordiska språken danska, norska och svenska utvecklats. Tanken är att projektens tre prototyper ska vidareutvecklas till kommersiellt gångbara program för användning inom tidningsbranschen i de nordiska länderna.