我有一些字符串,我想要一個度量它們的相似度,但不同於字符串編輯距離,例如基於結構相似性而不是字母相似性。如何計算基於結構的字符串相似度?
例如:312164和48479應該得到非常高的分數,因爲它們只是數字並且具有相同的長度。對於Bla blubb和bla bloob blo應該是相同的,因爲它們只包含字母並且在兩者之間有間隙。 較少的分數應該適用於像蘋果和app3這樣的情侶,即使他們分享了一些字母,但具有不同的結構。
這樣的事......有人有線索嗎?在Java中,如果可能的話。
謝謝!
這是一個非常具體的要求。您需要記住使用哪些字符,按照什麼順序,以及它們是什麼類型,字母,數字,其他($,!,#,_等)。 –
StringUtils.getLevenshteinDistance() - http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#getLevenshteinDistance(java.lang.CharSequence,java .lang.CharSequence)? – cjstehno