De Wikipedia, la enciclopedia libre
  (Redirigido desde Autocompletar )
Saltar a navegación Saltar a búsqueda

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

Autocompletar acelera las interacciones entre humanos y computadoras cuando predice correctamente la palabra que un usuario intenta ingresar después de que solo se hayan ingresado unos pocos caracteres en un campo de ingreso 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 cuando se envía un correo electrónico ) o cuando se escribe 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 ha escrito varias veces y pueden sugerir alternativas basadas en los hábitos aprendidos del usuario individual.

Definición [ editar ]

Propósito original [ editar ]

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 ayudarles a disminuir el número de pulsaciones necesarias para completar una palabra o una oración. [3] La necesidad de aumentar la velocidad se observa por el hecho de que las personas que utilizan dispositivos que generan el habla generalmente producen el habla a una velocidad inferior al 10% más rápida que las personas que utilizan el habla oral. [4] Pero la función también es muy útil para cualquiera que escriba un texto, en particular para las personas, como los médicos, que con frecuencia utilizan terminología larga y difícil de escribir que puede ser de naturaleza técnica o médica.

Descripción [ editar ]

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 que pretende escribir está incluida en la lista, 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, las opciones de palabras se modifican para que las palabras proporcionadas comiencen con las mismas letras que las seleccionadas. 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, basándose en los pares de palabras utilizados recientemente. [6] Usos de predicción de palabrasModelado de lenguaje , donde dentro de un vocabulario establecido, se calculan las palabras con mayor probabilidad de ocurrir. [7] Junto con el modelado del lenguaje, la predicción básica de palabras en dispositivos AAC a menudo se combina con un modelo de frecuencia , donde las palabras que el usuario de AAC ha usado recientemente y con frecuencia tienen más probabilidades de predecirse. [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 los genitales u otros términos vulgares a menudo se omiten de las tecnologías de autocompletado, al igual que los términos mórbidos [8] [9]

Herramientas independientes [ editar ]

Hay herramientas independientes que agregan la funcionalidad de autocompletar a las aplicaciones existentes. Estos programas monitorean las pulsaciones de teclas del usuario y sugieren una lista de palabras basada en las primeras letras escritas. Algunos ejemplos son Typingaid y Letmetype. [10] [11] LetMeType, freeware, ya no se desarrolla, el autor ha publicado el código fuente y permite que cualquiera pueda continuar con el desarrollo. Typingaid, también freeware, se desarrolla activamente. Intellicomplete, tanto una versión gratuita como una de pago, funciona solo en ciertos programas que se conectan al programa del servidor intellicomplete. [12] Muchos programas de Autocompletar también se pueden utilizar para crear una taquigrafía.lista. El software de autocompletar original fue Smartype, que se remonta a 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 basado en Windows o Web.

Taquigrafía [ editar ]

La taquigrafía , también llamada Autoreplace, es una función relacionada que implica el reemplazo automático de una cadena en particular por otra, generalmente una que es más larga y más difícil de escribir, como "myname" con "Lee John Nikolai François Al Rahman". Esto también puede corregir silenciosamente errores simples de escritura , 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 de taquigrafía para frases de uso frecuente.

Finalización de contexto [ editar ]

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 enteras) 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 completar el 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 más grande para completar el contexto que para completar palabras más simples. El uso más común de la finalización del contexto se ve en los IDE y los editores de lenguajes de programación avanzados , donde el conjunto de datos de entrenamiento está inherentemente disponible y la finalización del contexto tiene más sentido para el usuario que la finalización amplia de palabras.

La finalización de línea es un tipo de finalización de contexto, presentada 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 hace pasar por 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 las líneas similares difieren, o propone una lista de continuaciones comunes.

La finalización de acciones en las aplicaciones son herramientas independientes que agregan la funcionalidad de autocompletar a una aplicación existente o 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 la finalización de acciones se ve en los IDE y los editores de lenguajes de programación avanzados . Pero también hay herramientas de finalización de acciones que funcionan globalmente, en paralelo, en todas las aplicaciones de toda la PC sin (mucho) obstaculizar la finalización de acciones de las aplicaciones respectivas.

Uso por software [ editar ]

En navegadores web [ editar ]

Autocompletar del cuadro de búsqueda en Mozilla Firefox

En los navegadores web , el autocompletado se realiza en la barra de direcciones (utilizando elementos del historial del navegador) y en los cuadros de texto de las páginas de uso frecuente, como el cuadro de búsqueda de un motor de búsqueda. 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 autocompletado.

En programas de correo electrónico [ editar ]

En los programas de correo electrónico, el autocompletado se usa típicamente para completar las direcciones de correo electrónico de los destinatarios previstos. Generalmente, hay una pequeña cantidad de direcciones de correo electrónico de uso frecuente, por lo que es relativamente fácil utilizar la función de autocompletar para seleccionar entre ellas. Al igual que las direcciones web, las direcciones de correo electrónico suelen ser largas, por lo que escribirlas por completo es un inconveniente.

Por ejemplo, Microsoft Outlook Express encontrará direcciones basadas en el nombre que se utiliza en la libreta de direcciones. Google 's Gmail encontrará direcciones de cualquier cadena que se produce en la dirección o el nombre almacenado.

En motores de búsqueda [ editar ]

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

La función de autocompletar puede tener un efecto adverso en las personas y las empresas cuando se sugieren términos de búsqueda negativos cuando se realiza una búsqueda. El autocompletado se ha convertido 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 que está abierta a la manipulación. [13]

En editores de código fuente [ editar ]

Finalización de código en Qt Creator 5.0: el programador escribe algún código, y cuando el software detecta una cadena reconocible, como un identificador de variable o un nombre de clase, presenta un menú al programador que contiene el nombre completo de la variable identificada o los métodos aplicables a la clase detectada, y el programador hace una elección con su mouse o con las teclas de flecha del teclado. Si el programador continúa escribiendo sin hacer una elección, 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, el autocompletado se simplifica en gran medida por la estructura regular de los lenguajes 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 finalizaciones para el prefijo de entrada actual para permitir al usuario elegir el correcto. Esto es particularmente útil en la programación orientada a objetos porque a menudo el programador no sabrá exactamente qué miembros de una clase en particularposee. Por lo tanto, la función de autocompletar sirve como una forma de documentación conveniente, así como también como un método de entrada. Otra característica beneficiosa del autocompletado para el código fuente es que alienta a los programadores a usar nombres de variables más largos y descriptivos que incorporan letras mayúsculas y minúsculas ( CamelCase ), lo que hace que el código fuente sea más legible. Escribir palabras grandes con muchos casos mixtos como "numberOfWordsPerParagraph" puede ser difícil, pero Autocompletar permite completar la escritura de la palabra usando una fracción de las pulsaciones de teclas.

En las herramientas de consulta de la base de datos [ editar ]

El autocompletado en las herramientas de consulta de la base de datos permite al usuario autocompletar 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 instrucció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 la tabla proporciona una lista de tablas disponibles en el servidor de base de datos al que está conectado el usuario. La finalización de la columna proporciona una lista de columnas solo para las tablas a las que se hace referencia en la instrucción SQL. SQL Server Management Studio proporciona autocompletar en herramientas de consulta. [ cita requerida ]

En procesadores de texto [ editar ]

En muchos programas de procesamiento de texto , el autocompletado disminuye la cantidad de tiempo que se dedica a escribir palabras y frases repetitivas. El material de origen 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 los editores de texto avanzados como Emacs y Vim .

  • Apache OpenOffice Writer y LibreOffice Writer tienen un programa de finalización de palabras en funcionamiento que propone palabras previamente escritas en el texto, en lugar de todo el diccionario.
  • La aplicación de hoja de cálculo de Microsoft Excel tiene un programa de trabajo de completar palabras que propone palabras previamente escritas en las celdas superiores

En intérpretes de línea de comandos [ editar ]

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

En un intérprete de línea de comandos , tales como Unix 's sh o fiesta , o de Windows ' s cmd.exe o PowerShell , o similares en las interfaces de línea de comandos , autocompletado de nombres de comandos y nombres de archivos se puede realizar mediante el seguimiento de todos los posibles nombres de las cosas a las que el usuario puede acceder. Aquí, el autocompletado generalmente se realiza presionando el botónTab ↹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, el usuario puede preferir escribir x y autocompletar hasta el nombre completo. Si hubiera otro nombre de archivo o comando que comience 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.

Eficiencia [ editar ]

Parámetros de eficiencia [ editar ]

La eficiencia de la terminación de palabras se basa en la longitud promedio de las palabras escritas. Si, por ejemplo, el texto consta de lenguajes de programación que a menudo tienen nombres largos de varias palabras para variables, funciones o clases, la finalización es útil y se aplica generalmente en editores especialmente dirigidos a programadores como Vim .

En diferentes idiomas, la longitud de las palabras puede diferir drásticamente. Retomando el ejemplo anterior, un jugador de fútbol en alemán se traduce como "Fussballspieler", con una longitud de 15 caracteres. Este ejemplo ilustra que el inglés no es el idioma más eficaz para WC; este estudio [14] muestra que la longitud media de las palabras en inglés en un corpus de más de 100.000 palabras es de 8,93, la del checo es de 10,55 y la del alemán es de 13,24. Además, en algunos idiomas como el alemán llamados idiomas fusionales , así como idiomas aglutinantes , las palabras se pueden combinar, creando palabras aún más largas.

Los autores que a menudo usan palabras muy largas, como médicos y químicos, obviamente usan aún más el software de Autocompletar (Completar palabras) que otros autores.

Investigación [ editar ]

Aunque la investigación ha demostrado que el software de predicción de palabras disminuye el número de pulsaciones de teclas necesarias y mejora la productividad escrita de los niños con discapacidades, [2] hay resultados mixtos en cuanto a si la predicción de palabras realmente aumenta o no la velocidad de salida. [15] [16] 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 al requisito 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 proporciona señales visuales adicionales porque la longitud de la palabra se hace evidente. [17] 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ífidapor Tam, Reid, O'Keefe & Nauman (2002) se demostró que la escritura era más precisa y que los niños también preferían cuando la lista aparecía en el borde inferior de la pantalla, en la línea media. Varios estudios han encontrado que el rendimiento y la satisfacción de 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. [18]

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, [19] Co: Writer, [ cita requerida ] Wivik, [ cita requerida ] Ghotit Dyslexia), [ cita requerida ] o como una de las muchas funciones de un dispositivo AAC (Pathfinder de PRC, [ cita requerida ] Dynavox Systems, [ cita requerida ] Productos ChatPC de Saltillo [ cita requerida ]). Algunos programas bien conocidos: Intellicomplete, [ cita requerida ] que está disponible tanto en una versión gratuita como en una de pago, pero funciona solo con programas que están hechos para funcionar con él. Letmetype [ cita requerida ] y Typingaid [ cita requerida ] son programas gratuitos que funcionan en cualquier editor de texto.

Una primera versión del autocompletado fue descrita en 1967 por H. Christopher Longuet-Higgins en su Computer-Assisted Typewriter (CAT), [20] “palabras como 'BEGIN' o 'PROCEDURE' o identificadores introducidos por el programador, serían automáticamente completado por el CAT después de que el programador haya escrito solo uno o dos símbolos ".

Ver también [ editar ]

  • Autocorrección , corrección automática de palabras mal escritas.
  • Texto predictivo
  • Autocompletar  : función de software que rellena automáticamente los campos
  • Búsqueda incremental
  • Fragmento  : una pequeña región de código fuente, código de máquina o texto reutilizables.
  • Interfaz de usuario sensible al contexto  : menú de software cuyos elementos cambian según las condiciones en las que se invocó el menú
  • Caja combo
  • Lista desplegable de sugerencias de búsqueda
  • OpenSearch  : colección de tecnologías que permiten la publicación de resultados de búsqueda en un formato adecuado para la sindicación y agregación que contiene una especificación de servicios web de sugerencias de búsqueda
  • Google Feud  : juego de sitio web, un juego de autocompletar.
  • Efecto wubi

Referencias [ editar ]

  1. ^ https://support.apple.com/en-us/HT207525
  2. ^ a b c d e Tam, Cynthia; Wells, David (2009). "Evaluación de los beneficios de mostrar listas de predicción de palabras en un asistente digital personal en el 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., Wells, H., Saylor, H. y Maxime, H. (2006). Los efectos de la finalización de palabras y la predicción de palabras en las tasas de escritura con teclados en pantalla Archivado 2017-08-08 en Wayback Machine . Tecnología de asistencia, 18, 146-154.
  4. ↑ a b Trnka, K., Yarrington, JM y McCoy, KF (2007). Los efectos de la predicción de palabras en la tasa de comunicación para CAA . Actas de NAACL HLT 2007, volumen complementario, 173-176.
  5. ↑ a b Beukelman, DR y Mirenda, P. (2008). Comunicación aumentativa y alternativa: apoyo a niños y adultos con necesidades complejas de comunicación. (3ª Ed.) Baltimore, MD: Brookes Publishing, pág. 77.
  6. ^ a b c Witten, IH; Darragh, John J. (1992). El teclado reactivo . Cambridge, Reino Unido: Cambridge University Press. 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. y Kai-Fulee, Ed. Morgan, MB Lecturas en reconocimiento de voz (págs. 450). San Mateo, California: Morgan Kaufmann Publishers, Inc.
  8. ^ Oster, enero. " Comunicación, difamación y responsabilidad de los intermediarios ". Estudios Legales 35.2 (2015): 348-368
  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. ^ http://www.autohotkey.com/community/viewtopic.php?f=2&t=53630 TypingAid
  11. ^ "Copia archivada" . Archivado desde el original el 27 de mayo de 2012 . Consultado el 9 de mayo de 2012 .Mantenimiento de CS1: copia archivada como título ( enlace ) LetMeType
  12. ^ http://www.intellicomplete.com/ Programa de autocompletar con lista de palabras para medicina
  13. Davids, Neil (3 de junio de 2015). "Cambio de las sugerencias de búsqueda de Autocompletar" . Estación de reputación . Consultado el 19 de junio de 2015 .
  14. ^ [1]
  15. ^ Dabbagh, HH y Damper, RI (1985). Duración y tiempo promedio de selección como predictores de la tasa de comunicación. Actas de la Conferencia Anual RESNA 1985, RESNA Press, 104-106.
  16. ^ Goodenough-Trepagnier, C. y Rosen, MJ (1988). Evaluación predictiva para la prescripción de ayudas para la comunicación: tasa máxima de comunicación determinada por el motor. En LE Bernstein (Ed.), Los impedidos vocales: Investigación y práctica clínica (págs. 165-185). Filadelfia: Grune & Stratton .; como se cita en Tam & Wells (2009), págs. 105-114.
  17. ^ Swiffin, AL, Arnott, JL, Pickering, JA y Newell, AF (1987). Técnicas adaptativas y predictivas en una prótesis de comunicación. Comunicación aumentativa y alternativa, 3, 181-191; como se cita en Tam & Wells (2009).
  18. ^ Tam, C., Reid, D., Naumann, S. y 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 . Occupational Therapy International, 9, 237-255; como se cita en Tam & Wells (2009).
  19. ^ http://www.prlog.org/10519217-typing-assistant-new-generation-of-word-prediction-software.html Asistente de mecanografía
  20. ^ Longuet-Higgins, HC, Ortony, A., The Adaptive Memorization of Sequences, In Machine Intelligence 3, Actas del tercer taller anual de inteligencia artificial, Universidad de Edimburgo, septiembre de 1967. 311-322, Editor: Edinburgh University Press, 1968

Enlaces externos [ editar ]

  • Explicación de la búsqueda en vivo: ejemplos y explicaciones de ejemplos web en funcionamiento, además de un análisis de los beneficios de usabilidad en comparación con la búsqueda tradicional.
  • Google Feud: el primero y más popular de muchos juegos creados con datos de autocompletar, que ganó un premio Webby al "Mejor juego" en 2016.
  • Imitación del autocompletado de búsqueda de Google con un único servidor de datos migratorios: optimice el autocompletado de búsqueda utilizando conexiones WebSocket persistentes para lograr una experiencia de búsqueda de baja latencia y una mejora del ancho de banda.