Autofullfør - Autocomplete
Autofullføring , eller fullføring av ord , er en funksjon der en applikasjon forutsier resten av et ord en bruker skriver. I Android- og iOS -smarttelefoner kalles dette prediktiv tekst . I grafiske brukergrensesnitt kan brukere vanligvis trykke på tabulatortasten for å godta et forslag eller pil ned for å godta ett av flere.
Autofullføring øker interaksjonen mellom datamaskin og datamaskin når den forutsier korrekt ordet en bruker har tenkt å skrive inn etter at bare noen få tegn er skrevet inn i et tekstinntastingsfelt. Det fungerer best på domener med et begrenset antall mulige ord (for eksempel i kommandolinjetolk ), når noen ord er mye mer vanlige (for eksempel når de adresserer en e-post ), eller skriver strukturert og forutsigbar tekst (som i kildekoden redaktører ).
Mange autocomplete algoritmer lære nye ord etter at brukeren har skrevet dem et par ganger, og kan foreslå alternativer basert på de lærde vaner av den enkelte bruker.
Definisjon
Opprinnelig formål
Det opprinnelige formålet med ordforutsigelsesprogramvare var å hjelpe mennesker med fysiske funksjonshemninger til å øke skrivehastigheten, samt å hjelpe dem med å redusere antall tastetrykk som trengs for å fullføre et ord eller en setning. Behovet for å øke hastigheten bemerkes av det faktum at folk som bruker talegenererende enheter generelt produserer tale med en hastighet som er mindre enn 10% så rask som folk som bruker muntlig tale. Men funksjonen er også veldig nyttig for alle som skriver tekst, spesielt mennesker-for eksempel leger-som ofte bruker lang, vanskelig stavet terminologi som kan være teknisk eller medisinsk.
Beskrivelse
Autofullføring eller ordfylling fungerer slik at når forfatteren skriver den første bokstaven eller bokstavene i et ord, forutsier programmet ett eller flere mulige ord som valg. Hvis ordet han har tenkt å skrive er inkludert i listen, kan han velge det, for eksempel ved å bruke talltastene. Hvis ordet som brukeren vil ha ikke er spådd, må forfatteren skrive inn den neste bokstaven i ordet. På dette tidspunktet endres ordvalgene slik at ordene som følger med begynner med de samme bokstavene som de som er valgt. Når ordet som brukeren vil ha vises, velges det, og ordet settes inn i teksten. I en annen form for ordforutsigelse forutsies ord som mest sannsynlig vil følge den nettopp skrevne, basert på nylige ordpar som er brukt. Ordprediksjon bruker språkmodellering , der ordene som er mest sannsynlig å forekomme i et bestemt ordforråd beregnes. Sammen med språkmodellering er grunnleggende ordforutsigelse på AAC -enheter ofte kombinert med en fresensmodell , der ord AAC -brukeren har brukt nylig og ofte er mer sannsynlig å bli spådd. Ordforutsigelsesprogramvare lar brukeren ofte også skrive inn sine egne ord i ordforutsigelsesordbøkene enten direkte, eller ved å "lære" ord som er skrevet. Noen søkeavkastninger relatert til kjønnsorganer eller andre vulgære termer blir ofte utelatt fra autofullføringsteknologi, det samme er morbide termer
Frittstående verktøy
Det er frittstående verktøy som legger til autofullføringsfunksjonalitet til eksisterende applikasjoner. Disse programmene overvåker brukerens tastetrykk og foreslår en liste med ord basert på de første bokstavene. Eksempler er Typingaid og Letmetype. LetMeType, freeware, er ikke lenger utviklet, forfatteren har publisert kildekoden og lar hvem som helst fortsette utviklingen. Typingaid, også freeware, er aktivt utviklet. Intellicomplete, både en freeware- og payware -versjon, fungerer bare i visse programmer som kobler seg til intellicomplete -serverprogrammet. Mange autofullføringsprogrammer kan også brukes til å lage en stenografi -liste. Den originale autofullføringsprogramvaren var Smartype, som dateres tilbake til slutten av 1980 -tallet og fremdeles er tilgjengelig i dag. Den ble opprinnelig utviklet for medisinske transkripsjonister som jobber i WordPerfect for MS/DOS, men den fungerer nå for alle applikasjoner i alle Windows- eller nettbaserte programmer.
Stenografi
Shorthand , også kalt Autoreplace, er en beslektet funksjon som innebærer automatisk erstatning av en bestemt streng med en annen, vanligvis en som er lengre og vanskeligere å skrive, for eksempel "myname" med "Lee John Nikolai François Al Rahman". Dette kan også stille opp enkle skrivefeil , for eksempel å gjøre " teh " til "the". Flere autofullføringsprogrammer, frittstående eller integrert i tekstredigerere, basert på ordlister, inkluderer også en stenografifunksjon for ofte brukte setninger.
Kontekstfylling
Kontekstfylling er en tekstredigeringsfunksjon, som ligner på ordfylling, som fullfører ord (eller hele setninger) basert på den nåværende konteksten og konteksten til andre lignende ord i det samme dokumentet, eller innenfor et treningsdatasett. Den største fordelen med kontekstoppfyllelse er muligheten til å forutsi forventede ord mer presist og til og med uten innledende bokstaver. Den største ulempen er behovet for et treningsdatasett, som vanligvis er større for kontekstoppfyllelse enn for enklere ordfylling. Den mest vanlige bruken av kontekstoppfyllelse er sett i avanserte programmeringsspråklige redaktører og IDE -er , der treningsdatasett iboende er tilgjengelig og kontekstoppfyllelse gir mer mening for brukeren enn det å gjøre et bredt ord.
Linje ferdigstillelse er en type sammenheng ferdigstillelse, først introdusert av Juraj Simlovic i TED Notepad , i juli 2006. sammenheng i tråd ferdigstillelse er gjeldende linje, mens gjeldende dokument positurer som treningsdatasettet. Når brukeren begynner en linje som starter med en ofte brukt setning, fullfører redaktøren den automatisk, opp til posisjonen der lignende linjer er forskjellige, eller foreslår en liste over vanlige fortsettelser.
Fullførelse av handlinger i applikasjoner er frittstående verktøy som legger til autofullføringsfunksjonalitet til en eksisterende applikasjon eller alle eksisterende applikasjoner i et operativsystem, basert på den nåværende konteksten. Den største fordelen med gjennomføring av handling er muligheten til å forutsi forventede handlinger. Den største ulempen er behovet for et datasett. Mest vanlig bruk av fullføring av handling er sett i avanserte programmeringsspråklige redaktører og IDE -er . Men det er også verktøy for fullføring av handlinger som fungerer globalt, parallelt, på tvers av alle applikasjoner på hele PC -en uten (veldig) å hindre fullføringen av de respektive applikasjonene.
Bruk av programvare
I nettlesere
I nettlesere , er Autofullfør gjort i adressefeltet (ved hjelp av elementer fra nettleserens historikk) og i tekstbokser på ofte brukte sider, for eksempel en søkemotor 's søkeboksen. Autofullføring for webadresser er spesielt praktisk fordi de fulle adressene ofte er lange og vanskelige å skrive riktig. HTML5 har et skjemaattributt for autofullføring.
I e-postprogrammer
I e-postprogrammer brukes autofullføring vanligvis for å fylle ut e-postadressene til de tiltenkte mottakerne. Vanligvis er det et lite antall ofte brukte e-postadresser, derfor er det relativt enkelt å bruke autofullføring for å velge blant dem. Som nettadresser er e-postadresser ofte lange, og det er derfor upraktisk å skrive dem fullstendig.
For eksempel vil Microsoft Outlook Express finne adresser basert på navnet som brukes i adresseboken. Google 's Gmail vil finne adresser av noen streng som oppstår i adressen eller lagrede navnet.
I søkemotorer
I søkemotorer gir autofullføringsgrensesnittfunksjoner brukerne forslag til spørsmål eller resultater når de skriver søket i søkeboksen. Dette kalles også ofte autosuggest eller inkrementell søk . Denne typen søk er ofte avhengig av matchende algoritmer som tilgir oppføringsfeil som fonetiske Soundex -algoritmer eller den språkuavhengige Levenshtein -algoritmen . Utfordringen gjenstår å søke i store indekser eller populære spørrelister på under noen få millisekunder, slik at brukeren ser resultatene dukke opp mens du skriver.
Autofullføring kan ha en negativ effekt på enkeltpersoner og bedrifter når negative søkeord foreslås når et søk finner sted. Autofullføring har nå blitt en del av omdømmeforvaltningen ettersom selskaper knyttet til negative søkeord som svindel, klager og svindel søker å endre resultatene. Spesielt Google har listet opp noen av aspektene som påvirker hvordan algoritmen fungerer, men dette er et område som er åpent for manipulasjon.
I kildekode -redaktører
Autofullføring av kildekoden er også kjent som kodefylling . I en kildekode -editor blir autofullføring forenklet sterkt av den vanlige strukturen til programmeringsspråkene . Det er vanligvis bare et begrenset antall ord som er meningsfulle i den nåværende konteksten eller navnerommet , for eksempel navn på variabler og funksjoner. Et eksempel på kode ferdigstillelse er Microsoft 's IntelliSense design. Det innebærer å vise en popup-liste over mulige fullføringer for gjeldende inndataprefiks for å la brukeren velge den riktige. Dette er spesielt nyttig i objektorientert programmering fordi programmereren ofte ikke vet nøyaktig hvilke medlemmer en bestemt klasse har. Derfor fungerer autofullføring deretter som en form for praktisk dokumentasjon, så vel som en inndatametode. En annen fordelaktig funksjon for autofullføring for kildekoden er at den oppmuntrer programmererne til å bruke lengre, mer beskrivende variabelnavn som inneholder både små og store bokstaver ( CamelCase ), og dermed gjør kildekoden mer lesbar. Å skrive store ord med mange blandede tilfeller som "numberOfWordsPerParagraph" kan være vanskelig, men Autofullfør lar en fullføre å skrive ordet ved å bruke en brøkdel av tastetrykkene.
I databaseforespørgselsverktøy
Autofullføring i databaseforespørgselsverktøy lar brukeren autofullføre tabellnavnene i en SQL -setning og kolonnenavn for tabellene som refereres til i SQL -setningen. Når tekst skrives inn i redigeringsprogrammet , gir konteksten til markøren i SQL -setningen en indikasjon på om brukeren trenger en tabellfylling eller en tabellkolonnefullføring. Tabellen fullfører en liste over tabeller som er tilgjengelige i databaseserveren som brukeren er koblet til. Kolonnefullføringen inneholder en liste over kolonner for bare tabeller som refereres til i SQL -setningen. SQL Server Management Studio gir autofullføring i spørringsverktøy.
I tekstbehandlere
I mange tekstbehandlingsprogrammer reduserer autofullføringen tiden du bruker på å skrive repeterende ord og setninger. Kildematerialet for autofullføring er enten samlet fra resten av gjeldende dokument eller fra en liste over vanlige ord definert av brukeren. For øyeblikket inkluderer Apache OpenOffice , Calligra Suite , KOffice , LibreOffice og Microsoft Office støtte for denne typen autofullføring, det samme gjør avanserte tekstredigerere som Emacs og Vim .
- Apache OpenOffice Writer og LibreOffice Writer har et fungerende ordfyllingsprogram som foreslår ord som tidligere er skrevet i teksten, i stedet for fra hele ordboken
- Microsoft Excel -regnearkprogrammet har et fungerende ordfyllingsprogram som foreslår ord som tidligere var skrevet i øvre celler
I kommandolinjetolk
I et kommandolinje tolk , for eksempel Unix 's sh eller bash eller Windows ' s cmd.exe eller Powershell , eller i lignende kommandolinjegrensesnitt , autofullfør av kommandonavn og filnavn kan oppnås ved å holde styr på alle mulige navn på ting brukeren kan få tilgang til. Her utføres autofullføring vanligvis ved å trykke på Tab ↹tasten etter å ha skrevet de første flere bokstavene i ordet. For eksempel, hvis den eneste filen i den nåværende katalogen som starter med x er xLongFileName, kan det hende at brukeren foretrekker å skrive x og autofullføre til hele navnet. Hvis det var et annet filnavn eller en kommando som begynte med x i samme omfang, ville brukeren skrive flere bokstaver eller trykke på Tab -tasten gjentatte ganger for å velge riktig tekst.
Effektivitet
Parametere for effektivitet
Effektiviteten av ordfylling er basert på gjennomsnittlig lengde på ordene som ble skrevet. Hvis for eksempel teksten består av programmeringsspråk som ofte har lange flerordnavn for variabler, funksjoner eller klasser, er komplettering både nyttig og generelt brukt i redaktører som er spesielt rettet mot programmerere som Vim .
På forskjellige språk kan ordlengder variere dramatisk. Etter å ha tatt opp eksemplet ovenfor, blir en fotballspiller på tysk oversatt som en "Fussballspieler", med en lengde på 15 tegn. Dette eksemplet illustrerer at engelsk ikke er det mest effektive språket for WC; denne studien viser en gjennomsnittlig lengde for engelske ord i et korpus på over 100 000 ord til 8,93, for tsjekkisk til 10,55 og for tysk til 13,24. I tillegg kan ord kombineres på noen språk som tysk som kalles fusjonsspråk samt agglutinative språk , noe som skaper enda lengre ord.
Forfattere som ofte bruker svært lange ord, som leger og kjemikere, har åpenbart enda mer bruk for Autofullfør (Word -ferdigstillelse) -programvare enn andre forfattere.
Forskning
Selv om forskning har vist at ordforutsigelsesprogramvare reduserer antallet tastetrykk som trengs og forbedrer den skriftlige produktiviteten til barn med nedsatt funksjonsevne, er det blandede resultater om hvorvidt ordforutsigelser faktisk øker utskriftshastigheten. Det antas at årsaken til at ordforutsigelser ikke alltid øker tekstinnmatingshastigheten, er på grunn av den økte kognitive belastningen og kravet om å flytte blikk fra tastaturet til skjermen.
For å redusere denne kognitive belastningen kan parametere som å redusere listen til fem sannsynlige ord og ha et vertikalt oppsett av disse ordene brukes. Den vertikale utformingen er ment å holde hode- og øyebevegelser til et minimum, og gir også flere visuelle tegn fordi ordlengden blir tydelig. Selv om mange programvareutviklere mener at hvis ordforutsigelseslisten følger markøren , at dette vil redusere øyebevegelser, ble det i en studie av barn med ryggmargsbrokk av Tam, Reid, O'Keefe & Nauman (2002) vist at det var mer å skrive nøyaktig, og at barna også foretrakk når listen dukket opp nederst på skjermen, på midtlinjen. Flere studier har funnet ut at ordforutsigelsesytelse og tilfredshet øker når ordlisten er nærmere tastaturet, på grunn av den reduserte mengden øyebevegelser som trengs.
Programvare med ordforutsigelse er produsert av flere produsenter. Programvaren kan kjøpes som et tillegg til vanlige programmer som Microsoft Word (for eksempel WordQ+SpeakQ , Typing Assistant, Co: Writer, Wivik, Ghotit Dyslexia), eller som en av mange funksjoner på en AAC-enhet (Kina) Pathfinder, Dynavox Systems, Saltillo's ChatPC -produkter). Noen kjente programmer: Intellicomplete, som er tilgjengelig i både en freeware og en payware -versjon, men fungerer bare med programmer som er laget for å jobbe med den. Letmetype og Typingaid er begge freeware -programmer som fungerer i alle tekstredigerere.
En tidlig versjon av autofullføring ble beskrevet i 1967 av H. Christopher Longuet-Higgins i sin Computer-Assisted Typewriter (CAT), "slike ord som" BEGIN "eller" PROCEDURE "eller identifikatorer introdusert av programmereren, ville automatisk bli fullført av CAT etter at programmereren bare hadde skrevet ett eller to symboler. "
Se også
- Autokorreksjon , automatisk korreksjon av feilstavede ord.
- Prediktiv tekst
- Autofyll - Programvarefunksjon som automatisk fyller ut felt
- Inkrementell søk
- Utdrag -Liten region med kildekode, maskinkode eller tekst som kan brukes på nytt
- Kontekstsensitivt brukergrensesnitt -Programvaremeny hvis elementer endres avhengig av forholdene der menyen ble påkalt
- Kombinasjonsboks
- Rullegardinliste med forslag til søk
- OpenSearch - Samling av teknologier som tillater publisering av søkeresultater i et format som er egnet for syndikering og aggregering, inneholder en spesifikasjon av søkeforslag Web -tjenester
- Google Feud - Nettstedsspill, et autofullføringsspill.
- Wubi -effekt
Referanser
Eksterne linker
- Direkte søk forklart - Eksempler og forklaringer på fungerende netteksempler pluss en diskusjon om brukervennlighetsfordelene sammenlignet med tradisjonelt søk.
- Google Feud - Det første og mest populære av mange spill bygget med autofullføringsdata, som vant en Webby -pris for "Beste spill" i 2016.
- Etterligne Googles autofullføringssøk med en enkelt MigratoryData-server- Optimaliser autofullføringen i søket ved hjelp av vedvarende WebSocket- tilkoblinger for å oppnå både lav opplevelse av søketid og forbedring av båndbredde.