Keyboard Oracle
Un teclado dinámico hecho con Flutter.
Una herramienta de entrada compuesta por botones que funciona como teclado. Este teclado cambia dinámicamente dependiendo de la entrada para mostrar los sub-Aksaras (Graphemes) más probables que vengan a continuación. El teclado muestra predicciones de longitudes 1-4.


Todas las listas de frecuencia de palabras de ejemplo se han recuperado del conjunto de datos de Dakshina.
Configuración de Flutter y Dart:
Instalar Flutter: las instrucciones están aquí: https://flutter.dev/docs/get-started/install
En resumen:
- Extraiga el archivo que se encuentra en el enlace anterior a su ubicación deseada, por ejemplo
${USER}/${FOLDER} . - Agregue Flutter a su ruta (por ejemplo, escribiendo
export PATH="${PATH}:${PWD}/flutter/bin" en la línea de comandos de Linux). - Para agregar Flutter a su ruta de forma permanente, vea las instrucciones en el enlace de arriba.
- Escriba
flutter doctor en la línea de comando para asegurarse de que todo se haya instalado sin problemas.
Flutter viene con un SDK Dart para que no necesite una descarga por separado para esto.
Configuración de un IDE:
Los proyectos de Flutter se pueden trabajar en su ide de elección. Sin embargo, Flutter requiere una instalación de Android Studio para suministrar sus dependencias de la plataforma Android. Por otro lado, el paquete Pure Dart que usamos no se puede crear en Android Studio. Por lo tanto, las instrucciones para configurar el Código de Android Studio y Visual Studio se dan a continuación.
Android Studio:
- Descargar e instalar desde aquí: https://developer.android.com/studio
- Inicie Android Studio y pase por el Asistente de configuración de Android Studio .
- En la página de inicio de Android Studio, haga clic en Configurar y luego complementos y busque Flutter.
Código de Visual Studio:
- Instale el código VS desde aquí: https://code.visualstudio.com/
- Inicie el código VS e instale los complementos DART y Flutter yendo a Ver> Paleta de comandos (o CTRL + Shift + P).
- Escriba la instalación y luego seleccione Extensiones: Instale extensiones .
- Escriba Flutter y haga clic en Instalar. Esto instala los complementos DART y Flutter.
Configuración de un emulador/dispositivo:
Las instrucciones se pueden encontrar aquí para Android: https://flutter.dev/docs/get-started/install
Configuración del paquete DART
- Vaya a Ver> Paleta de comando en VS Code y elija Dart: Nuevo proyecto .
- Seleccione la aplicación de la consola (consola llena) y nombre su proyecto trie_constructor.
- Tome nota de dónde almacena el directorio del proyecto.
- Sobrescribe los archivos Lib , Bin y PubSpec.yaml con los archivos Lib , Bin y PubSpec.yaml en el directorio Trie_Constructor en este repositorio.
- Ejecute
pub get en su terminal.
Configuración del compilador de búfer de protocolo y complemento de dardos
- Descargue y extraiga la protocas apropiadas de aquí: https://github.com/protocolbuffers/protobuf/releases/tag/v3.12.4.
- Aquí se pueden encontrar otras formas posibles de instalar el compilador para Linux y Mac: https://github.com/dart-lang/protobuf/tree/master/protoc_plugin#hacking
- Como se indica en el ReadMe descargado, agregue la ubicación binaria de la protocas a su ruta.
- Para descargar el complemento de protocas DART, se pueden encontrar instrucciones aquí: https://github.com/dart-lang/protobuf/tree/master/protoc_plugin.
- En un terminal, navegue a TRIE_Constructor/lib y luego ingrese a
protoc --dart_out=. ./suffix_trie.proto . - Si alguna vez realiza cambios en el archivo sufix_trie.proto , repita el paso 5.
Configuración de la aplicación Flutter
- Cree un nuevo proyecto Flutter (aplicación) llamado Keyboard_oracle en Android Studio.
- Elimine la carpeta de prueba predeterminada y copie los archivos en la carpeta de activos de este repositorio.
- Estos datos son solo datos de marcador de posición. Puede reemplazarlo con el suyo, que se puede generar utilizando el paquete DART proporcionado.
- Sobrescribe el archivo pubspec.yaml del proyecto con el de este repositorio.
- Encuentre el comentario en pubspec.yaml buscando una ruta local y reemplácelo con la ruta al directorio de su paquete DART.
- Sobrescribe la carpeta LIB del proyecto con la de este repositorio.
- Para ejecutar la aplicación, seleccione un emulador/dispositivo y ejecute Flutter Main.
Uso del paquete Dart para construir un nuevo trie
- Vaya a Terminal, navegue a Trie_Constructor/Bin e ingrese
dart trie_constructor.dart . Esto construye un trie a partir del archivo de texto predeterminado ( hi_examples.txt ) y lo almacena en hi_trie.bin . - Si desea cambiar el archivo de texto de entrada a un archivo de texto diferente, ingrese
dart trie_constructor.dart --inputFile=[filepath] . Por ejemplo: dart trie_constructor.dart --inputFile=ml_examples.txt . - Si desea cambiar la ubicación del archivo binario de salida, ingrese
dart trie_constructor.dart --outputFile=[file path] . - Para los archivos de entrada, el script necesita archivos de texto que contienen palabras donde cada palabra está separada por Aksara y seguido por su frecuencia en forma de: [Aksara1] [símbolo espacial] [Aksara2] [símbolo espacial] [Aksara3] [Símbolo de pestaña] [Frecuencia no.] .
- Si desea ejecutar pruebas de rendimiento en su modelo de idioma, use el indicador de la línea de comando. Por ejemplo,
dart trie_constructor.dart --isTest . Los resultados se imprimirán en su consola. - Si desea ejecutar pruebas generales en el sufijo TRIE, puede ejecutar
pub run test test/ . - Ahora puede copiar el archivo bin generado de trie_constructor/bin y pegarlos en la carpeta de activos en su aplicación Flutter para usar.