1
比方说,我记号化的字符串,并把它变成一个列表:在python中,如何在标记字符串中找到短语?
>>> s = "This is a test"
>>> l = nltk.word_tokenize(s)
>>> l
['This', 'is', 'a', 'test']
怎样然后在列表中找到类似短语的出现“是”,即“是” directely其次是“一个“?
比方说,我记号化的字符串,并把它变成一个列表:在python中,如何在标记字符串中找到短语?
>>> s = "This is a test"
>>> l = nltk.word_tokenize(s)
>>> l
['This', 'is', 'a', 'test']
怎样然后在列表中找到类似短语的出现“是”,即“是” directely其次是“一个“?
如果要检查两个项目在列表中,并依次是:
l = ['This', 'is', 'a', 'test']
any(['is', 'a'] == l[i:i+2] for i in xrange(len(l) - 1))
您可以使用正则表达式来第一次提取所需pharases如is a
再算上在该列表中元素的个数结果。这样,如果这是一个desirre属性,则您不必标记字符串。
这对你的作品:
import re
dummyList = re.findall(r'\bis a\b', ' This is a test. A regular expression is a necessity to catch all is a(s)')
print len(dummyList)
这将打印出3
能否请你详细说明你有什么高层次的目标,你想在句子找到什么模式?谢谢。 – alecxe
你是否试图实施带状疱疹(https://en.wikipedia.org/wiki/W-shingling)? – vittore
其实我有一个标记化和POS标记的列表,我想查找像“NN2 NN2”这样的结构并将其转换为NN2-NN1。我可以将POS标记为OK,但是然后在列表中搜索序列很棘手,看起来像。 – Jono