Loading .gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading CheckerCorrector/Checker.java +29 −16 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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); } } Loading @@ -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(); Loading @@ -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(); Loading @@ -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(); Loading @@ -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 Loading CheckerCorrector/Corrector.java +11 −4 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import util.JsonMaker; import util.PhraseExtractor; import util.SentenceExtractor; import util.StringFileWriter; import util.StringProcessor; import Translator.*; import StateMachine.*; Loading @@ -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); } Loading @@ -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; } Loading @@ -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; Loading Loading @@ -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("##########################################################"); Loading @@ -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("##########################################################"); Loading @@ -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("##########################################################"); Loading @@ -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("##########################################################"); Loading @@ -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); Loading @@ -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."); Loading CheckerCorrector/DBinterface/DBinterface.java +16 −9 Original line number Diff line number Diff line Loading @@ -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(); } Loading Loading @@ -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 Loading @@ -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"); Loading @@ -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 Loading @@ -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); } } Loading Loading @@ -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; Loading @@ -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); Loading @@ -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); Loading @@ -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); Loading @@ -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{ Loading Loading @@ -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; Loading CheckerCorrector/DirectedGraph/BasicGraph.java +4 −4 Original line number Diff line number Diff line Loading @@ -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 Loading
.gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
CheckerCorrector/Checker.java +29 −16 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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); } } Loading @@ -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(); Loading @@ -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(); Loading @@ -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(); Loading @@ -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 Loading
CheckerCorrector/Corrector.java +11 −4 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import util.JsonMaker; import util.PhraseExtractor; import util.SentenceExtractor; import util.StringFileWriter; import util.StringProcessor; import Translator.*; import StateMachine.*; Loading @@ -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); } Loading @@ -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; } Loading @@ -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; Loading Loading @@ -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("##########################################################"); Loading @@ -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("##########################################################"); Loading @@ -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("##########################################################"); Loading @@ -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("##########################################################"); Loading @@ -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); Loading @@ -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."); Loading
CheckerCorrector/DBinterface/DBinterface.java +16 −9 Original line number Diff line number Diff line Loading @@ -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(); } Loading Loading @@ -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 Loading @@ -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"); Loading @@ -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 Loading @@ -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); } } Loading Loading @@ -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; Loading @@ -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); Loading @@ -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); Loading @@ -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); Loading @@ -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{ Loading Loading @@ -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; Loading
CheckerCorrector/DirectedGraph/BasicGraph.java +4 −4 Original line number Diff line number Diff line Loading @@ -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