2017-01-12 2 views
-1

мне было интересно, есть своего рода алгоритм или шаблон, который позволяет сравнить и найти похожие словаПоиск схожих строк в Java

Это будет легче, если я использую пример, вот он:

Предположив что у нас есть стриг:

String keywords = "Mummy's girl";

ArrayList = "Мама, кошка, собака, подруга, дом, мама, девочки, огонь";

Я хочу, чтобы в результате этих слов (потому что они похожи или же в письменном виде) = «мама, подруга, мама, девочки, девушки»

+0

См. Https://de.wikipedia.org/wiki/Levenshtein-Distanz например – lexicore

+0

Получайте удовольствие от [расстояния Левенштейна] (https://en.wikipedia.org/wiki/Levenshtein_distance), но, конечно же, вы выходят за пределы темы, никакой внешний источник не следует запрашивать в SO – AxelH

+0

Вы можете использовать расстояние Levenshtein для базовой метрики сходства текста, но сходство «Mummy» с «Mom» довольно семантическое (не слишком похожее, если принимать как строки без значения) - вы Для этого нужен словарь синонимов или thesuarus. –

ответ

1

Ваш вопрос немного неясно. Но в java вы можете использовать функцию подстроки.

  String n = in.next(); 
     String a = n.substring(0,3); 

Здесь a = Мама. Затем пройдите все элементы в arraylist и найдите аналогичное слово. В подстроке 0 есть начальная точка, а 3 - конечная точка.

Смежные вопросы