Клавиатура Oracle
Динамическая клавиатура, сделанная с использованием Flutter.
Входной инструмент, состоящий из кнопок, который функционирует как клавиатура. Эта клавиатура изменяется динамически в зависимости от ввода, чтобы отобразить наиболее вероятные подзаксары (графства), которые будут следующие. Клавиатура отображает прогнозы длины 1-4.


Все примеры частоты слов были извлечены из набора данных Дакшины.
Настройка Flutter и Dart:
Установить Flutter: инструкции здесь: https://flutter.dev/docs/get-started/install
В итоге:
- Извлеките файл, найденный в ссылке выше в желаемое место, например
${USER}/${FOLDER} . - Добавьте Flutter в свой путь (например, вводив
export PATH="${PATH}:${PWD}/flutter/bin" в командную строку Linux). - Чтобы навсегда добавить трепетание на ваш путь, см. Инструкции по ссылке выше.
- Введите
flutter doctor в командную строку, чтобы убедиться, что все было установлено гладко.
Flutter поставляется с DART SDK, поэтому вам не нужна отдельная загрузка для этого.
Настройка IDE:
Проекты Flutter могут быть обработаны в вашем выборе. Однако Flutter требует установки Android Studio для подачи своих зависимостей Android Platform. С другой стороны, пакет Pure DART, который мы используем, не может быть создан в Android Studio. Поэтому инструкции по настройке как Android Studio, так и кода Visual Studio приведены ниже.
Android Studio:
- Скачать и установить здесь: https://developer.android.com/studio
- Начните Android Studio и пройдите мастер настройки Android Studio .
- На домашней странице Android Studio нажмите «Настроить» , а затем плагины и ищите Flutter.
Visual Studio Code:
- Установить VS код отсюда: https://code.visualstudio.com/
- Запустите код и установите плагины DART и Flutter, отправившись > просмотреть> палитру команд (или Ctrl + Shift + P).
- Введите установку , а затем выберите «Расширения»: Установите расширения .
- Введите Flutter и нажмите «Установить». Это устанавливает плагины DART и Flutter.
Настройка эмулятора/устройства:
Инструкции можно найти здесь для Android: https://flutter.dev/docs/get-started/install
Настройка пакета DART
- Перейдите на View> Командную палитру в коде VS и выберите DART: новый проект .
- Выберите Console Application (Console-Full) и назовите свой проект TRIE_Constructor.
- Обратите внимание на то, где вы храните каталог проектов.
- Перезапись lib , bin и pubspec.yaml с файлами lib , bin и pubspec.yaml в каталоге Trie_constructor в этом хранилище.
- Запустить
pub get в свой терминал.
Настройка компилятора протокола и плагина DART
- Загрузите и извлеките соответствующий проток отсюда: https://github.com/protocolbuffers/protobuf/releases/tag/v3.12.4.
- Другие возможные способы установки компилятора для Linux и Mac можно найти здесь: https://github.com/dart-lang/protobuf/tree/master/protoc_plugin#hacking
- Как указано в загруженной Readme, добавьте двоичное место протока в свой путь.
- Чтобы загрузить плагин DART Protoc, инструкции можно найти здесь: https://github.com/dart-lang/protobuf/tree/master/protoc_plugin.
- В терминале перейдите к Trie_constructor/LIB , а затем введите
protoc --dart_out=. ./suffix_trie.proto . - Если вы когда -нибудь внесете изменения в файл Suffix_trie.proto , повторите шаг 5.
Настройка приложения Flutter
- Создайте новый проект Flutter (приложение) с именем keyboard_oracle в Android Studio.
- Удалите тестовую папку по умолчанию и скопируйте файлы в папке Assets из этого репозитория.
- Эти данные - это просто данные заполнителей. Вы можете заменить его своим собственным, что может быть сгенерировано с помощью предоставленного пакета DART.
- Перезаписать файл проекта pubspec.yaml с помощью одного из этого репозитория.
- Найдите комментарий в pubspec.yaml в поисках локального пути и замените его путем к каталогу вашего пакета DART.
- Перезаписать папку проекта LIB с той, что из этого репозитория.
- Чтобы запустить приложение, выберите эмулятор/устройство и запустите Flutter Main.
Использование пакета DART для построения нового Trie
- Перейдите в терминал, перейдите к Trie_constructor/Bin и введите
dart trie_constructor.dart . Это строит Trie из текстового файла по умолчанию ( hi_examples.txt ) и хранит его в hi_trie.bin . - Если вы хотите изменить файл ввода текста на другой текстовый файл, введите
dart trie_constructor.dart --inputFile=[filepath] . Например: dart trie_constructor.dart --inputFile=ml_examples.txt . - Если вы хотите изменить местонахождение двоичного файла вывода, введите
dart trie_constructor.dart --outputFile=[file path] . - Для входных файлов сценарию нуждаются в текстовых файлах, содержащих слова, где каждое слово разделено Aksara и сопровождается его частотой в форме: [aksara1] [Space Symbol] [Aksara2] [Space Symbol] [Aksara3] [Tab Symbol] [Частота №] .
- Если вы хотите запустить тесты производительности на своей языковой модели, используйте Istest флага командной строки. Например
dart trie_constructor.dart --isTest . Результаты будут напечатаны на вашу консоли. - Если вы хотите запустить общие тесты на суффиксе Trie, вы можете запустить
pub run test test/ . - Теперь вы можете скопировать сгенерированный файл bin из Trie_constructor/bin и вставить его в папку Assets в вашем приложении Flutter для использования.