在core-nlp中使用regexNER

时间:2016-10-21 10:48:11

标签: regex named-entity-recognition stanford-nlp

我想在core-nlp管道中为regexner设置一个正则表达式pattenr。我的实体/令牌是

Machine_DS2302

第二部分是alphanumeric

我目前所拥有的是

Machine_.*  MachineNumber

但是,这会注释所有内容(这是一个通配符)。我想根据第二部分中的正则表达式将标记添加为MachineNumber,即如果_之后的第二部分是数字,则将其分配给所述标记。

正则表达式

^[a-zA-Z0-9]*$

但即便

Machine_^[a-zA-Z0-9]*$

不起作用

regexNER的这种模式怎么样?

1 个答案:

答案 0 :(得分:1)

锚点是多余的,它们实际上会阻止模式匹配,因为^匹配字符串起始位置,$匹配字符串结束位置。

由于您需要在_之后访问该部件,因此您还需要捕获,因此请使用捕获组:

Machine_([a-zA-Z0-9]*)

(...)将创建一个包含字母数字值的子匹配。

请注意,如果字母数字部分应包含至少1个字符,则可能需要将*替换为+