如何过滤掉词性标签?

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);

【讨论】:

因为有引号,所以无法编译。我不知道如何解决它。

以上是关于如何过滤掉词性标签?的主要内容,如果未能解决你的问题,请参考以下文章

过滤掉字符串中的锚标签

JQuery追加过滤掉html之类的标签?

Overpass API - 过滤掉非空标签

如何比较 2 个数组中的值以过滤掉元素

过滤掉 HTML 标签并解析 python 中的实体

过滤掉具有“display:none”作为标签属性或在其 CSS 中的 HTML 元素