Commit a37e4db8 authored by Seyed Reza  Sajjadinasab's avatar Seyed Reza Sajjadinasab
Browse files

Merge branch 'Reza' into 'master'

Reza

See merge request ec504/ec504_projects/group6!45
parents 9f222b93 a34d93a8
Loading
Loading
Loading
Loading
+23 −12
Original line number Diff line number Diff line
@@ -151,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(StringProcessor.handleApostrophe(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(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
+8 −2
Original line number Diff line number Diff line
@@ -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 + " (REPLACE WITH) -> "+ tokenCorrected + " | TYPO CORRECTION*");
                                    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);
                            }
                        }

@@ -305,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;
+1 −0
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ public class StateMachine{
                    ListToString lts = ListToString.of();
                    for(State action: actions)
                        lts.addString(action);
                    
                    String suggestedActionsString = tc.closestWord(lts.getString());
                    //System.out.println(lts.getString() + " -> " + suggestedActionsString);
                    List<State> parts = StringToList.split(suggestedActionsString);
+6 −0
Original line number Diff line number Diff line
@@ -68,6 +68,12 @@ public class StringProcessor {
        result.append(text.substring(lastEnd));
        text = result.toString();
        text = text.replaceAll("[\\'’]", "");
        //System.out.println(text);
        Pattern pattern1 = Pattern.compile("[^a-zA-Z0-9\\s,.?!]");
        Matcher matcher1 = pattern1.matcher(text);
        text = matcher1.replaceAll("");
        //System.out.println(text);
        

        return text;
    }