Commit 985993b8 authored by Seyed Reza  Sajjadinasab's avatar Seyed Reza Sajjadinasab
Browse files

Merge branch 'Reza' into 'master'

updateTukishGraph

See merge request ec504/ec504_projects/group6!65
parents 77a4cbbc 76abcac5
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -19,14 +19,17 @@ public class Checker {
        //DirectedGraph<State> graph = new DirectedGraph<>();
        
        ArgumentParser argPars = ArgumentParser.of(args, "Checker");
        BasicGraph basicGraphClass = new BasicGraph();
        BasicGraph basicGraphClass;
        DBinterface dbInterface;
        if(argPars.isDutch()){
            dbInterface = new DBinterface("SQLite/token_database_dutch.db", "SQLite/DutchTranslation.txt");
            basicGraphClass = new BasicGraph();
        }else if(argPars.isTurkish()){
            dbInterface = new DBinterface("SQLite/token_database_turkish.db", "SQLite/TurkishTranslation.txt");
            basicGraphClass = new BasicGraph(true);
        }else{
            dbInterface = new DBinterface("SQLite/token_database_english.db", "SQLite/smallDic.txt");
            basicGraphClass = new BasicGraph();
        }   
        DirectedGraph<State> graph = basicGraphClass.getGraph();
        JsonMaker jsonMaker = JsonMaker.create();
+10 −3
Original line number Diff line number Diff line
@@ -39,6 +39,9 @@ public class Corrector implements GUIListener {
            wordPairDatabaseGUI = WordPairDatabase.of("SQLite/word_similarity_english.db");
            this.dbInterfaceGUI = new DBinterface("SQLite/token_database_english.db", "SQLite/smallDic.txt", wordPairDatabaseGUI);
        }
        if(this.argParsGUI.isTurkish())
            this.graphGUI = new BasicGraph(true).getGraph();
        else
            this.graphGUI = new BasicGraph().getGraph();
        this.stringWriterGUI = StringFileWriter.of("corrected.txt");
        this.senteceIndGUI = 0;
@@ -102,18 +105,22 @@ public class Corrector implements GUIListener {
        //DirectedGraph<State> graph = new DirectedGraph<>();
        
        ArgumentParser argPars = ArgumentParser.of(args, "Corrector");
        BasicGraph basicGraphClass = new BasicGraph();
        
        BasicGraph basicGraphClass;
        DBinterface dbInterface;
        WordPairDatabase wordPairDatabase;
        if(argPars.isDutch()){
            wordPairDatabase = WordPairDatabase.of("SQLite/word_similarity_dutch.db");
            dbInterface = new DBinterface("SQLite/token_database_dutch.db", "SQLite/DutchTranslation.txt", wordPairDatabase);  
            basicGraphClass = new BasicGraph();
        }else if(argPars.isTurkish()){
            wordPairDatabase = WordPairDatabase.of("SQLite/word_similarity_turkish.db");
            dbInterface = new DBinterface("SQLite/token_database_turkish.db", "SQLite/TurkishTranslation.txt", wordPairDatabase);
            basicGraphClass = new BasicGraph(true); 
        }else{
            wordPairDatabase = WordPairDatabase.of("SQLite/word_similarity_english.db");
            dbInterface = new DBinterface("SQLite/token_database_english.db", "SQLite/smallDic.txt", wordPairDatabase);
            basicGraphClass = new BasicGraph();
        }
        DirectedGraph graph = basicGraphClass.getGraph();
        StringFileWriter stringWriter = StringFileWriter.of("corrected.txt");
+71 −0
Original line number Diff line number Diff line
@@ -10,6 +10,14 @@ public class BasicGraph {
        graph = new DirectedGraph<>();
        makeBasicGraph();
    }

    public BasicGraph(boolean isTurkish){
        graph = new DirectedGraph<>();
        if(isTurkish)
            makeBasicGraphTurkis();
        else
            makeBasicGraph();
    }
    public void makeBasicGraph(){
        State cur = State.first();
        for(int i=0; i<State.values().length; i++){
@@ -174,11 +182,74 @@ public class BasicGraph {
        //graph.addEdge(State.ADJECTIVE,      State.ADJECTIVE);
        //edgeList.put(State.ADJECTIVE.toString(), State.ADJECTIVE.toString());
    }

    public void makeBasicGraphTurkis(){
        State cur = State.first();
        for(int i=0; i<State.values().length; i++){
            graph.addNode(cur);
            cur = cur.next();
        }

        cur = State.first();
        for(int i=1; i<State.values().length; i++){
            cur = cur.next();
            graph.addEdge(State.first(), cur);
        }
        createTable();


        graph.addEdge(State.START,     State.PRONOUN);

        graph.addEdge(State.START,     State.NOUN);

        graph.addEdge(State.PRONOUN,   State.ADVERB);

        graph.addEdge(State.PRONOUN,   State.ADJECTIVE);

        graph.addEdge(State.PRONOUN,   State.NOUN);

        graph.addEdge(State.NOUN,   State.ADVERB);

        graph.addEdge(State.NOUN,   State.ADJECTIVE);

        graph.addEdge(State.NOUN,   State.NOUN);

        graph.addEdge(State.ADVERB,      State.VERB);

        graph.addEdge(State.ADVERB,    State.ADJECTIVE);

        graph.addEdge(State.ADJECTIVE, State.DOT);

        graph.addEdge(State.ADJECTIVE, State.NOUN);

        graph.addEdge(State.ADJECTIVE, State.COMMA);

        graph.addEdge(State.NOUN,      State.DOT);

        graph.addEdge(State.NOUN,      State.COMMA);

        graph.addEdge(State.DOT,       State.END);

        graph.addEdge(State.COMMA,     State.CONJ);

        graph.addEdge(State.CONJ,      State.PRONOUN);

        graph.addEdge(State.CONJ,      State.NOUN);

        graph.addEdge(State.NOUN,        State.PREPOS);

        graph.addEdge(State.NOUN,        State.VERB);

        graph.addEdge(State.PREPOS,        State.VERB);

    }

    public DirectedGraph<State> getGraph() {
        return graph;
    }



    private HashMap<String, String> edgeList;

    private static final String URL = "jdbc:sqlite:./SQLite/graphdatabase_name";
+5 −1
Original line number Diff line number Diff line
@@ -97,17 +97,21 @@ public class HighlighterGUI extends JFrame {
        try{
            DBinterface dbInterface;
            HashTableMaker manager;
            BasicGraph basicGraphClass;
            if(this.isDutch){
                dbInterface = new DBinterface("SQLite/token_database_dutch.db", "SQLite/DutchTranslation.txt");
                manager = new HashTableMaker("SQLite/hash_database_dutch.db");
                basicGraphClass = new BasicGraph();
            }else if(this.isTurkish){
                dbInterface = new DBinterface("SQLite/token_database_turkish.db", "SQLite/TurkishTranslation.txt");
                manager = new HashTableMaker("SQLite/hash_database_turkish.db");
                basicGraphClass = new BasicGraph(true);
            }else{
                dbInterface = new DBinterface("SQLite/token_database_english.db", "SQLite/smallDic.txt");
                manager = new HashTableMaker("SQLite/hash_database_english.db");   
                basicGraphClass = new BasicGraph();
            }
            BasicGraph basicGraphClass = new BasicGraph();
            
            for (String phrase : phrases) {
                double conf = dbInterface.checkTokenInDatabase(StringProcessor.handleApostrophe(phrase), basicGraphClass.getGraph())*0.8;   
                conf += manager.nGram(StringProcessor.handleApostrophe(phrase), 3)*0.2;