假设您给某人一张卡片,上面有代码"5SBDO0“。
在一些字体中,字母"S“很难从视觉上区别于数字5(如数字0和字母"O")。
大声阅读代码,可能很难区分"B“和"D",这就需要用"B在男孩”、"D作为狗“或者使用"语音字母表”代替。
在大多数情况下,什么是字母和数字的最大子集,它们在视觉上看上去都是明确的,而在大声朗读时听起来则是毫不含糊的呢?
背景:
我们希望生成一个短字符串,它可以编码尽可能多的值,同时仍然易于通信。
假设你有一个6个字符的字符串,"123456“。在基10中,这可以编码10^6值。
在十六进制"1B23DF“中,您可以用相同数量的字符编码16^6值,但这在大声读取时可能听起来不明确。("B“对。"D")
同样,对于任何N个字符串,您都会得到(字母表的大小)^N值。
由于想要很容易地适应人类工作记忆容量的容量,所以字符串的长度限制在大约6个字符。
因此,要找到我们可以编码的值的最大数目,我们需要找到最大的、明确的字母/数字集。我们没有理由不考虑字母go和一些常见的标点符号,但我不想手动地对“G听起来像A吗?”,“G听起来像B吗?”,“G听起来像C”自己。如我们所知,这将是O(n^2)语言工作所做的=.
发布于 2012-03-25 21:14:13
您应该通过视觉相似性将字母数字集划分成组,并从每个组中选择一个“最具代表性”的代表。这在一定程度上是主观的,尽管您可以在上面运行用户测试。你所做的选择也取决于数字是打印还是手写。例如:
同样,用名字发音的语音相似性来划分字符:
当然,这些分区并不是唯一可能的分区,这正是目前人们所想到的。无论如何,它们应该足以让您开始进行进一步的测试。此外,这些都没有任何专业来源的支持-我只引用我的爱好者的背景,在排版和语音。
发布于 2012-03-26 07:52:39
您可以使用机械土耳其让真实的人对26^2对字母的听觉和视觉相似性进行评分。其优点是,您甚至可以以这种方式获取各种本地语言的数据。
发布于 2012-03-26 22:09:08
对于英语,soundex和元电话机算法编码的声音是不明确的。Soundex可能太简单了,但是Metaphone包含了一些优点。你想要序列"OU“吗?这句话可以用多种方式发音,这句话说明了这一点;)
https://softwareengineering.stackexchange.com/questions/141458
复制相似问题