Kontrola pravopisu - Spell checker

V softwaru je kontrola pravopisu (nebo kontrola pravopisu nebo kontrola pravopisu ) softwarová funkce, která kontroluje překlepy v textu . Funkce kontroly pravopisu jsou často integrovány do softwaru nebo služeb, jako je textový procesor , e-mailový klient , elektronický slovník nebo vyhledávač .

Oko má kontrolu pravopisu,
Přišlo to s mým hráškovým mořem.
V rovině závětří jsou čtyři moje revue
slečny steaky, které dokážu zauzlit moře.

Eye udeří nábřeží a zadejte zabzučel
a hmotnost čtyři to dva řekněme
Počasí oko am write veslo špatně
Říká mi samé jedničky vážit.

Oko spustilo tuto báseň a hodilo ji
.
Jeho hmotnost je leštěná.
Moje dáma mi vybírala šít.

Dáma je požehnaná věc,
zmrzne tisové tymiány.
Pomáhá mi to napravit všechny roviny vzpřímení
a pomáhá mi, když oční rýma.

Každý frays přijde položen na moji obrazovku
Oko sevřelo také bee a joule.
Kontrola každé slovo vylije každé slovo
Pravidlo dvou šeků.

Původní verzi této básně napsal Jerrold H. Zar v roce 1992. Nenáročná kontrola pravopisu na této básni najde jen malou nebo žádnou chybu, protože kontroluje slova izolovaně. Sofistikovanější kontrola pravopisu využije jazykový model k zvážení kontextu, ve kterém se slovo vyskytuje.
Kontrola pravopisu Google Chrome v akci pro výše uvedenou báseň, slovo „kontrola“ označeno jako nerozpoznané slovo

Design

Základní kontrola pravopisu provádí následující procesy:

  • Naskenuje text a extrahuje slova v něm obsažená.
  • Poté porovná každé slovo se známým seznamem správně napsaných slov (tj. Slovník). Může obsahovat pouze seznam slov nebo může obsahovat také další informace, například body dělení slov nebo lexikální a gramatické atributy.
  • Dalším krokem je jazykově závislý algoritmus pro zpracování morfologie . I pro lehce skloňovaný jazyk, jakým je angličtina , bude kontrola pravopisu muset zvážit různé tvary stejného slova, například množné číslo, slovesné tvary, kontrakce a přivlastňovací znaky . V mnoha jiných jazycích, jako jsou jazyky s aglutinací a složitějším skloňováním a konjugací, je tato část procesu složitější.

Není jasné, zda morfologická analýza - umožňující mnoho forem slova v závislosti na jeho gramatické roli - poskytuje značný přínos pro angličtinu, ačkoli její výhody pro vysoce syntetické jazyky, jako je němčina, maďarština nebo turečtina, jsou jasné.

Jako doplněk k těmto komponentám umožňuje uživatelské rozhraní programu uživatelům schvalovat nebo odmítat nahrazení a upravovat fungování programu.

Kontrola pravopisu může k nalezení správných hláskování chybně napsaných slov použít přibližné algoritmy pro shodu řetězců , jako je Levenshteinova vzdálenost . Alternativní typ kontroly pravopisu používá k rozpoznávání chyb namísto správně napsaných slov pouze statistické informace, například n-gramy . Tento přístup obvykle vyžaduje mnoho úsilí k získání dostatečných statistických informací. Mezi klíčové výhody patří potřeba menšího runtime úložiště a schopnost opravit chyby ve slovech, která nejsou obsažena ve slovníku.

V některých případech kontrola pravopisu používá pevný seznam překlepů a návrhů pro tyto překlepy; tento méně flexibilní přístup se často používá v papírových korekčních metodách, jako jsou například také záznamy encyklopedií.

Shlukovací algoritmy byly také použity pro kontrolu pravopisu kombinovanou s fonetickými informacemi.

Dějiny

Pre-PC

V roce 1961 považoval Les Earnest , který vedl výzkum této začínající technologie, za nezbytné zahrnout první kontrolu pravopisu, která zpřístupnila seznam 10 000 přijatelných slov. Ralph Gorin, v té době postgraduální student pod Earnestem, vytvořil v únoru první opravdový program pro kontrolu pravopisu psaný jako aplikační program (spíše než výzkum) pro obecný anglický text: SPELL pro DEC PDP-10 v laboratoři umělé inteligence Stanfordské univerzity 1971. Gorin napsal SPELL v jazyce sestavení pro rychlejší akci; vytvořil první korektor pravopisu tak, že v seznamu slov prohledal věrohodná správná hláskování, která se liší transpozicí jednoho písmene nebo sousedního písmene, a představil je uživateli. Gorin učinil SPELL veřejně přístupným, jak se to dělo u většiny programů SAIL (Stanford Artificial Intelligence Laboratory), a brzy se rozšířil po celém světě prostřednictvím nového ARPAnetu, asi deset let před všeobecným používáním osobních počítačů. SPELL, jeho algoritmy a datové struktury inspirovaly program Unix ispell .

První kontroly pravopisu byly široce dostupné na sálových počítačích na konci 70. let minulého století. Skupina šesti lingvistů z Georgetownské univerzity vyvinula první systém kontroly pravopisu pro společnost IBM.

Henry Kučera vynalezl jeden pro stroje VAX společnosti Digital Equipment Corp v roce 1981.

PC

První kontrola pravopisu pro osobní počítače se objevila v roce 1980, například „WordCheck“ pro systémy Commodore, která byla vydána na konci roku 1980 včas, aby se reklamy mohly vytisknout v lednu 1981. Vývojáři jako Maria Mariani a Random House spěchali s OEM balíčky nebo ukončili -uživatelské produkty na rychle se rozvíjející softwarový trh. Na počítačích s operačním systémem Windows byly tyto kontroly pravopisu samostatné programy, z nichž mnohé bylo možné spustit v režimu TSR z balíčků pro zpracování textu na počítačích s dostatečnou pamětí.

Trh se samostatnými balíčky byl však krátkodobý, protože v polovině osmdesátých let vývojáři populárních balíčků pro zpracování textu, jako jsou WordStar a WordPerfect, do svých balíků začlenili kontrolu pravopisu, většinou licencovanou od výše uvedených společností, kteří rychle rozšířili podporu od Angličtinu do mnoha evropských a nakonec i asijských jazyků . To však vyžadovalo rostoucí sofistikovanost morfologických rutin softwaru, zejména s ohledem na silně aglutinační jazyky, jako je maďarština a finština . Ačkoli velikost trhu se zpracováním textu v zemi, jako je Island, nemusela odůvodnit investice do implementace kontroly pravopisu, společnosti jako WordPerfect se nicméně v rámci své globální marketingové strategie snažily lokalizovat svůj software pro co nejvíce národních trhů .

Když Apple vyvinul „systémovou kontrolu pravopisu“ pro Mac OS X tak, aby „operační systém převzal opravy pravopisu“, šlo o první: jeden „nemusel pro každý program“ udržovat samostatnou kontrolu pravopisu. Pokrytí kontroly pravopisu systému Mac OS X zahrnuje prakticky všechny sdružené aplikace a aplikace třetích stran.

VT Speller společnosti Visual Tools , představený v roce 1994, byl „navržen pro vývojáře aplikací podporujících Windows“. Byl dodáván se slovníkem, ale měl schopnost vytvářet a integrovat použití sekundárních slovníků.

Prohlížeče

Firefox 2.0, je webový prohlížeč , má kontrolní podporu pravopisu pro user-psaný obsah, například při úpravách Wikitext, psaní na mnoha webových e-mailových stránek, blogů a sociálních sítí webových stránek. Webové prohlížeče Google Chrome , Konqueror a Opera , e-mailový klient Kmail a instant messaging klient Pidgin také nabízejí kontrolu pravopisu podporu, transparentně použitím již GNU Aspell av současné době Hunspell jako jejich motor.

Speciality

Některé kontroly pravopisu mají samostatnou podporu pro lékařské slovníky, které pomáhají předcházet lékařským chybám.

Funkčnost

První kontroloři kouzla byli „ověřovatelé“ místo „korektoři“. Nenabízeli žádné návrhy na nesprávně napsaná slova. To bylo užitečné pro překlepy, ale nebylo to tak užitečné pro logické nebo fonetické chyby. Výzvou, které vývojáři čelili, byla obtížnost nabízet užitečné návrhy pro překlepy. To vyžaduje redukci slov na kosterní formu a použití algoritmů pro porovnávání vzorů.

Může se zdát logické, že pokud jde o slovníky pro kontrolu pravopisu, „čím větší, tím lepší“, aby správná slova nebyla označena jako nesprávná. V praxi se však optimální velikost angličtiny jeví kolem 90 000 záznamů. Pokud jich je více, mohou být nesprávně napsaná slova přeskočena, protože jsou mylně považována za jiná. Lingvista by například mohl na základě korpusové lingvistiky určit , že slovo baht je častěji překlepem koupele nebo netopýra než odkazem na thajskou měnu. Proto by bylo obvykle užitečnější, kdyby pár lidí, kteří píší o thajské měně, bylo trochu nepohodlné, než kdyby byly přehlédnuty pravopisné chyby mnoha dalších lidí, kteří diskutují o koupelích.

Snímek obrazovky Enchant , kontrola pravopisu AbiWord .

První kontrola pravopisu MS-DOS byla většinou používána v režimu kontroly z balíčků zpracování textu. Po přípravě dokumentu uživatel naskenoval text a hledal překlepy. Později však bylo dávkové zpracování nabízeno v takových balíčcích, jako je Oracle CoAuthor s krátkou životností, a umožnilo uživateli zobrazit výsledky poté, co byl dokument zpracován, a opravit pouze slova, o nichž bylo známo, že jsou nesprávná. Když se paměť a výpočetní výkon staly hojnými, byla kontrola kouzel prováděna na pozadí interaktivním způsobem, jako tomu bylo v případě programu Spellbound vyráběného v Sector Software, který byl vydán v roce 1987, a Microsoft Word od Wordu 95.

V posledních letech jsou kontroly kouzel stále sofistikovanější; některé jsou nyní schopné rozpoznávat jednoduché gramatické chyby. I přes to nejlepší, že jen zřídka zachytí všechny chyby v textu (například chyby homofonu ) a budou označovat neologismy a cizí slova jako překlepy. Kontroly pravopisu lze nicméně považovat za druh pomoci při psaní cizích jazyků, na který se mohou studenti, kteří nejsou rodnými jazyky, spolehnout na detekci a opravu svých překlepů v cílovém jazyce.

Kontrola pravopisu pro jiné jazyky než angličtinu

Angličtina je neobvyklá v tom, že většina slov používaných ve formálním psaní má jediné hláskování, které lze nalézt v typickém slovníku, s výjimkou některých žargonu a upravených slov. V mnoha jazycích jsou slova často spojována do nových kombinací slov. V němčině jsou složená podstatná jména často vytvářena z jiných existujících podstatných jmen. Některé skripty jasně neoddělují jedno slovo od druhého, což vyžaduje algoritmy pro rozdělení slov. Každý z nich představuje jedinečné výzvy pro kontrolu pravopisu mimo angličtinu.

Kontrola pravopisu citlivá na kontext

Byl proveden výzkum na vývoji algoritmů, které jsou schopné rozpoznat chybně napsané slovo, i když samotné slovo je ve slovníku, na základě kontextu okolních slov. Nejen, že to umožňuje chytit slova, jako jsou ta v básni výše, ale také to zmírňuje škodlivý účinek rozšiřování slovníků, což umožňuje rozpoznání více slov. Například baht ve stejném odstavci jako Thajsko nebo Thajsko by nebyl uznán jako překlep koupele . Nejběžnějším příkladem chyb zachycených takovým systémem jsou chyby homofonu , například tučná slova v následující větě:

Jejich příchod příliš moře v případě jeho naviják .

Dosud nejúspěšnějším algoritmem je Andrew Golding a Dan Roth „ Algoritmus pro opravu pravopisu na bázi Winnow “, publikovaný v roce 1999, který je schopen rozpoznat přibližně 96% kontextově citlivých pravopisných chyb, kromě běžných neslovních pravopisných chyb. V Microsoft Office 2007 se objevuje kontextová kontrola pravopisu a také se objevuje v dnes již zaniklé Google Wave .

Kontrola gramatiky se pokouší opravit problémy s gramatikou nad rámec překlepů, včetně nesprávného výběru slov.

Viz také

Reference

externí odkazy