Вам нужно больше проработать, что вы подразумеваете под "похожими строками", чтобы придумать подходящую функцию преобразования. Струны
"I am going to the store" and
"We are going to the store"
считается похожим? Как насчет струн
"I am going to the store" and
"J bn hpjoh up uif tupsf"
(все буквы в оригинале +1) или
"I am going to the store" and
"I am going to the store today"
? Исходя из того, что вы подразумеваете под «похожим», вы можете рассмотреть различные функции.
Если разница может основываться исключительно на значениях символов (в Юникоде или в любом другом месте), тогда вы можете попытаться суммировать значения и использовать результат в качестве оттенка для пространства HSV. Если длинная строка приводит к тому, что цвета становятся более разными, вы можете рассмотреть взвешивание символов по их положению в строке.
Если разница более сложная, например, из-за появления определенных букв или слов, вам необходимо это определить. Возможно, вы можете выбрать значения красного, зеленого и синего цветов в зависимости от количества Es, Ss и Rs в строке, если их много в вашем домене. Или выберите оттенок на основе отношения гласных к согласным или слов к слогам.
Есть много, много разных способов приблизиться к этому, но лучший из них действительно зависит от того, что вы подразумеваете под «похожими» строками.