List<WordGenerator.Result> results = morphology.getWordGenerator().generate( analysis.getDictionaryItem(), analysis.getMorphemes());
public static void main(String[] args) { String[] number = {"A3sg", "A3pl"}; String[] possessives = {"P1sg", "P2sg", "P3sg"}; String[] cases = {"Dat", "Loc", "Abl"}; TurkishMorphology morphology = TurkishMorphology.builder().setLexicon("armut").disableCache().build(); DictionaryItem item = morphology.getLexicon().getMatchingItems("armut").get(0); for (String numberM : number) { for (String possessiveM : possessives) { for (String caseM : cases) { List<Result> results = morphology.getWordGenerator().generate(item, numberM, possessiveM, caseM); results.forEach(s->System.out.println(s.surface)); } } } }
this.analysisConverter = new InformalAnalysisConverter(morphology.getWordGenerator()); SmoothLm languageModel = SmoothLm.builder(languageModelPath).logBase(Math.E).build(); Log.info("Language model = %s", languageModel.info());
public static void main(String[] args) { TurkishMorphology morphology = TurkishMorphology.builder() .setLexicon(RootLexicon.getDefault()) .useInformalAnalysis() .build(); List<SingleAnalysis> analyses = morphology .analyzeAndDisambiguate("okuycam diyo") .bestAnalysis(); for (SingleAnalysis a : analyses) { System.out.println(a.surfaceForm() + "-" + a); } System.out.println("Converting formal surface form:"); InformalAnalysisConverter converter = new InformalAnalysisConverter(morphology.getWordGenerator()); for (SingleAnalysis a : analyses) { System.out.println(converter.convert(a.surfaceForm(), a)); } } }
public static void main(String[] args) { TurkishMorphology morphology = TurkishMorphology.createWithDefaults(); DictionaryItem newStem = morphology.getLexicon().getMatchingItems("poğaça").get(0); String word = "simidime"; Log.info("Input Word = " + word); WordAnalysis results = morphology.analyze(word); for (SingleAnalysis result : results) { List<Result> generated = morphology.getWordGenerator().generate(newStem, result.getMorphemes()); for (Result s : generated) { Log.info("Input analysis: " + result.formatLong()); Log.info("After stem change, word = " + s.surface); Log.info("After stem change, Analysis = " + s.analysis.formatLong()); } } }
public static void main(String[] args) { String[] number = {"A3sg", "A3pl"}; String[] possessives = {"P1sg", "P2sg", "P3sg"}; String[] cases = {"Dat", "Loc", "Abl"}; TurkishMorphology morphology = TurkishMorphology.builder().addDictionaryLines("armut").disableCache().build(); DictionaryItem item = morphology.getLexicon().getMatchingItems("armut").get(0); for (String numberM : number) { for (String possessiveM : possessives) { for (String caseM : cases) { List<Result> results = morphology.getWordGenerator().generate(item, numberM, possessiveM, caseM); results.forEach(s->System.out.println(s.surface)); } } } }
public void initializeController() { post("/generate_word", (req, res) -> { String word = req.queryParams("word"); String morphemes = req.queryParams("morphemes"); morphemes = morphemes.replace('|', '+'); morphemes = morphemes.replace('→', '+'); TurkishMorphology morphology = TurkishMorphology.builder().addDictionaryLines(word).disableCache().build(); DictionaryItem item = morphology.getLexicon().getMatchingItems(word).get(0); List<GenerateWordResult> wordResults = new ArrayList<>(); List<Result> results = morphology.getWordGenerator().generate(item, morphemes.split("\\+")); for (Result generateResult : results) { GenerateWordResult wordResult = new GenerateWordResult(); wordResult.word = word; wordResult.no_surface = generateResult.analysis.formatMorphemesLexical(); wordResult.surface = generateResult.surface; wordResult.analysis = generateResult.analysis.formatLong(); wordResults.add(wordResult); } return jsonConverter.toJson(wordResults); }); } }
public static void main(String[] args) { TurkishMorphology morphology = TurkishMorphology.createWithDefaults(); DictionaryItem newStem = morphology.getLexicon().getMatchingItems("poğaça").get(0); String word = "simidime"; Log.info("Input Word = " + word); WordAnalysis results = morphology.analyze(word); for (SingleAnalysis result : results) { List<Result> generated = morphology.getWordGenerator().generate(newStem, result.getMorphemes()); for (Result s : generated) { Log.info("Input analysis: " + result.formatLong()); Log.info("After stem change, word = " + s.surface); Log.info("After stem change, Analysis = " + s.analysis.formatLong()); } } }