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