|
|
|||||
Как реализовать поиск похожих фраз?
Например, вводишь фразу, а программа находит похожие фразы.
Вводишь: "Привет я владимир" Программа находит: "Привет, я Владимир!" ? |
|
|||||
Регистрация: May 2011
Сообщений: 3
|
Цитата:
а сами слова искать используя алгоритм Левинштейна |
|
|||||
Регистрация: May 2011
Сообщений: 3
|
Цитата:
сделаешь - кинь обратно protected function Minimum ( a:int, b:int, c:int):int { var mi:int = a; if (b < mi) { mi = b; } if (c < mi) { mi = c; } return mi; } //***************************** // Compute Levenshtein distance //***************************** public function computeLD( s:String, t:String):int { var n:int = s.length; // length of s var m:int = t.length; // length of t var i:int = 0; // iterates through s var j:int = 0; // iterates through t var s_i:String; // ith character of s var t_j:String; // jth character of t var cost:int = 0; // cost var d:Array; // matrix // Step 1 if (n == 0) { return m; } if (m == 0) { return n; } d = new int[n+1][m+1]; // Step 2 for (i = 0; i <= n; i++) { d[i][0] = i; } for (j = 0; j <= m; j++) { d[0][j] = j; } // Step 3 for (i = 1; i <= n; i++) { s_i = s.charAt (i - 1); // Step 4 for (j = 1; j <= m; j++) { t_j = t.charAt (j - 1); // Step 5 if (s_i == t_j) { cost = 0; } else { cost = 1; } // Step 6 d[i][j] = Minimum (d[i-1][j]+1, d[i][j-1]+1, d[i-1][j-1] + cost); } } // Step 7 return d[n][m]; } |
Часовой пояс GMT +4, время: 07:28. |
|
« Предыдущая тема | Следующая тема » |
|
|