คีย์บอร์ด Oracle
แป้นพิมพ์แบบไดนามิกที่ทำโดยใช้กระพือ
เครื่องมืออินพุตที่ประกอบด้วยปุ่มซึ่งทำหน้าที่เป็นแป้นพิมพ์ คีย์บอร์ดนี้เปลี่ยนแปลงแบบไดนามิกขึ้นอยู่กับอินพุตเพื่อแสดง sub-Aksaras (Graphemes) ที่น่าจะเป็นไปได้มากที่สุด แป้นพิมพ์แสดงการทำนายความยาว 1-4


ตัวอย่างรายการความถี่คำทั้งหมดได้รับการเรียกคืนจากชุดข้อมูล Dakshina
การตั้งค่า Flutter and 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 สามารถทำงานได้ใน IDE ที่คุณเลือก อย่างไรก็ตาม Flutter ต้องมีการติดตั้ง Android Studio เพื่อจัดหาการพึ่งพาแพลตฟอร์ม Android ในทางกลับกันแพ็คเกจ Pure Dart ที่เราใช้ไม่สามารถสร้างได้ใน Android Studio ดังนั้นคำแนะนำสำหรับการตั้งค่าทั้ง Android Studio และ Visual Studio Code ได้รับด้านล่าง
Android Studio:
- ดาวน์โหลดและติดตั้งจากที่นี่: https://developer.android.com/studio
- เริ่มต้น Android Studio และผ่าน ตัวช่วยสร้างการตั้งค่า Android Studio
- บนหน้าแรกของ Android Studio คลิก กำหนดค่า จากนั้น ปลั๊กอิน และค้นหากระพือ
Visual Studio Code:
- ติดตั้งรหัส VS จากที่นี่: https://code.visualstudio.com/
- เริ่มรหัส VS และติดตั้งปลั๊กอิน DART และ FLUTRTER โดยไปที่ ดู> คำสั่ง PALETTE (หรือ CTRL + Shift + P)
- พิมพ์ การติดตั้ง แล้วเลือก ส่วนขยาย: ติดตั้งส่วนขยาย
- พิมพ์ Flutter แล้วคลิกติดตั้ง สิ่งนี้ติดตั้งทั้งปลั๊กอิน Dart และ Flutter
การตั้งค่าตัวจำลอง/อุปกรณ์:
คำแนะนำสามารถพบได้ที่นี่สำหรับ Android: https://flutter.dev/docs/get-started/install
การตั้งค่าแพ็คเกจ DART
- ไปที่ ดู> คำสั่งจานสี ในรหัส VS และเลือก DART: โครงการใหม่
- เลือก แอปพลิเคชันคอนโซล (คอนโซล-เต็ม) และตั้งชื่อโครงการของคุณ trie_constructor
- จดบันทึกว่าคุณเก็บไดเรกทอรีโครงการไว้ที่ไหน
- เขียนทับ lib , bin และ pubspec.yaml ด้วยไฟล์ lib , bin และ pubspec.yaml ในไดเรกทอรี trie_constructor ในที่เก็บนี้
- Run
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 ที่ดาวน์โหลดเพิ่มตำแหน่งไบนารีโปรโตตลงในเส้นทางของคุณ
- ในการดาวน์โหลดปลั๊กอิน Protoc DART สามารถพบคำแนะนำได้ที่นี่: 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
- ลบโฟลเดอร์ ทดสอบ เริ่มต้นและคัดลอกวางไฟล์ในโฟลเดอร์ สินทรัพย์ จากที่เก็บนี้
- ข้อมูลนี้เป็นเพียงข้อมูลตัวยึด คุณสามารถแทนที่ด้วยของคุณเองซึ่งสามารถสร้างได้โดยใช้แพ็คเกจ 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] [สัญลักษณ์อวกาศ] [Aksara2] [สัญลักษณ์อวกาศ] [Aksara3] [สัญลักษณ์แท็บ] [ความถี่ไม่]
- หากคุณต้องการเรียกใช้การทดสอบประสิทธิภาพในรูปแบบภาษาของคุณให้ใช้ Flag บรรทัดคำสั่ง ISTEST เช่น
dart trie_constructor.dart --isTest ผลลัพธ์จะถูกพิมพ์ลงในคอนโซลของคุณ - หากคุณต้องการเรียกใช้การทดสอบทั่วไปใน Suffix Trie คุณสามารถเรียกใช้
pub run test test/ - ตอนนี้คุณสามารถคัดลอกไฟล์ถังขยะที่สร้างขึ้นจาก TRIE_CONSTRUCTOR/BIN และวางลงในโฟลเดอร์ สินทรัพย์ ในแอพพลิเคชั่น Flutter ของคุณที่จะใช้