stringtranslate.com

Autocompletar

Ejemplo del término de búsqueda parcialmente escrito baby stque se completa automáticamente con varias opciones

Autocompletar , o completar palabras , es una función en la que una aplicación predice el resto de la palabra que escribe un usuario. En los teléfonos inteligentes Android e iOS [1] , esto se llama texto predictivo . En las interfaces gráficas de usuario , los usuarios normalmente pueden presionar la tecla tab para aceptar una sugerencia o la tecla de flecha hacia abajo para aceptar una de varias.

La función Autocompletar acelera las interacciones entre humanos y computadoras cuando predice correctamente la palabra que un usuario pretende ingresar después de haber escrito solo unos pocos caracteres en un campo de entrada de texto. Funciona mejor en dominios con un número limitado de palabras posibles (como en los intérpretes de línea de comandos ), cuando algunas palabras son mucho más comunes (como al enviar un correo electrónico ) o escribiendo texto estructurado y predecible (como en el código fuente). editores ).

Muchos algoritmos de autocompletar aprenden nuevas palabras después de que el usuario las haya escrito varias veces y pueden sugerir alternativas basadas en los hábitos aprendidos de cada usuario individual.

Definición

Propósito original

El propósito original del software de predicción de palabras era ayudar a las personas con discapacidades físicas a aumentar su velocidad de escritura, [2] así como ayudarlos a disminuir la cantidad de pulsaciones de teclas necesarias para completar una palabra o una oración. [3] La necesidad de aumentar la velocidad se observa en el hecho de que las personas que utilizan dispositivos generadores de voz generalmente producen habla a un ritmo inferior al 10% de la velocidad de las personas que utilizan el habla oral. [4] Pero la función también es muy útil para cualquiera que escriba texto, particularmente personas, como médicos, que frecuentemente usan terminología larga y difícil de deletrear que puede ser de naturaleza técnica o médica.

Descripción

La función de autocompletar o completar palabras funciona de modo que cuando el escritor escribe la primera letra o letras de una palabra, el programa predice una o más palabras posibles como opciones. Si la palabra deseada está incluida en la lista, el escritor puede seleccionarla, por ejemplo, utilizando las teclas numéricas. Si no se predice la palabra que el usuario desea, el escritor debe ingresar la siguiente letra de la palabra. En este momento, la(s) palabra(s) elegida(s) se modifica(n) para que las palabras proporcionadas comiencen con las mismas letras que las que se han seleccionado. Cuando aparece la palabra que el usuario desea, se selecciona y se inserta la palabra en el texto. [5] [6] En otra forma de predicción de palabras, las palabras que tienen más probabilidades de seguir a la que se acaba de escribir se predicen en función de los pares de palabras utilizados recientemente. [6] La predicción de palabras utiliza modelos de lenguaje , donde dentro de un vocabulario determinado se calculan las palabras con mayor probabilidad de aparecer. [7] Junto con el modelado del lenguaje, la predicción básica de palabras en dispositivos CAA a menudo se combina con un modelo de frecuencia , donde es más probable que se predigan las palabras que el usuario de CAA ha usado recientemente y con frecuencia. [4] El software de predicción de palabras a menudo también permite al usuario ingresar sus propias palabras en los diccionarios de predicción de palabras, ya sea directamente o "aprendiendo" palabras que se han escrito. [5] [6] Algunos resultados de búsqueda relacionados con genitales u otros términos vulgares a menudo se omiten en las tecnologías de autocompletado, al igual que los términos morbosos [8] [9]

Historia

La tecnología de texto predictivo y de autocompletado fue inventada por científicos y lingüistas chinos en la década de 1950 para resolver la ineficiencia de entrada de la máquina de escribir china , [10] ya que el proceso de mecanografía implicaba encontrar y seleccionar miles de caracteres logográficos en una bandeja, [11] ralentizando drásticamente reducir la velocidad del procesamiento de textos. [12] [13]

En la década de 1950, los mecanógrafos empezaron a reorganizar la disposición de los caracteres desde la disposición estándar del diccionario a grupos de palabras y frases comunes. [14] Los ingenieros de máquinas de escribir chinos innovaron mecanismos para acceder a caracteres comunes accesibles a la velocidad más rápida posible mediante la predicción de palabras , una técnica utilizada hoy en día en los métodos de entrada chinos para computadoras y en los mensajes de texto en muchos idiomas. Según el historiador de la Universidad de Stanford , Thomas Mullaney, el desarrollo de las máquinas de escribir chinas modernas entre los años 1960 y 1970 influyó en el desarrollo de los procesadores de textos informáticos modernos y afectó el desarrollo de las propias computadoras. [15] [11] [14]

Tipos de herramientas de autocompletar

Existen herramientas independientes que agregan funcionalidad de autocompletar a las aplicaciones existentes. Estos programas monitorean las pulsaciones de teclas del usuario y sugieren una lista de palabras basadas en las primeras letras escritas. Algunos ejemplos son Typingaid y Letmetype. [16] [17] LetMeType, software gratuito, ya no se desarrolla, el autor ha publicado el código fuente y permite que cualquiera continúe con el desarrollo. Typingaid, también software gratuito, se está desarrollando activamente. Intellicomplete, tanto una versión gratuita como una de pago, funciona sólo en ciertos programas que se conectan al programa del servidor intellicomplete. [18] Muchos programas de Autocompletar también se pueden utilizar para crear una lista abreviada . El software de autocompletar original fue Smartype, que data de finales de la década de 1980 y todavía está disponible en la actualidad. Inicialmente fue desarrollado para transcriptores médicos que trabajan en WordPerfect para MS/DOS, pero ahora funciona para cualquier aplicación en cualquier programa Windows o basado en Web.

Taquigrafía

La taquigrafía , también llamada Autoreplace, es una característica relacionada que implica el reemplazo automático de una cadena particular por otra, generalmente una que es más larga y más difícil de escribir, como "minombre" por "Lee John Nikolai François Al Rahman". Esto también puede corregir silenciosamente errores tipográficos simples , como convertir " teh " en "the". Varios programas de Autocompletar, independientes o integrados en editores de texto, basados ​​en listas de palabras, también incluyen una función taquigráfica para frases de uso frecuente. [ cita necesaria ]

Finalización del contexto

La finalización de contexto es una función del editor de texto, similar a la finalización de palabras, que completa palabras (o frases completas) según el contexto actual y el contexto de otras palabras similares dentro del mismo documento o dentro de algún conjunto de datos de entrenamiento. La principal ventaja de la finalización de contexto es la capacidad de predecir palabras anticipadas con mayor precisión e incluso sin letras iniciales. La principal desventaja es la necesidad de un conjunto de datos de entrenamiento, que normalmente es mayor para completar el contexto que para completar palabras más simples. El uso más común de la finalización de contexto se ve en IDE y editores de lenguajes de programación avanzados , donde el conjunto de datos de entrenamiento está inherentemente disponible y la finalización de contexto tiene más sentido para el usuario que la finalización de palabras amplias. [ cita necesaria ]

La finalización de línea es un tipo de finalización de contexto, introducido por primera vez por Juraj Simlovic en TED Notepad , en julio de 2006. El contexto en la finalización de línea es la línea actual, mientras que el documento actual se presenta como un conjunto de datos de entrenamiento. Cuando el usuario comienza una línea que comienza con una frase de uso frecuente, el editor la completa automáticamente, hasta la posición en la que difieren líneas similares, o propone una lista de continuaciones comunes. [ cita necesaria ]

La finalización de acciones en aplicaciones son herramientas independientes que agregan funcionalidad de autocompletar a las aplicaciones existentes o a todas las aplicaciones existentes de un sistema operativo, según el contexto actual. La principal ventaja de la finalización de acciones es la capacidad de predecir acciones anticipadas. La principal desventaja es la necesidad de un conjunto de datos. El uso más común de finalización de acción se ve en IDE y editores de lenguajes de programación avanzados . Pero también existen herramientas de finalización de acciones que funcionan globalmente, en paralelo, en todas las aplicaciones de toda la PC sin (muy) obstaculizar la finalización de acciones de las respectivas aplicaciones. [ cita necesaria ]

Integración de software

En navegadores web

Autocompletar del cuadro de búsqueda en Mozilla Firefox

En los navegadores web , la función de autocompletar se realiza en la barra de direcciones (utilizando elementos del historial del navegador) y en cuadros de texto en páginas de uso frecuente, como el cuadro de búsqueda de un motor de búsqueda . La función de autocompletar para direcciones web es particularmente conveniente porque las direcciones completas suelen ser largas y difíciles de escribir correctamente. HTML5 tiene un atributo de formulario de autocompletar. [ cita necesaria ]

En programas de correo electrónico

En los programas de correo electrónico, el autocompletado se utiliza normalmente para completar las direcciones de correo electrónico de los destinatarios previstos. Generalmente, hay una pequeña cantidad de direcciones de correo electrónico utilizadas con frecuencia, por lo que es relativamente fácil utilizar el autocompletado para seleccionar entre ellas. Al igual que las direcciones web, las direcciones de correo electrónico suelen ser largas, por lo que escribirlas completamente es inconveniente. [ cita necesaria ]

Por ejemplo, Microsoft Outlook Express buscará direcciones según el nombre que se utiliza en la libreta de direcciones. Gmail de Google buscará direcciones por cualquier cadena que aparezca en la dirección o el nombre almacenado. [ cita necesaria ]

En motores de búsqueda

En los motores de búsqueda, las funciones de la interfaz de usuario de autocompletar brindan a los usuarios consultas o resultados sugeridos a medida que escriben su consulta en el cuadro de búsqueda. Esto también se denomina comúnmente búsqueda automática o incremental . Este tipo de búsqueda a menudo se basa en algoritmos de coincidencia que perdonan errores de entrada, como los algoritmos fonéticos de Soundex o el algoritmo Levenshtein independiente del idioma . El desafío sigue siendo buscar en índices grandes o listas de consultas populares en menos de unos pocos milisegundos para que el usuario vea aparecer resultados mientras escribe.

La función de autocompletar puede tener un efecto adverso en individuos y empresas cuando se sugieren términos de búsqueda negativos cuando se realiza una búsqueda. La función Autocompletar se ha convertido ahora en parte de la gestión de la reputación , ya que las empresas vinculadas a términos de búsqueda negativos, como estafa, quejas y fraude, buscan alterar los resultados. Google en particular ha enumerado algunos de los aspectos que afectan el funcionamiento de su algoritmo, pero esta es un área abierta a la manipulación. [19]

En editores de código fuente

Finalización de código en Qt Creator 5.0: el programador escribe un código y cuando el software detecta una cadena reconocible, como un identificador de variable o un nombre de clase, le presenta un menú que contiene el nombre completo de la variable identificada o los métodos aplicables a la clase detectada y el programador realiza una elección con el ratón o con las teclas de flecha del teclado. Si el programador continúa escribiendo sin tomar una decisión, entonces el menú desaparece.

El autocompletado del código fuente también se conoce como finalización de código . En un editor de código fuente , la función de autocompletar se simplifica enormemente gracias a la estructura regular del lenguaje de programación . Por lo general, solo hay un número limitado de palabras significativas en el contexto o espacio de nombres actual , como nombres de variables y funciones. Un ejemplo de finalización de código es el diseño IntelliSense de Microsoft . Implica mostrar una lista emergente de posibles terminaciones para el prefijo de entrada actual para permitir al usuario elegir la correcta. Esto es particularmente útil en programación orientada a objetos porque a menudo el programador no sabrá exactamente qué miembros tiene una clase en particular. Por lo tanto, la función de autocompletar sirve como una forma de documentación conveniente y también como método de entrada.

Otra característica beneficiosa del autocompletado para el código fuente es que anima al programador a utilizar nombres de variables más largos y descriptivos, lo que hace que el código fuente sea más legible. Escribir palabras grandes que pueden contener mayúsculas y minúsculasnumberOfWordsPerParagraph puede ser difícil, pero la función de autocompletar permite al programador completar la escritura de la palabra usando una fracción de las pulsaciones de teclas.

En herramientas de consulta de bases de datos.

El autocompletado en las herramientas de consulta de bases de datos permite al usuario completar automáticamente los nombres de las tablas en una declaración SQL y los nombres de las columnas de las tablas a las que se hace referencia en la declaración SQL. A medida que se escribe texto en el editor , el contexto del cursor dentro de la declaración SQL proporciona una indicación de si el usuario necesita completar una tabla o completar una columna de la tabla. La finalización de tabla proporciona una lista de tablas disponibles en el servidor de base de datos al que está conectado el usuario. La finalización de columnas proporciona una lista de columnas solo para las tablas a las que se hace referencia en la declaración SQL. SQL Server Management Studio proporciona autocompletar en herramientas de consulta. [ cita necesaria ]

En procesadores de texto

En muchos programas de procesamiento de textos , el autocompletado reduce la cantidad de tiempo dedicado a escribir palabras y frases repetitivas. El material fuente para el autocompletado se recopila del resto del documento actual o de una lista de palabras comunes definidas por el usuario. Actualmente Apache OpenOffice , Calligra Suite , KOffice , LibreOffice y Microsoft Office incluyen soporte para este tipo de autocompletado, al igual que editores de texto avanzados como Emacs y Vim .

En intérpretes de línea de comandos

Finalización de la línea de comandos en PowerShell .

En un intérprete de línea de comandos , como sh o bash de Unix , o cmd.exe o PowerShell de Windows , o en interfaces de línea de comandos similares , se puede lograr el autocompletado de nombres de comandos y de archivos manteniendo un registro de todos los posibles nombres de las cosas a las que el usuario puede acceder. Aquí, el autocompletado generalmente se realiza presionando la tecla después de escribir las primeras letras de la palabra. Por ejemplo, si el único archivo en el directorio actual que comienza con x es xLongFileName, es posible que el usuario prefiera escribir x y completar automáticamente el nombre completo. Si hubiera otro nombre de archivo o comando que comenzara con x en el mismo ámbito, el usuario escribiría más letras o presionaría la tecla Tab repetidamente para seleccionar el texto apropiado.Tab ↹

Eficiencia

Investigación

Aunque las investigaciones han demostrado que el software de predicción de palabras disminuye la cantidad de pulsaciones de teclas necesarias y mejora la productividad escrita de los niños con discapacidades, [2] existen resultados mixtos sobre si la predicción de palabras realmente aumenta o no la velocidad de producción. [20] [21] Se cree que la razón por la cual la predicción de palabras no siempre aumenta la velocidad de entrada de texto es debido al aumento de la carga cognitiva y la necesidad de mover la mirada del teclado al monitor. [2]

Para reducir esta carga cognitiva, se pueden utilizar parámetros como reducir la lista a cinco palabras probables y tener un diseño vertical de esas palabras. [2] El diseño vertical está destinado a mantener los movimientos de la cabeza y los ojos al mínimo, y también brinda señales visuales adicionales porque la longitud de la palabra se vuelve evidente. [22] Aunque muchos desarrolladores de software creen que si la lista de predicción de palabras sigue al cursor , esto reducirá los movimientos oculares, [2] en un estudio de niños con espina bífida realizado por Tam, Reid, O'Keefe y Nauman (2002) Se demostró que escribir era más preciso y que los niños también preferían que la lista apareciera en el borde inferior de la pantalla, en la línea media. Varios estudios han descubierto que el rendimiento y la satisfacción en la predicción de palabras aumentan cuando la lista de palabras está más cerca del teclado, debido a la menor cantidad de movimientos oculares necesarios. [23]

Varios fabricantes producen software con predicción de palabras. El software se puede comprar como complemento de programas comunes como Microsoft Word (por ejemplo, WordQ+SpeakQ , Typing Assistant, [24] Co:Writer, [ cita necesaria ] Wivik, [ cita necesaria ] Ghotit Dyslexia), [ cita necesaria ] o como una de las muchas funciones de un dispositivo AAC (Pathfinder de PRC, [ cita necesaria ] Dynavox Systems, [ cita necesaria ] productos ChatPC de Saltillo [ cita necesaria ] ). Algunos programas conocidos: Intellicomplete, [ cita necesaria ] que está disponible en versión gratuita y de pago, pero solo funciona con programas diseñados para funcionar con él. Letmetype [ cita necesaria ] y Typingaid [ cita necesaria ] son ​​programas gratuitos que funcionan en cualquier editor de texto.

Una versión temprana del autocompletado fue descrita en 1967 por H. Christopher Longuet-Higgins en su Máquina de escribir asistida por computadora (CAT), [25] "palabras como 'COMIENZO' o 'PROCEDIMIENTO' o identificadores introducidos por el programador, se escribirían automáticamente completado por el CAT después de que el programador hubiera tecleado sólo uno o dos símbolos."

Ver también

Referencias

  1. ^ "Cómo utilizar la corrección automática y el texto predictivo en su iPhone, iPad o iPod touch". Soporte de Apple . Manzana.
  2. ^ abcde Tam, Cynthia; Pozos, David (2009). "Evaluación de los beneficios de mostrar listas de predicción de palabras en un asistente digital personal a nivel del teclado". Tecnología de asistencia . 21 (3): 105-114. doi :10.1080/10400430903175473. PMID  19908678. S2CID  23183632.
  3. ^ Anson, D.; Húmedo, P.; Przywara, M.; pozos, H.; Saylor, H.; Maxime, H. (2006). "Los efectos de la finalización y predicción de palabras en las tasas de escritura mediante teclados en pantalla". Tecnología de asistencia . 18 (2): 146-154. doi :10.1080/10400435.2006.10131913. PMID  17236473. S2CID  11193172.
  4. ^ ab Trnka, K.; Yarrington, JM; McCoy, KF (2007). "Los efectos de la predicción de palabras en la tasa de comunicación de CAA". NAACL-Short '07: Tecnologías del lenguaje humano 2007: Conferencia del capítulo norteamericano de la Asociación de Lingüística Computacional . vol. Volumen complementario, artículos breves. Asociación de Lingüística Computacional. págs. 173–6. CiteSeerX 10.1.1.363.2416 . 
  5. ^ ab Beukelman, DR; Mirenda, P. (2005). Comunicación aumentativa y alternativa: apoyo a niños y adultos con necesidades de comunicación complejas (3ª ed.). Baltimore, MD: Brookes. pag. 77.ISBN _ 9781557666840. OCLC  254228982.
  6. ^ abc Witten, IH; Darragh, John J. (1992). El teclado reactivo. Prensa de la Universidad de Cambridge. págs. 43–44. ISBN 978-0-521-40375-7.
  7. ^ Jelinek, F. (1990). "Modelado de lenguaje autoorganizado para el reconocimiento de voz". En Waibel, A.; Lee, Kai-Fu (eds.). Lecturas en reconocimiento de voz . Morgan Kaufman. pag. 450.ISBN _ 9781558601246.
  8. ^ Oster, enero (2015). "Comunicación, difamación y responsabilidad de los intermediarios". Estudios Legales . 35 (2): 348–368. doi : 10.1111/lest.12064. S2CID  143005665.
  9. ^ McCulloch, Gretchen (11 de febrero de 2019). "Autocompletar presenta la mejor versión de ti". Cableado . Consultado el 11 de febrero de 2019 .
  10. ^ Mcclure, Max (12 de noviembre de 2012). "La máquina de escribir china anticipó el texto predictivo, según un historiador".
  11. ^ ab Sorrel, Charlie (23 de febrero de 2009). "Cómo funciona: la máquina de escribir china". Cableado .
  12. ^ Greenwood, Veronique (14 de diciembre de 2016). "Por qué el texto predictivo te hace olvidar cómo escribir". Científico nuevo .
  13. ^ O'Donovan, Caroline (16 de agosto de 2016). "Cómo esta tecnología de décadas de antigüedad marcó el comienzo del texto predictivo". Buzzfeed .
  14. ^ ab Mullaney, Thomas S. (16 de julio de 2018). "90.000 caracteres en 1 teclado". La política exterior . Consultado el 25 de abril de 2020 .
  15. ^ Investigación destacada: la primera historia del mundo de la máquina de escribir china, Humanidades en Stanford, 2 de enero de 2010
  16. ^ "[AHK 1.1] TypingAid v2.22.0 - Utilidad de autocompletar de Word". AutoHotkey. 2010.
  17. ^ Clasohm, Carsten (2011). "Déjame escribir". Archivado desde el original el 27 de mayo de 2012 . Consultado el 9 de mayo de 2012 .
  18. ^ "Software de transcripción médica: IntelliComplete". FlashPeak. 2014.
  19. ^ Davids, Neil (3 de junio de 2015). "Cambiar las sugerencias de búsqueda de autocompletar". Estación de reputación . Consultado el 19 de junio de 2015 .
  20. ^ Dabbagh, HH; Amortiguador, RI (1985). "Duración y tiempo promedio de selección como predictores de la tasa de comunicación". En Brubaker, C.; Hobson, DA (eds.). Tecnología, un puente hacia la independencia: Actas de la octava conferencia anual sobre tecnología de rehabilitación, Memphis, Tennessee, 24 al 28 de junio de 1985 . Sociedad de Ingeniería de Rehabilitación de América del Norte. págs. 404–6. OCLC  15055289. 80177b42-e668-4ed5-a256-49b9440bdfa5.
  21. ^ Goodenough-Trepagnier, C.; Rosen, MJ (1988). "Evaluación predictiva para la prescripción de ayudas de comunicación: tasa de comunicación máxima determinada por el motor". En Bernstein, LE (ed.). Personas con discapacidad vocal: práctica clínica e investigación . Filadelfia: Grune & Stratton. págs. 165–185. ISBN 9780808919087. OCLC  567938402.como se cita en Tam & Wells 2009
  22. ^ Swiffin, Alabama; Arnott, JL; Pickering, JA; Newell, AF (1987). "Técnicas adaptativas y predictivas en una prótesis de comunicación". Comunicación Aumentativa y Alternativa . 3 (4): 181–191. doi :10.1080/07434618712331274499.como se cita en Tam & Wells 2009
  23. ^ Tam, C.; Reid, D.; Naumann, S.; O'Keefe, B. (2002). "Beneficios percibidos de la intervención de predicción de palabras sobre la productividad escrita en niños con espina bífida e hidrocefalia". Terapia Ocupacional Internacional . 9 (3): 237–255. doi : 10.1002/oti.167 . PMID  12374999.como se cita en Tam & Wells 2009.
  24. ^ Sumitir software (2010). "Asistente de mecanografía: nueva generación de software de predicción de palabras". PRLog: Distribución de comunicados de prensa.
  25. ^ Longuet-Higgins, HC; Ortony, A. (1968). "La memorización adaptativa de secuencias". Machine Intelligence 3, Actas del tercer taller anual de Machine Intelligence, Universidad de Edimburgo, septiembre de 1967 . Prensa de la Universidad de Edimburgo. págs. 311–322.

enlaces externos