1

品詞の pos パターンの一致に問題があります。NN + IN + NN、VBG + IN + NN、ADJ + IN + NN などの前置詞句パターンの規則がありました。

アイデアは、任意の文からパターンを抽出し、上記の定義ルールと一致させ、一致した場合は True を返すことです。

文から抽出した例: sent_pos = [('increasing', 'VBG'), ('of', 'IN'), ('mutation', 'NN')] いずれかのルールに一致1 = [('', 'VBG' '), ('', 'IN'), ('', 'NN')] または rule2 = [('', 'NN'), ('', 'IN'), ('', 'NN' )] または [('', 'ADJ'), ('', 'IN'), ('', 'NN')]

結果は True を返します。

Pythonコードで可能ですか?

お返事ありがとうございます。

4

1 に答える 1

1

rule1、rule2、および rule3 でパターンの順序が常に同じかどうかわからないため、これがあなたが探しているものかどうかはよくわかりませんが、これを試してください。

def function():

   sent_pos = [('increasing', 'VBG'), ('of', 'IN'), ('mutation', 'NN')]
   rule1 = [('', 'VBG'), ('', 'IN'), ('', 'NN')]
   rule2 = [('', 'NN'), ('', 'IN'), ('', 'NN')]
   rule3 = [('', 'ADJ'), ('', 'IN'), ('', 'NN')]

   rules = [rule1, rule2, rule3]

   for element in rules:
        counter = 0
        for i in range(len(sent_pos)):
            if sent_pos[i][1] == element[i][1]:
                counter += 1
        if counter == len(sent_pos):
            return True
   return False
于 2015-01-04T17:21:59.767 に答える