Algorithm 一种更好的英文单词缩略算法
我有一些独特的代码,这些代码是从应用程序各个独立组件中的字符串(例如:网站主机名)生成的 这些代码只供机器使用,因此我希望它们尽可能简短 下面的算法将应用于字符串中的每个单词。输出字将与破折号连接以生成唯一代码Algorithm 一种更好的英文单词缩略算法,algorithm,text,nlp,Algorithm,Text,Nlp,我有一些独特的代码,这些代码是从应用程序各个独立组件中的字符串(例如:网站主机名)生成的 这些代码只供机器使用,因此我希望它们尽可能简短 下面的算法将应用于字符串中的每个单词。输出字将与破折号连接以生成唯一代码 The current algorithm I have used: - Skip word if length is less than 6 - Leave first character as is - Remove every wowel in the word fro
The current algorithm I have used:
- Skip word if length is less than 6
- Leave first character as is
- Remove every wowel in the word from the second character onwards
或者,你可以转向语音方法。自动搜索单词的发音,然后查看它是否更短(或者它本身可以被压缩,将“cee”改为“C”,或将“kay”改为“K”)。这将需要更多的时间和CPU密集型,但如果您真的需要简短但可读的代码,这仍然是一个选项。您生成的代码听起来像是一个。有许多库可以为博客或站点生成器处理此问题,这些库应该适合您的目的。下面是一个Python库的使用示例,名为: Slug库通常是这样工作的:
影師嗎 -> 英石马
)C'est déjálété。->C-est-deja-l-ete
)如果你想让鼻涕虫变短,你可以去掉元音,或者更简单地说,使用一个最大长度。你所产生的声音就像所谓的a。有许多库可以为博客或站点生成器处理此问题,这些库应该适合您的目的。下面是一个Python库的使用示例,名为: Slug库通常是这样工作的:
影師嗎 -> 英石马
)C'est déjálété。->C-est-deja-l-ete
)如果你想让鼻音变短,你可以去掉元音,或者更简单地说,使用最大长度。谢谢你的回复。压缩是一个很好的选择,但不可读,而且我永远不需要反转代码。我同意语音学方法很重。需要找到一个中间立场。:)同样值得注意的是,当出现多个单词时,冲突的几率会降低。谢谢你的回复。压缩是一个很好的选择,但不可读,而且我永远不需要反转代码。我同意语音学方法很重。需要找到一个中间立场。:)同样值得注意的是,当出现多个单词时,发生冲突的可能性会降低。
txt = "___This is a test ---"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")