2015-10-19 123 views
1

我想标记一个句子,但保持预定义的单词不变。例如除了预定义的单词之外,是否可以标记所有单词?

"i went to university of abc and had a wonderful time there!" 

["i", "went", "to", "university of abc", "and", "had", "a", "wonderful", "time", "there", "!"] 

作为"university of abc"是预先定义的词语。

我无法在任何NLTK标记器中找到此类参数或控件。我可以通过任何方式来实现这一目标?谢谢!

回答

1

而不是分割使用thisregex使用匹配:

(university of abc|\w+|[^\w\s]+) 

RegEx Demo

您可以在正则表达式LHS的像上面所示的一个添加更多预定义的词语。

+0

谢谢。我可以将正则表达式的LHS设置为任何预定义的单词吗?即W =“abc大学”,然后在正则表达式中有变量W? – Blue482

+1

您可以使用字符串连接来构建正则表达式。 – anubhava

+1

对不起,延迟回复。明白了,谢谢! :) – Blue482

1

你可以使用regexp正则表达式标记器,并写一个正则表达式,比如说,在不是"the university of abc."的一部分的所有空白区域上拆分,但这会很麻烦 - hack-y方法可能只是为了通过通过文本或写一个正则表达式替换"the university of abc""the-university-of-abc"或其他字符串不会被分解成单独的标记(取决于您使用的标记器)。

相关问题