Levenshtein distance: podobieństwo tekstów

Założenie: Nauczymy się korzystać z funkcji `levenshtein()` w PHP do obliczania odległości Levenshteina między dwoma tekstami i zastosujemy ją w prostym systemie podpowiedzi.

Krok po kroku:

  1. Obliczanie odległości Levenshteina: Funkcja `levenshtein()` przyjmuje dwa argumenty – dwa stringi – i zwraca liczbę edycji (dodania, usunięcia, zamiany) potrzebnych do przekształcenia jednego stringa w drugi. Im mniejsza wartość, tym większe podobieństwo między stringami.
  2. 
    $string1 = "kot";
    $string2 = "kot";
    $distance = levenshtein($string1, $string2);
    echo "Odległość Levenshteina: " . $distance; // Wynik: 0
    				
  3. Przykład z różnymi stringami:
  4. 
    $string1 = "pies";
    $string2 = "pis";
    $distance = levenshtein($string1, $string2);
    echo "Odległość Levenshteina: " . $distance; // Wynik: 1
    				
  5. Prosty system podpowiedzi: Załóżmy, że mamy tablicę słów i chcemy znaleźć słowa podobne do wprowadzonego przez użytkownika.
  6. 
    $slowa = ["kot", "pies", "mysz", "slon"];
    $szukaneSlowo = "kos";
    $najlepszaPodpowiedz = "";
    $minDistance = PHP_INT_MAX;
    
    foreach ($slowa as $slowo) {
      $distance = levenshtein($szukaneSlowo, $slowo);
      if ($distance < $minDistance) {
        $minDistance = $distance;
        $najlepszaPodpowiedz = $slowo;
      }
    }
    
    echo "Najlepsza podpowiedź dla '" . $szukaneSlowo . "': " . $najlepszaPodpowiedz; // Wynik: kot
    				

Ten przykład pokazuje podstawowe zastosowanie funkcji `levenshtein()`. Można ją wykorzystać w wielu aplikacjach, takich jak korektory ortograficzne, wyszukiwarki czy systemy rekomendacji.

Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z funkcją `levenshtein()`!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *