NGRAM算出した距離が達成-python [予約]

転送:https://flystarhe.github.io/docs-2014/algorithm/similarity-more/readme/

DEF Ngram_distance(STR1、STR2、N- = 2 ):
    TMP = '  ' *(N - 1 
    STR1 = + 0009 + TMP TMP 示し始めイニシャル及びチャーの端 
    STR2 = TMP + STR2 + TMPの
    SETL = SET( [0009 [I:Iは、N-] + ための I レンジ(LEN(STR1) - (N - 1 ))])
    SET2 = SET([STR2 [I:Iは、N-] + ための I レンジ(LEN(STR2) - (N - 1 ))])
    SETX = SETL&SET2 
    LEN1 = LEN(SETL)
    LEN2 = LEN(SET2)
    lenX =LEN(SETX)
    num_dist = LEN1 + LEN2 - 2 * lenx 
    num_sim = 1 - num_dist /(LEN1 + LEN2)
     戻り SET1、SET2、{ ' DIST ':num_dist、' SIM ' :num_sim} 

プリント(Ngram_distance(' 女の子'' ガールフレンド'))

出力:

({ ' Giの'' O '' RL '' L '' G ' }、
{ ' GI '' EN '' P '' O '' IH '' つまり'' RL ' ' FR ' 'RI ' 'G ' ' ND ' }、{ ' DIST ':8、' SIM :0.5})

 

おすすめ

転載: www.cnblogs.com/BlueBlueSea/p/11345117.html