Commit 9eaf12e6 authored by Moises Bensadon's avatar Moises Bensadon
Browse files

Issue #8

parent 5cd67ecc
Loading
Loading
Loading
Loading
+17 −7
Original line number Diff line number Diff line
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;

@@ -11,7 +13,7 @@ public class Corrector {

    private static final double BACKOFF_PENALTY = 0.1;

    public Corrector(String filePath) {
    public Corrector() {
        trigramProbabilities = new HashMap<>();
        bigramProbabilities = new HashMap<>();
        unigramProbabilities = new HashMap<>();
@@ -116,15 +118,23 @@ public class Corrector {
                probability = unigramProbabilities.getOrDefault(word1.toLowerCase(), 0.0) * BACKOFF_PENALTY * BACKOFF_PENALTY;
            }
        }

        // Perplexity
        return 1.0 / probability;
    }

    public static void main(String[] args) {
        Corrector corrector = new Corrector("brown.txt");
        String input = "This is strange so choice";
        String corrected = corrector.correct(input);
        System.out.println("Corrected: " + corrected);
        if (args.length > 1 && "--file".equals(args[0])) { // check syntax
            String path = args[1];
            try {
                String content = new String(Files.readAllBytes(Paths.get(path)));
                Corrector corrector = new Corrector(); // Run corrector
                String corrected = corrector.correct(content);
                System.out.println(corrected);
            } catch (IOException e) {
                System.err.println("Error reading file: " + e.getMessage());
            }
        } else {
            System.out.println("Invalid arguments. Usage: CLI --file [path]");
        }
    }
}
 No newline at end of file