在我的作业中,我在这里使用 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]中包含“我昨天很忙”。然后在string[] lWord
中拆分为“I”、“was”、“busy”、“yesterday”
然后我使用了 SharpNLP,它运行良好,因此string[] lPOS包含 {“NN”、“VBD”、“JJ” , "NN"}
那应该被识别为 TRUE
基于该输出,我很困惑如何识别为过去时 - TRUE 或 FALSE。
解释 :
NN:名词,单数或
整体 VBD:动词,过去时
VBP:动词,非第三人称单数现在时
VBZ:动词,第三人称单数现在
时 VBG:动词,动名词或现在分词
VBN:动词,过去分词
JJ:形容词
PRP:人称代词
如果 allInput = "我昨天很忙"
string[] lPOS = {"PRP", "VBP", "JJ", "NN"}
那应该被识别为 FALSE
if allInput = "他们昨天很忙"
string[] lPOS = {"PRP", "VBP", "JJ", "NN"}
那应该被识别为 FALSE
if allInput = "I was busy tomorrow"
string[] lPOS = {"PRP", "VBD", "JJ", "NN"}
那应该被识别为 FALSE
先生,请帮助我。给我一个想法和规则来根据上面的所有输出识别过去时。让我通过你的例子来学习。非常感谢大家。:) :)