Autofuldførelse - Autocomplete

Autofuldførelse , eller ordkompletteringen , er en funktion, hvor en ansøgning forudsiger resten af et ord en bruger er at skrive. I Android- og iOS -smartphones kaldes dette forudsigende tekst . I grafiske brugergrænseflader kan brugerne typisk trykke på tabulatortasten for at acceptere et forslag eller pil ned for at acceptere en af ​​flere.

Autofuldførelse fremskynder interaktion mellem mennesker og computere, når den korrekt forudsiger det ord, en bruger har til hensigt at indtaste, efter at kun et par tegn er blevet indtastet i et tekstinputfelt. Det fungerer bedst i domæner med et begrænset antal mulige ord (f.eks. I kommandolinjetolke ), når nogle ord er meget mere almindelige (f.eks. Ved adressering af en e-mail ) eller ved at skrive struktureret og forudsigelig tekst (som i kildekoden redaktører ).

Mange autocomplete algoritmer lære nye ord, efter at brugeren har skrevet dem et par gange, og kan foreslå alternativer baseret på de lærde vaner den enkelte bruger.

Definition

Oprindeligt formål

Det oprindelige formål med ordforudsigelsessoftware var at hjælpe mennesker med fysiske handicap med at øge deres skrivehastighed samt at hjælpe dem med at reducere antallet af tastetryk, der er nødvendige for at fuldføre et ord eller en sætning. Behovet for at øge hastigheden bemærkes af det faktum, at folk, der bruger talegenererende enheder generelt producerer tale med en hastighed, der er mindre end 10% så hurtig som folk, der bruger mundtlig tale. Men funktionen er også meget nyttig for alle, der skriver tekst, især mennesker-f.eks. Læger-der ofte bruger lang, svært stavet terminologi, der kan være af teknisk eller medicinsk karakter.

Beskrivelse

Autofuldførelse eller ordafslutning fungerer således, at når forfatteren skriver det eller de første bogstaver i et ord, forudsiger programmet et eller flere mulige ord som valg. Hvis det ord, han har til hensigt at skrive, er inkluderet på listen, kan han vælge det, for eksempel ved hjælp af taltasterne. Hvis det ord, som brugeren ønsker, ikke er forudsagt, skal forfatteren indtaste det næste bogstav i ordet. På dette tidspunkt ændres ordvalgene således, at de angivne ord begynder med de samme bogstaver som dem, der er valgt. Når det ord, som brugeren ønsker, vises, markeres det, og ordet indsættes i teksten. I en anden form for ordforudsigelse forudsiges ord, der sandsynligvis vil følge den netop skrevne, baseret på de seneste ordpar, der er brugt. Ordforudsigelse bruger sprogmodellering , hvor ordene med størst sandsynlighed forekommer inden for et fastlagt ordforråd beregnes. Sammen med sprogmodellering er grundlæggende ordforudsigelseAAC -enheder ofte forbundet med en frecency -model, hvor ord AAC -brugeren har brugt for nylig og ofte er mere tilbøjelige til at blive forudsagt. Word -forudsigelsessoftware giver ofte også brugeren mulighed for at indtaste deres egne ord i ordforudsigelsesordbøgerne enten direkte eller ved at "lære" ord, der er skrevet. Nogle søgeretur relateret til kønsorganer eller andre vulgære udtryk udelades ofte fra autofuldførelsesteknologier, ligesom morbide udtryk

Selvstændige værktøjer

Der er selvstændige værktøjer, der tilføjer autofuldførelsesfunktionalitet til eksisterende applikationer. Disse programmer overvåger brugerens tastetryk og foreslår en liste med ord baseret på første (t) bogstav (er). Eksempler er Typingaid og Letmetype. LetMeType, freeware, er ikke længere udviklet, forfatteren har offentliggjort kildekoden og giver enhver mulighed for at fortsætte udviklingen. Typingaid, også freeware, er aktivt udviklet. Intellicomplete, både en freeware- og payware -version, fungerer kun i visse programmer, der tilsluttes intelicomplete -serverprogrammet. Mange autofuldførelsesprogrammer kan også bruges til at oprette en stenografiliste . Den originale autofuldførelsessoftware var Smartype, der går tilbage til slutningen af ​​1980'erne og stadig er tilgængelig i dag. Det blev oprindeligt udviklet til medicinske transskriptionister, der arbejder i WordPerfect til MS/DOS, men det fungerer nu til enhver applikation i ethvert Windows- eller webbaseret program.

Stenografi

Shorthand , også kaldet Autoreplace, er en relateret funktion, der indebærer automatisk udskiftning af en bestemt streng med en anden, normalt en, der er længere og sværere at skrive, f.eks. "Myname" med "Lee John Nikolai François Al Rahman". Dette kan også stille og roligt rette simple skrivefejl , f.eks. At omdanne " teh " til "the". Flere autofuldførelsesprogrammer, enkeltstående eller integrerede i tekstredigerere, baseret på ordlister, indeholder også en stenografi -funktion til ofte anvendte sætninger.

Kontekstafslutning

Kontekstafslutning er en tekstredigeringsfunktion, der ligner ordafslutning, som fuldender ord (eller hele sætninger) baseret på den aktuelle kontekst og kontekst for andre lignende ord i det samme dokument eller inden for et træningsdatasæt. Den største fordel ved kontekstafslutning er evnen til at forudsige forventede ord mere præcist og endda uden indledende bogstaver. Den største ulempe er behovet for et træningsdatasæt, som typisk er større for kontekstafslutning end for enklere ordafslutning. Den mest almindelige brug af kontekstafslutning ses i avancerede programmeringssprogredaktører og IDE'er , hvor træningsdatasæt i sagens natur er tilgængeligt, og kontekstafslutning giver mere mening for brugeren, end bred ordfuldførelse ville.

Linje færdiggørelse er en form for sammenhæng færdiggørelse, først introduceret af Juraj Simlovic i TED Notepad , i juli 2006. sammenhæng i tråd færdiggørelse er den aktuelle linje, mens de nuværende dokument udgør som træning datasæt. Når brugeren starter en linje, der starter med en ofte brugt sætning, fuldfører editoren den automatisk op til den position, hvor lignende linjer adskiller sig, eller foreslår en liste over almindelige fortsættelser.

Handlingsafslutning i applikationer er selvstændige værktøjer, der tilføjer autofuldførelsesfunktionalitet til en eksisterende applikation eller alle eksisterende applikationer i et operativsystem baseret på den aktuelle kontekst. Den største fordel ved handlingens afslutning er evnen til at forudsige forventede handlinger. Den største ulempe er behovet for et datasæt. Den mest almindelige brug af handlingafslutning ses i avancerede programmeringssprogredaktører og IDE'er . Men der er også værktøjer til fuldførelse af handlinger, der fungerer globalt, parallelt på tværs af alle applikationer på hele pc'en uden (meget) at forhindre handlingens afslutning af de respektive applikationer.

Brug af software

I webbrowsere

Image
Autofuldførelse af søgefeltet i Mozilla Firefox

I webbrowsere udføres autofuldførelse i adresselinjen (ved hjælp af elementer fra browserens historik) og i tekstbokse på ofte brugte sider, f.eks. En søgemaskines søgefelt. Autofuldførelse for webadresser er særlig praktisk, fordi de fulde adresser ofte er lange og vanskelige at skrive korrekt. HTML5 har en form for attribut til autofuldførelse.

I e-mail-programmer

I e-mail-programmer bruges autofuldførelse typisk til at udfylde e-mail-adresserne til de tiltænkte modtagere. Generelt er der et lille antal ofte anvendte e-mail-adresser, derfor er det relativt let at bruge autofuldførelse til at vælge blandt dem. Ligesom webadresser er e-mail-adresser ofte lange, derfor er det upraktisk at skrive dem fuldstændigt.

For eksempel, Microsoft Outlook Express vil finde adresser baseret på navn, der bruges i adressekartoteket. Googles 's Gmail vil finde adresser ved enhver streng, der opstår i adressefeltet eller gemte navn.

I søgemaskiner

I søgemaskiner giver autofuldførelsesgrænsefladefunktioner brugerne forslag til forespørgsler eller resultater, når de skriver deres forespørgsel i søgefeltet. Dette kaldes også almindeligt autosuggest eller trinvis søgning . Denne type søgning er ofte afhængig af matchende algoritmer, der tilgiver indtastningsfejl, såsom fonetiske Soundex -algoritmer eller den sproguafhængige Levenshtein -algoritme . Udfordringen er stadig at søge i store indeks eller populære forespørgselslister på under et par millisekunder, så brugeren kan se resultater poppe op, mens du skriver.

Autofuldførelse kan have en negativ effekt på enkeltpersoner og virksomheder, når negative søgeord foreslås, når der foretages en søgning. Autofuldførelse er nu blevet en del af omdømmestyring, da virksomheder, der er knyttet til negative søgeudtryk som fidus, klager og svig, søger at ændre resultaterne. Især Google har listet nogle af de aspekter, der påvirker, hvordan deres algoritme fungerer, men dette er et område, der er åbent for manipulation.

I kildekode -redaktører

Image
Kodeudfyldelse i Qt Creator 5.0: Programmereren skriver nogle koder, og når softwaren detekterer en genkendelig streng, f.eks. En variabelidentifikator eller et klassens navn, præsenterer den en menu for programmereren, der indeholder det fulde navn på den identificerede variabel eller de metoder, der gælder for den opdagede klasse, og programmøren foretager et valg med hende eller hans mus eller med piletasterne på tastaturet. Hvis programmøren fortsætter med at skrive uden at foretage et valg, forsvinder menuen

Autofuldførelse af kildekoden er også kendt som kodeudfyldelse . I en kildekode editor autofuldførelse er stærkt forenklet ved regelmæssig struktur af programmeringssprog . Der er normalt kun et begrænset antal ord, der er meningsfulde i den aktuelle kontekst eller navnerum , f.eks. Navne på variabler og funktioner. Et eksempel på kode færdiggørelse er Microsofts 's IntelliSense design. Det indebærer at vise en pop-up-liste over mulige udførelser for det aktuelle inputprefiks for at give brugeren mulighed for at vælge det rigtige. Dette er især nyttigt i objektorienteret programmering, fordi programmereren ofte ikke ved præcis, hvilke medlemmer en bestemt klasse har. Derfor fungerer autofuldførelse derefter som en form for praktisk dokumentation samt en inputmetode. En anden fordelagtig egenskab ved autofuldførelse for kildekode er, at det tilskynder programmørerne til at bruge længere, mere beskrivende variabelnavne, der indeholder både små og store bogstaver ( CamelCase ), hvilket gør kildekoden mere læsbar. Det kan være svært at skrive store ord med mange blandede sager som "numberOfWordsPerParagraph", men Autofuldførelse giver mulighed for at afslutte indtastningen af ​​ordet ved hjælp af en brøkdel af tastetryk.

I database forespørgselsværktøjer

Autofuldførelse i databaseforespørgselsværktøjer gør det muligt for brugeren at autofuldføre tabelnavnene i en SQL -sætning og kolonnenavne på tabellerne, der refereres til i SQL -sætningen. Når tekst skrives ind i editoren , giver konteksten for markøren i SQL -sætningen en indikation af, om brugeren har brug for en tabelafslutning eller en tabellkolonnefuldførelse. Tabellen udfylder en liste over tabeller, der er tilgængelige på den databaseserver, brugeren er forbundet til. Kolonnefuldførelsen indeholder en liste over kolonner for kun tabeller, der refereres til i SQL -sætningen. SQL Server Management Studio giver autofuldførelse i forespørgselsværktøjer.

I tekstbehandlere

I mange tekstbehandlingsprogrammer reducerer autofuldførelse mængden af ​​tid, der bruges på at skrive gentagne ord og sætninger. Kildematerialet til autofuldførelse er enten samlet fra resten af ​​det aktuelle dokument eller fra en liste over almindelige ord defineret af brugeren. I øjeblikket inkluderer Apache OpenOffice , Calligra Suite , KOffice , LibreOffice og Microsoft Office understøttelse af denne form for autofuldførelse, ligesom avancerede tekstredigerere som Emacs og Vim .

  • Apache OpenOffice Writer og LibreOffice Writer har et fungerende ordafslutningsprogram, der foreslår ord, der tidligere var skrevet i teksten, snarere end fra hele ordbogen
  • Microsoft Excel -regnearkprogram har et program til fuldførelse af ord, der foreslår ord, der tidligere var skrevet i øvre celler

I kommandolinjetolke

Image
Kommandolinjefuldførelse i PowerShell .

I en kommando-linje tolk , såsom Unix 's sh eller bash eller Windows ' s cmd.exe eller PowerShell , eller i lignende kommandolinjegrænseflader , autofuldførelse af kommando navne og filnavne kan opnås ved at holde styr på alle de mulige navne på ting, som brugeren kan få adgang til. Her udføres autofuldførelse normalt ved at trykke på Tab ↹tasten efter at have indtastet de første flere bogstaver i ordet. For eksempel, hvis den eneste fil i det aktuelle bibliotek, der starter med x, er xLongFileName, kan brugeren foretrække at skrive x og autofuldføre til det fulde navn. Hvis der var et andet filnavn eller en kommando, der startede med x i samme omfang, ville brugeren skrive flere bogstaver eller trykke gentagne gange på Tab -tasten for at vælge den relevante tekst.

Effektivitet

Parametre for effektivitet

Effektiviteten af ​​ordfremførelse er baseret på den gennemsnitlige længde af de indtastede ord. Hvis teksten f.eks. Består af programmeringssprog, der ofte har lange flerordnavne til variabler, funktioner eller klasser, er færdiggørelse både nyttig og generelt anvendt i redaktører, der er specielt rettet mod programmerer som f.eks. Vim .

På forskellige sprog kan ordlængder variere dramatisk. En fodboldspiller på tysk oversættes til ovenstående eksempel og oversættes som en "Fussballspieler" med en længde på 15 tegn. Dette eksempel illustrerer, at engelsk ikke er det mest effektive sprog til WC; denne undersøgelse viser en gennemsnitlig længde for engelske ord i et korpus på over 100.000 ord til 8.93, for tjekkisk til 10.55 og for tysk til 13.24. Desuden kan ord kombineres på nogle sprog som tysk kaldet fusionssprog samt agglutinative sprog , hvilket skaber endnu længere ord.

Forfattere, der ofte bruger meget lange ord, ligesom læger og kemikere, har naturligvis endnu mere brug af Autofuldførelse (Word -færdiggørelse) software end andre forfattere.

Forskning

Selvom forskning har vist, at ordforudsigelsessoftware formindsker antallet af nødvendige tastetryk og forbedrer den skriftlige produktivitet for børn med handicap, er der blandede resultater om, hvorvidt ordforudsigelse rent faktisk øger outputhastigheden. Det menes, at grunden til, at ordforudsigelse ikke altid øger tekstindtastningshastigheden, er på grund af den øgede kognitive belastning og kravet om at flytte øjenblik fra tastaturet til skærmen.

For at reducere denne kognitive belastning kan parametre som f.eks. At reducere listen til fem sandsynlige ord og have et lodret layout af disse ord bruges. Det lodrette layout er beregnet til at holde hoved- og øjenbevægelser på et minimum og giver også yderligere visuelle tegn, fordi ordlængden bliver tydelig. Selvom mange softwareudviklere mener, at hvis ordforudsigelseslisten følger markøren , at dette vil reducere øjenbevægelser, blev det i en undersøgelse af børn med rygmarvsbrok af Tam, Reid, O'Keefe & Nauman (2002) vist, at typning var mere præcis, og at børnene også foretrak, når listen dukkede op i nederste kant af skærmen, ved midterlinjen. Flere undersøgelser har fundet ud af, at ordforudsigelse og tilfredshed stiger, når ordlisten er tættere på tastaturet, på grund af den reducerede mængde øjenbevægelser, der er nødvendig.

Software med ordforudsigelse er produceret af flere producenter. Softwaren kan købes som en tilføjelse til almindelige programmer såsom Microsoft Word (f.eks. WordQ+SpeakQ , Typing Assistant, Co: Writer, Wivik, Ghotit Dyslexia) eller som en af ​​mange funktioner på en AAC-enhed (Kina) Pathfinder, Dynavox Systems, Saltillo's ChatPC -produkter). Nogle kendte programmer: Intellicomplete, som er tilgængelig i både en freeware- og en payware -version, men kun fungerer med programmer, der er lavet til at arbejde med den. Letmetype og Typingaid er begge freeware -programmer, der fungerer i enhver tekstredigerer.

En tidlig version af autofuldførelse blev beskrevet i 1967 af H. Christopher Longuet-Higgins i sin Computer-Assisted Typewriter (CAT), "sådanne ord som" BEGIN "eller" PROCEDURE "eller identifikatorer, der blev introduceret af programmøren, ville automatisk blive udfyldt af CAT, efter at programmøren kun havde skrevet et eller to symboler. ”

Se også

Referencer

eksterne links