Признать Tenses в английском предложении с помощью SharpNLP

В своем задании здесь я использую SharpNLP для определения части речи, такой как существительное, прилагательное, глагол и так далее. Затем я хочу классифицировать предложение по типу времен, во-первых, в данном случае, ПРОШЛОЕ ВРЕМЯ в качестве примера.

Давай посмотрим мой код..

        listSentence = ParseInput(allInput);

        foreach (string word in listSentence[0].Split(separator))
            if (word.Trim() != "")
                listWord.Add(word);  

        string[] lWord = listWord.ToArray();
        string[] lPOS = this.NLP.PosTagTokens(lWord);

allInput = "Я был занят вчера".

Проще говоря, в listSentence[0] содержится "Я был занят вчера".
Затем разделите на "I", "был", "занят", "вчера" в строке [] lWord
Затем я использовал SharpNLP, он работает хорошо, так что string[] lPOS содержит {"NN", "VBD", "JJ", "NN"}
Это должно быть признано как ИСТИНА
Основываясь на этом выводе, я запутался, как распознать прошедшее время - ИСТИНА или ЛОЖЬ.

Пояснение:

NN: существительное, единственное или массовое
VBD: глагол прошедшего времени
VBP: глагол, не от третьего лица
VBZ: глагол, подарок от третьего лица
VBG: глагол, герунд или настоящее причастие
VBN: глагол, причастие прошлого
JJ: прилагательное
PRP: личное местоимение

Если allInput = "Я занята вчера"
string[] lPOS = {"PRP", "VBP", "JJ", "NN"}
Это должно быть признано как ЛОЖЬ

Если allInput = "Они заняты вчера"
string[] lPOS = {"PRP", "VBP", "JJ", "NN"}
Это должно быть признано как ЛОЖЬ

Если allInput = "Я был занят завтра"
string[] lPOS = {"PRP", "VBD", "JJ", "NN"}
Это должно быть признано как ЛОЖЬ

Сэр, пожалуйста, помогите мне. Дайте мне идею и правила распознавания прошедшего времени, основанные на всех выходах выше. Позвольте мне учиться на вашем примере. Большое спасибо всем.:):)

1 ответ

В цели есть основное противоречие. Парсер работает на синтаксическом (структурном) уровне. Но вы также хотите классифицировать по семантике (смыслу).
I was busy tomorrow в прошедшем времени, согласно синтаксическому анализатору, потому что синтаксически в прошедшем времени есть глагол. Но семантика последнего слова делает его семантически неправильным предложением.

На мой взгляд, для вашей цели, I am busy yesterday настоящее время и I was busy tomorrow прошедшее время

Другие вопросы по тегам