gpt4 book ai didi

real-time - 如果简单地将其视为纯文本,操作转换是否适用于结构化文档(例如 HTML)?

转载 作者:行者123 更新时间:2023-12-03 06:23:05 25 4
gpt4 key购买 nike

Google Wave 协议(protocol)的常见问题解答指出,[HTML]“没有理想的属性”,并且“HTML 使 OT(操作转换)变得困难,甚至不可能”[1]。为什么会这样呢?如果将 HTML 简单地视为纯文本然后应用 OT,会出现什么问题?

  1. http://www.waveprotocol.org/faq#TOC-What-s-the-XML-schema-for-waves-Why

最佳答案

我假设您了解 OT 的基础知识。在纯文本 HTML 上进行 OT 的主要问题是合并 html 标签。举个简单的例子,假设我们有一个文档如下:

Hello world

爱丽丝然后决定世界应该以粗体显示:

Hello <b>world</b>

这可以用 OT 中的双插入操作来表示,示意性地:

Edit A: Keep 6 : Insert "<b>" : Keep 5 : Insert "</b>"

如果鲍勃在看到爱丽丝的编辑之前决定“世界”应该是斜体,他会添加该操作

Edit B: Keep 6 : Insert "<i>" : Keep 5 : Insert "</i>"

如果服务器在 Alice 的编辑之后收到 Bob 的编辑,则需要将 B 针对 A 转换为 B'。

Keep 语句通过转换不会发生变化,但通过 Insert ""转换后的 Insert ""可以变成 Keep 3 : Insert ""或 Insert "": Keep 3。通常服务器将配置为将稍后的编辑放在第一次编辑。

Edit B': Keep 6 : Keep 3 : Insert "<i>" : Keep 5 : Keep 3 : Insert "</i>"

这里问题就很明显了。对原始字符串应用 A 然后 B' 会产生无效的 html:

Hello <b><i>world</b></i>

理论上,这可以通过改变前后插入来解决,但是对于更复杂的示例来说,这会变得很麻烦,可能需要对每个转换进行完整的文档扫描。

正如另一个答案所指出的,可以使用带外注释+纯文本来避免这种困惑。迄今为止我只在学术论文中看到的另一种方法是将 XML 结构视为树,并通过 OT 操作进行节点添加、删除,例如:

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.74

关于real-time - 如果简单地将其视为纯文本,操作转换是否适用于结构化文档(例如 HTML)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10149861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com