Exemple #1
0
    // TODO finish this
    private void GenerateNewDictionaries()
    {
        string directoryPath = Application.dataPath + "/Resources/WordPrediction";

        if (!Directory.Exists(directoryPath))
        {
            Directory.CreateDirectory(directoryPath);
        }

        Debug.Log("Building a new dictionaries. This can take a while depending on the corpus size.");

        TextAsset corpusFile = Resources.Load("Sample") as TextAsset;

        if (corpusFile == null)
        {
            throw new FileNotFoundException($"No text file found at:\n{corpusFile}");
        }

        string         rawCorpus      = corpusFile.ToString();
        NGramGenerator nGramGenerator = PunchKeyboardSettings.Load().NGramGenerator;

        string rawNGramDictionary = nGramGenerator.GenerateBiGrams(rawCorpus);

        File.WriteAllText(Application.dataPath + "/Resources/AutoCorrect/biGramDict.txt", rawNGramDictionary);
        AssetDatabase.Refresh();

        string rawLevenshteinDictionary = nGramGenerator.GenerateLevenshteinDictionary(rawCorpus);

        File.WriteAllText(Application.dataPath + "/Resources/AutoCorrect/levenshteinDict.txt",
                          rawLevenshteinDictionary);
        AssetDatabase.Refresh();

        nGramGenerator.GenerateLevenshteinCorpus();
        Debug.Log("Dictionaries were successfully generated.");
    }
Exemple #2
0
    private void Start()
    {
        if (inputField == null)
        {
            inputField = GetComponent <InputField>();
        }

        PunchKeyboardSettings settings = PunchKeyboardSettings.Load();

        nGramGenerator = settings.NGramGenerator;
    }
    public static PunchKeyboardSettings Load()
    {
        PunchKeyboardSettings settings = Resources.Load <PunchKeyboardSettings>(nameof(PunchKeyboardSettings));

#if UNITY_EDITOR
        if (settings == null)
        {
            if (!Directory.Exists("Assets/Resources"))
            {
                Directory.CreateDirectory("Assets/Resources");
            }

            // Create an instance
            settings = CreateInstance <PunchKeyboardSettings>();
            AssetDatabase.CreateAsset(settings, $"Assets/Resources/{nameof(PunchKeyboardSettings)}.asset");
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();

            return(settings);
        }
#endif

        return(settings);
    }