#は、A、辞書の定義 word_dict = [ '私たち'、 'しばしば'、 'が'、 '意見を持っている、 'アドバイス'、 '違い'] #スライディングウィンドウサイズ MAX_LEN = 5 #ユーザー入力 が多いUSER_INPUT ='私たちを「意見の違いがある lenは(USER_INPUT) 結果は: 9
最大マッチングアルゴリズムを実装する前に
#前向最大匹配算法 結果= [] I = 0 中にI <LEN(USER_INPUT): マッチ= Falseの posが= iが+ MAX_LEN場合、私+ MAX_LEN <LEN(USER_INPUT)他(USER_INPUT)lenの 一方USER_INPUT [I:POS] :word_dictと私<posのではない プリント(USER_INPUT [I:POS]) POS - = 1 I <posの場合: 一致= Trueの result.append:(USER_INPUT [I POS]) ==真の他の私マッチした場合、私は、POSを= + MAX_LEN プリント(結果)
出力:
私たちはしばしばしている 私たちはしばしば を通して私たち しばしば意見がき しばしば故意に しばしば持っている 意見の相違を 割っ意見がある [「私たち」、「しばしば」、「意見を持っている」、「違い」]
の後、最大マッチングアルゴリズムを達成するためには、
#后向最大匹配算法 結果= [] I = LEN(USER_INPUT) I> 0つつ: マッチ= Falseの POS = I - >他0 MAX_LEN -私場合MAX_LEN USER_INPUT [POS:I]つつないword_dictおよびI> POS: プリント(USER_INPUT [POS:i])と POS + = 1 であればI> POS: マッチ=真 result.insert(0、USER_INPUT [POS:i])と 一致した場合、私は、POSを= ==真他I - MAX_LEN プリント(結果)
出力:
意見の相違があり 、意見の違いは 違いが見 しばしば意見を持っている ことが多いコメント 私たちが多い ことが多い [「私たち」、「しばしば」、「意見を持っている」、「違いを」]