如何过滤掉词性标签?
Posted
技术标签:
【中文标题】如何过滤掉词性标签?【英文标题】:How to filter out part-of-speech tag? 【发布时间】:2015-06-26 04:55:27 【问题描述】:var sentence =" "/`` Do/VBP n't/RB cut/VB off/RP its/PRP$ power/NN ,/, "/'' he/PRP said/VBD ./. ";
var pattern = new Regex(@"/(?:[.,]|\pLu+\b)");
var outcome = pattern.Replace(sentence, string.Empty);
//Output : "/`` Do n't cut off its$ power , "/'' he said .
我应该如何修改模式以产生预期的输出:
“不要切断它的电源,”他说。
【问题讨论】:
您可能希望包括从哪里获得 POS 标记文本,以便可以使用该实施的参考指南。 我自己构造了这句话来总结我面临的问题。我正在使用 OpenNLP 对其进行标记。 【参考方案1】:试图回答,但问题需要修改,因为它无法编译:
var sentence = "\"Do/VBP n't/RB cut/VB off/RP its/PRP$ power/NN ,/, \" he/PRP said/VBD ./. ";
var pattern = new Regex(@"/.+?\s+");
var outcome = pattern.Replace(sentence, " ");
var expected = "\"Don't cut off its power,\" he said.";
var success = (outcome == expected);
Console.WriteLine(success);
Console.WriteLine(expected);
Console.WriteLine(outcome);
【讨论】:
因为有引号,所以无法编译。我不知道如何解决它。以上是关于如何过滤掉词性标签?的主要内容,如果未能解决你的问题,请参考以下文章