Ale*_*ysh 8 algorithm colors string-metric
我有一大堆任意自然语言字符串.对于我分析它们的工具,我需要将每个字符串转换为唯一的颜色值(RGB或其他).我需要颜色对比度来依赖于字符串相似性(字符串与其他字符串不同,它们各自的颜色应该不同).如果我总是为同一个字符串获得相同的颜色值,那将是完美的.
关于如何解决这个问题的任何建议?
我可能需要将"相似性"定义为类似Levenstein的距离.不需要自然语言解析.
那是:
"I am going to the store" and
"We are going to the store"
Run Code Online (Sandbox Code Playgroud)
类似.
"I am going to the store" and
"I am going to the store today"
Run Code Online (Sandbox Code Playgroud)
类似(但略少).
"I am going to the store" and
"J bn hpjoh up uif tupsf"
Run Code Online (Sandbox Code Playgroud)
很不相似.
(谢谢,Welbog!)
只有当我看到程序输出时,我才可能确切地知道我需要什么距离函数.所以让我们从简单的事情开始吧.
我删除了自己的建议,将任务分成两部分 - 绝对距离计算和颜色分布.这不会很好,因为我们首先将尺寸信息减少到一个维度,然后尝试将其合成到三维.
我可能会在两个字符串之间定义一些增量。我不知道您将两个字符串的差异(或“不平等”)定义为什么,但我能想到的最明显的事情是字符串长度和特定字母出现的次数(以及它们在字符串中的索引) 。实现它应该不难,以便它在相等的字符串中返回相同的颜色代码(如果您首先执行相等,并在进一步比较之前返回)。
当涉及到实际的 RGB 值时,我会尝试将字符串数据转换为 4 字节(RGBA),如果只使用 RGB,则转换为 3 字节。我不知道是否每个字符串都适合它们(因为这可能是特定于语言的?)。