【问题标题】:Hyphenating arbitrary text automatically自动连接任意文本
【发布时间】:2014-12-31 23:39:36
【问题描述】:

自动断字面临哪些挑战?似乎你可以一个字一个字地画,当行的长度超过视口的长度(或者我们包装文本的任何东西)时中断,在尽可能多的字符之后放置连字符(至少提供两个字符合适且单词至少为四个字符),跳过已经包含连字符的单词(不要求单词必须连字符)。

但我注意到 Firefox 和 IE 需要一个字典才能与 CSS 的hyphens 连字符。这似乎意味着我们可以在哪里放置连字符还有其他问题。

这些是什么类型的问题?是否存在于英语中或仅存在于其他语言中?

【问题讨论】:

  • 连字符可能被任意放置在正确的文本中(与推文、快速电子邮件等不同)。它们应该放在音节之间,并且不要在任何一行留下太少的字母。字典提供音节分隔符。
  • 另外,贪心算法可能不会产生最佳结果。例如,如果有一个很长的不可中断的单词,如果您有意提前中断一些行,您可能会发现行长度更均匀。

标签: language-agnostic linguistics


【解决方案1】:

所有语言都有这些问题。正如已经指出的那样,您只能在拆分产生有意义的标记处放置一个连字符。例如,您不想拆分“wr-ong”之类的单词。

这可能是也可能不是音节,而在大多数语言(包括英语)中是。但主要的一点是,你不能仅仅通过一些简单的规则就可以轻易地确定它。您需要考虑大量音韵才能获得高度准确的结果,而且这些规则因语言而异。

在这样的背景下,我可以理解为什么要使用字典了,坦率地说,作为一名计算语言学家,这也是我可能会选择的。

如果您确实想寻求自动解决方案,我建议您对英语音节音节或所谓的音节进行一些研究。您可能想从 Wikipedia 上的这篇文章开始:

Wikipedia - Syllabification

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多