Генерировать время -> Бег, Бег, Беги от «Бег» через SimpleNLG? - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь сгенерировать все временные варианты данного слова с кодом ниже:

public TensePOJO tensify(String originalWord)
{

    XMLLexicon lexicon = new XMLLexicon(); // "path\\to\\default-lexicon.xml"

    WordElement word = new XMLLexicon().getWordFromVariant(originalWord);


    InflectedWordElement pastInfl = new InflectedWordElement(word);
    pastInfl.setFeature(Feature.TENSE, Tense.PAST);

    InflectedWordElement futureInfl = new InflectedWordElement(word);
    futureInfl.setFeature(Feature.TENSE, Tense.FUTURE);

    InflectedWordElement presentInfl = new InflectedWordElement(word);
    presentInfl.setFeature(Feature.TENSE, Tense.PRESENT);


    List<InflectedWordElement> inflectedWordElementList = new ArrayList<InflectedWordElement>();
    inflectedWordElementList.add(pastInfl);
    inflectedWordElementList.add(futureInfl);
    inflectedWordElementList.add(presentInfl);

    Realiser realiser = new Realiser(lexicon);


    ArrayList<String> tenseList = new ArrayList<String>();


    for (InflectedWordElement inflectedWordElement : inflectedWordElementList) {

        String tense = realiser.realise(inflectedWordElement).getRealisation();


        if (!tenseList.contains(tense) && !originalWord.equalsIgnoreCase(tense)) {
            tenseList.add(tense);
        }

    }



    TensePOJO tensePOJO = new TensePOJO(originalWord, tenseList);

    System.out.println("WORD: " + tensePOJO.getOriginalKeyword() + " TENSES: " + tensePOJO.getTenseList().toString());

    return tensePOJO;

}

Когда я запускаю код выше (без каламбура) со словом: run Я получаю пустой результат. Когда я запускаю приведенный выше код со словом: ran, я получаю времена: run, runs, но не running. Единственное слово, которое производит желаемый результат: running (которое производит вывод: [ran, run, runs])

Как я могу получить все времена слова? Поддерживает ли SimpleNLG эти требования?

Спасибо!

...