Loading Checker.java +27 −3 Original line number Diff line number Diff line Loading @@ -15,18 +15,42 @@ public class Checker { BasicGraph basicGraphClass = new BasicGraph(); DBinterface dbInterface = new DBinterface(); DirectedGraph<State> graph = basicGraphClass.getGraph(); JsonMaker jsonMaker = JsonMaker.create(); if(argPars.isCheckFile()){ SentenceExtractor extractor = SentenceExtractor.of(argPars.getFileName()); List<String> extractedSentences = extractor.getSentences(); for (String sentence : extractedSentences) { dbInterface.checkTokenInDatabase(sentence, graph); System.out.println("Sentence: " + sentence); jsonMaker.addSentence(sentence, dbInterface.checkTokenInDatabase(sentence, graph)); System.out.println("*********************************************************"); PhraseExtractor extractorPhrase = PhraseExtractor.fromSentence(sentence); List<String> phrases = extractorPhrase.getPhrases(); for (String phrase : phrases) { System.out.println("Phrase: "+ phrase); jsonMaker.addPhrase(phrase, dbInterface.checkTokenInDatabase(phrase, graph)); System.out.println("------------------------------------------------------------"); } jsonMaker.toJson("data.json"); System.out.println("##########################################################"); } }else if(argPars.isCheckSentence()){ dbInterface.checkTokenInDatabase(argPars.getSentence(), graph); System.out.println("Sentence: " + argPars.getSentence()); jsonMaker.addSentence(argPars.getSentence(), dbInterface.checkTokenInDatabase(argPars.getSentence(), graph)); System.out.println("*********************************************************"); PhraseExtractor extractorPhrase = PhraseExtractor.fromSentence(argPars.getSentence()); List<String> phrases = extractorPhrase.getPhrases(); for (String phrase : phrases) { System.out.println("Phrase: " + phrase); jsonMaker.addPhrase(phrase, dbInterface.checkTokenInDatabase(phrase, graph)); System.out.println("------------------------------------------------------------"); } jsonMaker.toJson("data.json"); System.out.println("##########################################################"); } } Loading DBinterface/DBinterface.java +3 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ import StateMachine.*; import TypoCorrector.TypoCorrector; public class DBinterface { public void checkTokenInDatabase(String sentence, DirectedGraph<State> graph){ public int checkTokenInDatabase(String sentence, DirectedGraph<State> graph){ StateMachine SM = new StateMachine(); sentence = sentence.replaceAll("\\p{Punct}", " $0"); String[] tokens = sentence.split("\\s+"); Loading Loading @@ -68,8 +68,10 @@ public class DBinterface { int confidence = SM.isStateMachineFollowed(graph, actions, initialState, initialConf); System.out.print("The confidence score is: "+ confidence + "\n"); return confidence; } catch (SQLException e) { e.printStackTrace(); } return 0; } } checker.jardeleted 100644 → 0 −13.5 MiB File deleted. View file util/JsonMaker.java 0 → 100644 +70 −0 Original line number Diff line number Diff line package util; import java.io.FileWriter; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class JsonMaker { private Map<String, Integer> sentences; private Map<String, Integer> phrases; private JsonMaker() { sentences = new HashMap<>(); phrases = new HashMap<>(); } public void addSentence(String sentence, int value) { sentences.put(sentence, value); } public void addPhrase(String phrase, int value) { phrases.put(phrase, value); } public void toJson(String fileName) { StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.append("{\n \"sentences\": {\n"); appendMapToJson(sentences, jsonBuilder); jsonBuilder.append(" },\n \"phrases\": {\n"); appendMapToJson(phrases, jsonBuilder); jsonBuilder.append(" }\n}"); String jsonString = jsonBuilder.toString(); // Write JSON string to file try (FileWriter writer = new FileWriter(fileName)) { writer.write(jsonString); System.out.println("JSON file created successfully."); } catch (IOException e) { e.printStackTrace(); } } private void appendMapToJson(Map<String, Integer> map, StringBuilder jsonBuilder) { for (Map.Entry<String, Integer> entry : map.entrySet()) { jsonBuilder.append(" \"").append(entry.getKey()).append("\": ").append(entry.getValue()).append(",\n"); } // Remove the last comma and newline character if (!map.isEmpty()) { jsonBuilder.delete(jsonBuilder.length() - 2, jsonBuilder.length()); } jsonBuilder.append('\n'); } public static JsonMaker create() { return new JsonMaker(); } public static void main(String[] args) { JsonMaker jsonMaker = JsonMaker.create(); jsonMaker.addSentence("This is strange so choice", 55); jsonMaker.addPhrase("strange so choice", 70); jsonMaker.addPhrase("so choice word", 80); jsonMaker.addPhrase("This is", 0); jsonMaker.addPhrase("This is strange", 0); jsonMaker.addPhrase("strange so", 10); jsonMaker.toJson("data.json"); } } util/PhraseExtractor.java 0 → 100644 +38 −0 Original line number Diff line number Diff line package util; import java.util.ArrayList; import java.util.List; public class PhraseExtractor { private List<String> phrases; private PhraseExtractor(List<String> phrases) { this.phrases = phrases; } public static PhraseExtractor fromSentence(String sentence) { List<String> phrases = extractPhrases(sentence); return new PhraseExtractor(phrases); } private static List<String> extractPhrases(String sentence) { List<String> phrases = new ArrayList<>(); String[] words = sentence.split("\\s+"); for (int i = 0; i < words.length; i++) { for (int j = i + 1; j <= 4; j++){//words.length; j++) { StringBuilder phraseBuilder = new StringBuilder(); for (int k = i; k < j; k++) { phraseBuilder.append(words[k]); if (k < j - 1) { phraseBuilder.append(" "); } } phrases.add(phraseBuilder.toString()); } } return phrases; } public List<String> getPhrases() { return phrases; } } Loading
Checker.java +27 −3 Original line number Diff line number Diff line Loading @@ -15,18 +15,42 @@ public class Checker { BasicGraph basicGraphClass = new BasicGraph(); DBinterface dbInterface = new DBinterface(); DirectedGraph<State> graph = basicGraphClass.getGraph(); JsonMaker jsonMaker = JsonMaker.create(); if(argPars.isCheckFile()){ SentenceExtractor extractor = SentenceExtractor.of(argPars.getFileName()); List<String> extractedSentences = extractor.getSentences(); for (String sentence : extractedSentences) { dbInterface.checkTokenInDatabase(sentence, graph); System.out.println("Sentence: " + sentence); jsonMaker.addSentence(sentence, dbInterface.checkTokenInDatabase(sentence, graph)); System.out.println("*********************************************************"); PhraseExtractor extractorPhrase = PhraseExtractor.fromSentence(sentence); List<String> phrases = extractorPhrase.getPhrases(); for (String phrase : phrases) { System.out.println("Phrase: "+ phrase); jsonMaker.addPhrase(phrase, dbInterface.checkTokenInDatabase(phrase, graph)); System.out.println("------------------------------------------------------------"); } jsonMaker.toJson("data.json"); System.out.println("##########################################################"); } }else if(argPars.isCheckSentence()){ dbInterface.checkTokenInDatabase(argPars.getSentence(), graph); System.out.println("Sentence: " + argPars.getSentence()); jsonMaker.addSentence(argPars.getSentence(), dbInterface.checkTokenInDatabase(argPars.getSentence(), graph)); System.out.println("*********************************************************"); PhraseExtractor extractorPhrase = PhraseExtractor.fromSentence(argPars.getSentence()); List<String> phrases = extractorPhrase.getPhrases(); for (String phrase : phrases) { System.out.println("Phrase: " + phrase); jsonMaker.addPhrase(phrase, dbInterface.checkTokenInDatabase(phrase, graph)); System.out.println("------------------------------------------------------------"); } jsonMaker.toJson("data.json"); System.out.println("##########################################################"); } } Loading
DBinterface/DBinterface.java +3 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ import StateMachine.*; import TypoCorrector.TypoCorrector; public class DBinterface { public void checkTokenInDatabase(String sentence, DirectedGraph<State> graph){ public int checkTokenInDatabase(String sentence, DirectedGraph<State> graph){ StateMachine SM = new StateMachine(); sentence = sentence.replaceAll("\\p{Punct}", " $0"); String[] tokens = sentence.split("\\s+"); Loading Loading @@ -68,8 +68,10 @@ public class DBinterface { int confidence = SM.isStateMachineFollowed(graph, actions, initialState, initialConf); System.out.print("The confidence score is: "+ confidence + "\n"); return confidence; } catch (SQLException e) { e.printStackTrace(); } return 0; } }
util/JsonMaker.java 0 → 100644 +70 −0 Original line number Diff line number Diff line package util; import java.io.FileWriter; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class JsonMaker { private Map<String, Integer> sentences; private Map<String, Integer> phrases; private JsonMaker() { sentences = new HashMap<>(); phrases = new HashMap<>(); } public void addSentence(String sentence, int value) { sentences.put(sentence, value); } public void addPhrase(String phrase, int value) { phrases.put(phrase, value); } public void toJson(String fileName) { StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.append("{\n \"sentences\": {\n"); appendMapToJson(sentences, jsonBuilder); jsonBuilder.append(" },\n \"phrases\": {\n"); appendMapToJson(phrases, jsonBuilder); jsonBuilder.append(" }\n}"); String jsonString = jsonBuilder.toString(); // Write JSON string to file try (FileWriter writer = new FileWriter(fileName)) { writer.write(jsonString); System.out.println("JSON file created successfully."); } catch (IOException e) { e.printStackTrace(); } } private void appendMapToJson(Map<String, Integer> map, StringBuilder jsonBuilder) { for (Map.Entry<String, Integer> entry : map.entrySet()) { jsonBuilder.append(" \"").append(entry.getKey()).append("\": ").append(entry.getValue()).append(",\n"); } // Remove the last comma and newline character if (!map.isEmpty()) { jsonBuilder.delete(jsonBuilder.length() - 2, jsonBuilder.length()); } jsonBuilder.append('\n'); } public static JsonMaker create() { return new JsonMaker(); } public static void main(String[] args) { JsonMaker jsonMaker = JsonMaker.create(); jsonMaker.addSentence("This is strange so choice", 55); jsonMaker.addPhrase("strange so choice", 70); jsonMaker.addPhrase("so choice word", 80); jsonMaker.addPhrase("This is", 0); jsonMaker.addPhrase("This is strange", 0); jsonMaker.addPhrase("strange so", 10); jsonMaker.toJson("data.json"); } }
util/PhraseExtractor.java 0 → 100644 +38 −0 Original line number Diff line number Diff line package util; import java.util.ArrayList; import java.util.List; public class PhraseExtractor { private List<String> phrases; private PhraseExtractor(List<String> phrases) { this.phrases = phrases; } public static PhraseExtractor fromSentence(String sentence) { List<String> phrases = extractPhrases(sentence); return new PhraseExtractor(phrases); } private static List<String> extractPhrases(String sentence) { List<String> phrases = new ArrayList<>(); String[] words = sentence.split("\\s+"); for (int i = 0; i < words.length; i++) { for (int j = i + 1; j <= 4; j++){//words.length; j++) { StringBuilder phraseBuilder = new StringBuilder(); for (int k = i; k < j; k++) { phraseBuilder.append(words[k]); if (k < j - 1) { phraseBuilder.append(" "); } } phrases.add(phraseBuilder.toString()); } } return phrases; } public List<String> getPhrases() { return phrases; } }