Commit e4d135c1 authored by Alexander Ross Melnick's avatar Alexander Ross Melnick
Browse files

Resolved merge conflict

parents 70677e35 06054d61
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ Crawler/target/classes/ScratchCrawler.class
Crawler/target/classes/crawledData.txt
*.db
*.java
*.class
!CheckerCorrector/manifest*
!CheckerCorrector/**/*.java
!Crawler/src/main/java/RobotsTXT.java
+29 −16
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ public class Checker {
                for (String sentence : extractedSentences) {
                    i++;
                    //dbInterface.updateTokenInDatabase(sentence.toLowerCase(), graph);
                    sentence = StringProcessor.handleApostrophe(sentence.toLowerCase());
                    PhraseExtractor extractorPhrase = PhraseExtractor.fromSentence(sentence, 3, 5);
                    List<String> phrases = extractorPhrase.getPhrases();
                    for (String phrase : phrases) {
@@ -71,7 +72,7 @@ public class Checker {
                System.out.println("\n-------------------------------------------\n"+ "Number of update: "+ cntUpdate);
            }else if(argPars.isCheckSentence()){
                //dbInterface.updateTokenInDatabase(argPars.getSentence().toLowerCase(), graph);
                for (String phrase : PhraseExtractor.fromSentence(argPars.getSentence(),3, 5).getPhrases()) {
                for (String phrase : PhraseExtractor.fromSentence(StringProcessor.handleApostrophe(argPars.getSentence()),3, 5).getPhrases()) {
                    dbInterface.updateTokenInDatabase(phrase.toLowerCase(), graph);                    
                }
            }
@@ -93,6 +94,7 @@ public class Checker {
                        manager = new HashTableMaker("SQLite/hash_database_english.db");
                    }
                    for (String sentence : extractedSentences) {
                        sentence = StringProcessor.handleApostrophe(sentence.toLowerCase());
                        manager.updateDatabase(sentence.toLowerCase());
                        PhraseExtractor extractorPhrase = PhraseExtractor.fromSentence(sentence, 1, 4);
                        List<String> phrases = extractorPhrase.getPhrases();
@@ -107,8 +109,8 @@ public class Checker {
            }else if(argPars.isCheckSentence()){
                try {
                    HashTableMaker manager = new HashTableMaker("SQLite/hash_database_english.db");
                    manager.updateDatabase(argPars.getSentence().toLowerCase());
                    for (String phrase : PhraseExtractor.fromSentence(argPars.getSentence(),1, 4).getPhrases()) {
                    manager.updateDatabase(StringProcessor.handleApostrophe(argPars.getSentence().toLowerCase()));
                    for (String phrase : PhraseExtractor.fromSentence(StringProcessor.handleApostrophe(argPars.getSentence().toLowerCase()),1, 4).getPhrases()) {
                        manager.updateDatabase(phrase.toLowerCase());                      
                    }
                    manager.closeConnection();
@@ -123,7 +125,7 @@ public class Checker {
                HashTableMaker manager = new HashTableMaker("SQLite/hash_database_english.db");
                for (String sentence : extractedSentences) {
                    System.out.println("Sentence: " + sentence);
                    
                    sentence = StringProcessor.handleApostrophe(sentence.toLowerCase());
                    System.out.println("*********************************************************");
                    PhraseExtractor extractorPhrase = PhraseExtractor.fromSentence(sentence);
                    List<String> phrases = extractorPhrase.getPhrases();
@@ -149,19 +151,30 @@ public class Checker {
                e.printStackTrace();
            }
        }else if(argPars.isCheckSentence()){

            try {
                HashTableMaker manager = new HashTableMaker("SQLite/hash_database_english.db");
                System.out.println("Sentence: " + argPars.getSentence());
            jsonMaker.addSentence(argPars.getSentence().toLowerCase(), dbInterface.checkTokenInDatabase(argPars.getSentence().toLowerCase(), graph));
                String sentence = StringProcessor.handleApostrophe(argPars.getSentence().toLowerCase());
                int ngram        = manager.nGram(sentence, 3);
                int stateMachine = dbInterface.checkTokenInDatabase(sentence.toLowerCase(), graph);
                int conf         = (ngram>=0)?(int)(ngram*0.2+stateMachine*0.8):stateMachine;
                jsonMaker.addSentence(sentence, conf);
                System.out.println("*********************************************************");
            PhraseExtractor extractorPhrase = PhraseExtractor.fromSentence(argPars.getSentence().toLowerCase());
                PhraseExtractor extractorPhrase = PhraseExtractor.fromSentence(StringProcessor.handleApostrophe(argPars.getSentence().toLowerCase()));
                List<String> phrases = extractorPhrase.getPhrases();
                for (String phrase : phrases) {
                    ngram        = manager.nGram(phrase.toLowerCase(), 3);
                    stateMachine = dbInterface.checkTokenInDatabase(phrase.toLowerCase(), graph);
                    conf         = (ngram>=0)?(int)(ngram*0.2+stateMachine*0.8):stateMachine;
                    System.out.println("Phrase: " + phrase);
                jsonMaker.addPhrase(phrase, dbInterface.checkTokenInDatabase(phrase.toLowerCase(), graph));
                    jsonMaker.addPhrase(phrase, conf);
                    System.out.println("------------------------------------------------------------");
                }
                jsonMaker.toJson("confidence_ourChecker.json");
                System.out.println("##########################################################");
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }else if(argPars.isCheckGUI()){
            SwingUtilities.invokeLater(new Runnable() {
                @Override
+11 −4
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ import util.JsonMaker;
import util.PhraseExtractor;
import util.SentenceExtractor;
import util.StringFileWriter;
import util.StringProcessor;
import Translator.*;
import StateMachine.*;

@@ -36,6 +37,7 @@ public class Corrector implements GUIListener {
        this.stringWriterGUI = StringFileWriter.of("corrected.txt");
        this.senteceIndGUI = 0;
        this.curSentenceGUI = extractedSentencesGUI.get(0);
        this.curSentenceGUI = StringProcessor.handleApostrophe(this.curSentenceGUI.toLowerCase());
        String tempString = dbInterfaceGUI.correctTokenInDatabase(this.curSentenceGUI.toLowerCase(), graphGUI, 1, false);
        SelectCorrectionGUI gui = new SelectCorrectionGUI(this, this.curSentenceGUI);
    }
@@ -59,6 +61,7 @@ public class Corrector implements GUIListener {
            this.curSentenceGUI = tempString;
            String tempSentenceGUI = dbInterfaceGUI.correctTokenInDatabase(this.curSentenceGUI.toLowerCase(), graphGUI, 1, false);
        }
        this.curSentenceGUI = StringProcessor.handleApostrophe(this.curSentenceGUI.toLowerCase());
        return this.curSentenceGUI;
    }

@@ -80,6 +83,7 @@ public class Corrector implements GUIListener {
        }
        
        this.curSentenceGUI = extractedSentencesGUI.get(senteceIndGUI);
        this.curSentenceGUI = StringProcessor.handleApostrophe(this.curSentenceGUI.toLowerCase());
        String tempSentenceGUI = dbInterfaceGUI.correctTokenInDatabase(this.curSentenceGUI.toLowerCase(), graphGUI, 1, false);
        return this.curSentenceGUI;

@@ -112,6 +116,7 @@ public class Corrector implements GUIListener {
                List<String> extractedSentences = extractor.getSentences();
                for (String sentence : extractedSentences) {
                    System.out.println("Sentence: " + sentence);
                    sentence = StringProcessor.handleApostrophe(sentence.toLowerCase());
                    String tempString = directTranslator.replaceWordsInSentence(sentence.toLowerCase());
                    stringWriter.appendString(tempString);
                    System.out.println("##########################################################");
@@ -119,7 +124,7 @@ public class Corrector implements GUIListener {
            }else{
                
                System.out.println("Sentence: " + argPars.getSentence());
                String tempString = directTranslator.replaceWordsInSentence(argPars.getSentence().toLowerCase());
                String tempString = directTranslator.replaceWordsInSentence(StringProcessor.handleApostrophe(argPars.getSentence().toLowerCase()));
                stringWriter.appendString(tempString);
                System.out.println("Translation: "+tempString);
                System.out.println("##########################################################");
@@ -138,6 +143,7 @@ public class Corrector implements GUIListener {
                List<String> extractedSentences = extractor.getSentences();
                for (String sentence : extractedSentences) {
                    System.out.println("Sentence: " + sentence);
                    sentence = StringProcessor.handleApostrophe(sentence.toLowerCase());
                    String tempString = directTranslator.replaceWordsInSentence(sentence.toLowerCase());
                    stringWriter.appendString(tempString);
                    System.out.println("##########################################################");
@@ -145,7 +151,7 @@ public class Corrector implements GUIListener {
            }else{
                
                System.out.println("Sentence: " + argPars.getSentence());
                String tempString = directTranslator.replaceWordsInSentence(argPars.getSentence().toLowerCase());
                String tempString = directTranslator.replaceWordsInSentence(StringProcessor.handleApostrophe(argPars.getSentence().toLowerCase()));
                stringWriter.appendString(tempString);
                System.out.println("Translation: "+tempString);
                System.out.println("##########################################################");
@@ -166,6 +172,7 @@ public class Corrector implements GUIListener {
                List<String> extractedSentences = extractor.getSentences();
                for (String sentence : extractedSentences) {
                    System.out.println("Sentence: " + sentence);
                    sentence = StringProcessor.handleApostrophe(sentence.toLowerCase());
                    String tempString = dbInterface.correctTokenInDatabase(sentence.toLowerCase(), graph, 2, true);
                    stringWriter.appendString(tempString);

@@ -181,11 +188,11 @@ public class Corrector implements GUIListener {
            }
        }else if(argPars.isCheckSentence()){
            if(argPars.isCorrectionGUI()){  
                Corrector corrector = new Corrector(SentenceExtractor.of(argPars.getSentence()), argPars);  
                Corrector corrector = new Corrector(SentenceExtractor.ofLine(StringProcessor.handleApostrophe(argPars.getSentence().toLowerCase())), argPars);  
                corrector.start();
            }else{
                System.out.println("Sentence: " + argPars.getSentence());
                stringWriter.appendString(dbInterface.correctTokenInDatabase(argPars.getSentence().toLowerCase(), graph, 2, true));
                stringWriter.appendString(dbInterface.correctTokenInDatabase(StringProcessor.handleApostrophe(argPars.getSentence().toLowerCase()), graph, 2, true));
                try {
                    stringWriter.writeToFile();
                    System.out.println("Corrected version has been written to the file.");
+16 −9
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ public class DBinterface {

            int confidence = SM.isStateMachineFollowed(graph, actions, initialState, initialConf);
            //System.out.print("The confidence score is: "+ confidence + "\n");
            return confidence;
            return ((int)((double)confidence*100.0/(actions.size()*15)));
        } catch (SQLException e) {
            e.printStackTrace();
        }
@@ -128,6 +128,9 @@ public class DBinterface {
        int flagsCorrectioncnt = 0;
        boolean flagTypoCorrectionAccepted = true;
        StringFileWriter sfw = StringFileWriter.of("correction_details.txt", "\n", isNotGUI);

        //System.out.println(flagsCorrection);

        try (Connection connection = DriverManager.getConnection(this.url)) {

            // Lookup each token in the database and categorize it
@@ -152,7 +155,7 @@ public class DBinterface {
                                
                                initialConf += 5;
                                if(flagsCorrection.isEmpty()){
                                    sfw.appendString(token + " -> "+ tokenCorrected + "*");
                                    sfw.appendString(token + " (REPLACE WITH) -> "+ tokenCorrected + "*");
                                }else if(!flagsCorrection.get(flagsCorrectioncnt) && isNotGUI){
                                    flagTypoCorrectionAccepted = false;
                                    //tokenList.set(i, "nan");
@@ -162,7 +165,7 @@ public class DBinterface {
                                }
                                flagsCorrectioncnt++;
                            }
                           // ////System.out.print("Corrected token: " + token + " -> " + tokenCorrected);
                           //System.out.println("Corrected token: " + token + " -> " + tokenCorrected);

                            query = "SELECT role FROM word_roles WHERE word = '" + tokenCorrected + "';";
                            // Replace the token with its role
@@ -172,6 +175,8 @@ public class DBinterface {
                                role = resultSet.getString("role");
                              //  ////System.out.print("| Second try: "+ token + " -> " + role);
                                tokens[i] = role;
                            }else{
                                tokenList.set(i,tokenCorrected);
                            }
                        }

@@ -203,7 +208,8 @@ public class DBinterface {
                int biasToken = 0;
                
                //if(!isNotGUI)
                // System.out.println(flagsCorrection);
                //System.out.println(flags);
                //System.out.println(suggested);
                for(int i=0; i<suggested.size(); i++){
                    if(seenDot){
                        //indDotseen = i;
@@ -224,8 +230,8 @@ public class DBinterface {
                                if(i+biasToken<tokenList.size()){
                                    
                                    if(flagsCorrection.isEmpty()){
                                        sfw.appendString(tokenList.get(i) + " (REPLACE WITH) -> "+ word);
                                        tokenList.set(i+biasToken,word);
                                        sfw.appendString(tokenList.get(i) + " -> "+ word);
                                    }else if(flagsCorrection.get(flagsCorrectioncnt)){
                                        
                                        tokenList.set(i+biasToken,word);
@@ -234,7 +240,7 @@ public class DBinterface {
                                    
                                }else{
                                    if(flagsCorrection.isEmpty()){
                                        sfw.appendString("IND: "+ i + " -> "+ word);
                                        sfw.appendString("(INSERTION INTO INDEX): "+ i + " -> "+ word);
                                        tokenList.add(word);
                                    }else if(flagsCorrection.get(flagsCorrectioncnt)){
                                        tokenList.add(word);
@@ -247,7 +253,7 @@ public class DBinterface {
                    }else if(flags.get(i+delCnt)==2){
                        delCnt++;
                        if(flagsCorrection.isEmpty()){
                            sfw.appendString(tokenList.get(i) + " -> X");
                            sfw.appendString(tokenList.get(i) + "-> (REMOVE)");
                            tokenList.remove(i+biasToken);
                        }else if(flagsCorrection.get(flagsCorrectioncnt)){
                            tokenList.remove(i+biasToken);
@@ -267,7 +273,7 @@ public class DBinterface {
                                ////System.out.println("Here I am: "+ word);
                                
                                if(flagsCorrection.isEmpty()){
                                    sfw.appendString("IND: "+ i + " -> "+ word);
                                    sfw.appendString("(INSERTION INTO THE END) -> "+ word);
                                    if(i<tokenList.size()){
                                        tokenList.add(i+biasToken,word);
                                    }else{
@@ -304,6 +310,7 @@ public class DBinterface {
            StringBuilder result = new StringBuilder();
            boolean flagStart = false;
            int i = 0;
            //System.out.println(tokenList);
            for (String token : tokenList) {
                if(i==indDotseen)
                    break;
+4 −4
Original line number Diff line number Diff line
@@ -168,11 +168,11 @@ public class BasicGraph {
        graph.addEdge(State.ADVERB,      State.VERB);
        edgeList.put(State.ADVERB.toString(), State.VERB.toString());

        graph.addEdge(State.NOUN,      State.NOUN);
        edgeList.put(State.NOUN.toString(), State.NOUN.toString());
        //graph.addEdge(State.NOUN,      State.NOUN);
        //edgeList.put(State.NOUN.toString(), State.NOUN.toString());

        graph.addEdge(State.ADJECTIVE,      State.ADJECTIVE);
        edgeList.put(State.ADJECTIVE.toString(), State.ADJECTIVE.toString());
        //graph.addEdge(State.ADJECTIVE,      State.ADJECTIVE);
        //edgeList.put(State.ADJECTIVE.toString(), State.ADJECTIVE.toString());
    }
    public DirectedGraph<State> getGraph() {
        return graph;
Loading