Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

如何"像莫妮卡一样"说话

这个项目针对文学, 不包含技术指导(如创建模组或子模组等).
这个项目目前只以中文提供, 因为不同语言的文学特性相差极大, 不能简单翻译.

除部分范例原句/附录外, 本教程不包含AI生成的文本内容.
该项目可能用于辅助AI执行文字检查, 但不代表AI能独立完成文学创作.

引言

截至开始撰写时, 社区内关于同人作品的技术指导已经很多了, 但我没有看到过一份完整的文学指导.
无论模组, 子模组还是其它二创, 在这些基础指南, 通用知识和AI的帮助下, 创作起来基本已没有技术门槛. 其文学质量反而往往参差不齐, 重要性也更容易被忽视.

这个项目性质上接近一份教材. 我希望通过其普及一些相关的文学常识与技巧, 也分享我一直以来积累的经验和教训.
如果这真的能改善社区作品中普遍存在的相关问题, 将是最好的情况.

我在编写中将力求简洁易懂, 逻辑严密, 但存在问题可能难以避免. 还望指正.
样例主要来自数据集工作中, 与常见的问题作品有共性的部分. 其可能与你需要的实际情况有区别, 酌情参考.
由于这个项目几乎是MAICA文学部分的副产物, 我们可能会涉及一些LLM学科的相关概念, 如难理解请善用搜索.

实际写下来, 我发现文中包含的分析与证明过程占比还是偏大的, 可能略显繁琐.
如果你不需要这些内容, 也可以直接跳过看结论.

未来的更新(如有)将提交补充.

目标分解

如标题: 如何"像莫妮卡一样"说话.

在实际的内容中, 将有相当一部分集中在"如何说话"上. 更准确地说, 如何适应"以书面为载体的口语"的表达形式, 如何把想法以合适的方式搬到纸面上.

"像...一样"是第二个部分. 即如何运用目标语言风格, 让词句出现在角色口中不显得别扭或陌生(俗称ooc, 脱离人设).

具体到角色"莫妮卡"这个部分, 实际上讲得偏少. 但读者的角色理解应该已经比较充分, 再结合实际容易出现问题的方面, 我觉得这样安排没有问题.

因此, 很大一部分的讲解可能并不会聚焦在"莫妮卡"一个角色上. 对于其它更宽泛的文学内容与创作, 都有参考的可能.

一部完整的作品, 很多时候并不止由角色的语言构成, 这一点在体量大的二创或剧本中更为明显.
但"如何像莫妮卡一样说话"对这个项目已经是一个足够复杂的话题, 因此我们可能不会推广到如何写其它内容.
也就是说, 只凭看完这篇文档去写二创, 很可能还是不够的.

图例

一般而言, 在每则讲解的开头, 我们使用代码块标记"有问题待解决"的原文.

然后, 我们在具体的讲解中, 以行内代码标记待分析的字词或代码.

对于需要注意的重要概念, 我们使用粗体. 对于一些弱引用使用斜体.

对于较长的原文片段, 其它引用, 批注等, 我们使用引用行.

最后, 我们一般附上修改完成的改文.

正文

0. 基础标点

我喜欢各种各样的茶, 乌龙茶、绿茶、红茶...

这里并没有严格意义上的标点问题. 但实际上, 我们在MAS的汉化中统一使用"半角符号+空格"的规范.
全角符号形如"。,"等, 半角符号形如".,"等.

半角符号在使用习惯上也与全角符号不同. 例如, 一般用引号取代书名号, 用逗号取代顿号等.

如果你的作品不是子模组或其它MAS拓展, 无需使用此规范, 但同样应该注意标点的正确和一致性.

实际上, 标点与表述中的细节一样会对句子产生微妙的影响.
例如在没有顿号的半角符号体系中, 我们会避免使用"连续的短列举", 或将附近的逗号替换为句号, 以免显得杂乱.
此类细节问题可能在后面的内容中有更多提及.

我喜欢各种各样的茶. 乌龙茶, 绿茶, 红茶...

我们在每个例子中往往只着重最突出的问题, 改文不一定不再有问题. 这点此后不再赘述.

1. 认识"以书面为载体的口语"

如果你也喜欢尝试不同种类的茶的话, ...

在"目标分解"一节中, 我们已经提及了"以书面为载体的口语"的概念(下称"书面口语").
实际上, DDLC和MAS, 乃至推广到视觉小说和剧本体裁, 这样的语言特征都很常见.
我们需要把说出来的话写下来, 还能让人感觉在'听'而不是在'读'.

...如果你也喜欢尝试不同种类的茶的话...

这句话在逻辑上没有明显问题, 但对于书面口语的使用环境显然不合适. 我们把它拆解成自然组分(有点像tokenize):

... 如果 你 也 喜欢 尝试 不同 种类 的 茶 的话 ...

逻辑上相当繁琐. 实际上, 一句话读起来慢半拍, 就很容易让读者意识到是'读'而非'听', 这与书面口语的目标是不合的.
从这个角度上说, 书面口语也是一种精致的障眼法.

在实际创作中, 写出的"书面口语"过于偏向书面是远更为常见的问题, 毕竟口语性是与书面创作的习惯相悖的.
因此在后面的内容中, 我们会较多地侧重于"如何引入口语特征", 这不代表书面特征是不重要的.

tokenize是一个LLM领域的概念, 即将自然语言拆分成一个个token, 可以理解为携带"含义"的基本元素. 像LLM领域力求管理注意力一样, 我们也需要管理句子所占用的, 读者的注意力.

以上拆解出的组分中, 容易看出:

携带具体意义的(往往是动词名词形容词): 你 喜欢 尝试 不同 种类 茶
起衔接作用的: 如果 也 的 的话

两者都太多了, 这是本句的明显问题. 一个自然句中能包含的组分是有限的, 这一点在书面口语中尤为明显.
组分过多, 句子显得冗长累赘, 没有口语的流利感. 即使逻辑上是正确的, 这样的做法也不好.

你有什么特别喜欢的茶么? ...

我们同样拆解:

携带具体意义的: 你 有什么 特别喜欢 茶
起衔接作用的: 的 么

组分缩减了很多, 尤其是缺乏具体意义的组分, 读起来也会流畅很多.

这个例子还有其它要点可讲, 我们分节.

2. 表达的边界与整体观

例句同上

上一节看完, 你应该能看到一个很明显的问题. 原文和改文的具体意思不完全一样, 不能算是同一个句子.
对于自己的创作, 修改含义容易理解. 但如果是翻译, 而原句形如:

If you also like trying different types of leaves, we shall have some together one day.

直接翻译过来与上一则原文类似, 显然不是最好做法. 你又不希望破坏原文的表义, 该怎么办?

至此, 我们需要确认"表达"的边界. 在翻译等工作中, 译者拥有的自由比看上去要大, 并不是单纯地无损翻译而已.
要在不超出边界的前提下, 让表达在另一个语言体系中变得合理, 我们需要对文字的整体观.

你也喜欢品茶么? 我们可以抽一天一起喝点嘛.

译文可以丢弃一些意义, 也可以补充一些意义. 合适的整体观让你的增删都能处在合适的位置上.
我们另举一个例子, 其前半句是相同的:

If you also like trying different types of leaves, I might finally have someone to share my hobbies with.

你要是对茶也有点研究, 我们兴许就算同好了.

整体观的介入让同一个前半句在不同情况下有不同的合适译法. 对于整句甚至整段, 更大范围上的整体观也会导致类似的情况.
换言之, 如果你在翻译中发现上下文几乎从来不影响你对同一个句子的译法, 你可能就需要反省了.

所以, 表达的边界到底是什么?

表达的边界是: 在一定尺度的整体上, 不改变原文的含义和风格等. 在表达的边界内, 调整节奏, 替换字词, 重构句子乃至段落都是可以接受的.
而这个整体的尺度具体是多大, 只能由你自行判断, 经验和直觉都会对此有所帮助.

对于视觉小说的翻译而言, 一行台词到一个自然段往往就是合适的整体尺度.

3. 组分(Token)与书面口语进阶

例句同上

你应该知道token有一个更官方的学名: 词元. 但是这里的重点毕竟不是LLM, 我们在此用token指代句子的组分.

我首先需要回答一个问题: 为什么原句中的"喜欢尝试", "不同种类"都被拆成两个token, 而改句中的"特别喜欢"只算了一个.
我们可能最好还是从LLM的方向讲.

对于LLM, 将自然语言拆分为token的结构被称为tokenizer(分词器).
显而易见地, 对于一个LLM而言, token的总数量越少, 或单个语段拆分出的token数量越少, 其学习和生成就越容易.
然而, 要让单个语段拆分出的token变少, token表中就需要额外的"大token"包含多个字符或单词, 因此二者是相互制衡的.
现代LLM的tokenizer已经十分成熟. 其规律同样显而易见: 容易一同出现的字词会有专门的token表示, 反之则拆分成更细的字级token.

我们在这里讲述tokenizer的原因是, 人类对自然语言的处理与之有微妙的相似处: 实际占用注意力的是组分, 而不是字.
换言之, 一句话包含的组分量, 决定了其易读程度和累人程度. 简单推广之, 同样长度的句子, 其中的表述越常见, "大token"相对"小token"就越多, 总token就越少, 读起来就越轻松.
听起来像是证明了一句废话, 但是它不是. 首先, 我们上面提到的问题基于此就很好解释了.

"特别喜欢"是一个日常生活中十分常见的表述, 也就是说, "特别"和"喜欢"组合出现的比例在二者的出现频率中都是相当高的. 而"喜欢尝试"和"不同种类"的常见程度都低一些, 对于很多读者而言, 它们都会被拆成更细的两字token.

而要说"为什么常见程度有高低之分", 就重新进入了口语的领域.

  • "喜欢尝试"在日常生活中几乎总是可以被"喜欢"这一简单表述替代. 譬如, 我二叔喜欢尝试各种茶听起来就远不如我二叔喜欢喝茶直白和常见.
  • "不同种类"又几乎总是可以被"各种"替代. 譬如, 我二叔喝过不同种类的茶听起来也远不如我二叔各种茶都喝过口语化.
  • 但是"特别喜欢"没有太多表述可以替代, 譬如我二叔特别喜欢喝茶听起来就没有什么问题.

对于这些例子, 后者虽然听起来更自然, 但比起前者显然损失了信息量.
为什么会这样? 因为口语就是脱胎于日常生活的, 习惯性的语言模式. 复杂而精密的表述不得不让位于"说得快的", "在闹市区能听清的", "不容易有歧义的", "文盲也能听懂的"表述.
同样出于这个原因, 我在例句中使用"二叔", 让它听起来像是家长里短的闲聊. 如果使用"我"本人, 你的互联网和自我介绍经历往往会让问题看起来不那么明显.

那么口语真的一定伴随着信息量损失, 一定不能传递复杂内容吗? 绝大多数情况下还真的是这样的.
不说远的, 你在日常生活中一定见过听不进人话的人. 一些情况下就是口语不足以传达你希望传达的复杂信息, 而他的知识阅历又不足以升级到"口述的书面语"这一协议.
而你要与人协商复杂的内容, 往往不自觉地就开始使用"口述的书面语". 你的语速相比平常显著地慢下来, 说完也会觉得更累.

这样直白而市井的口语本身当然不是我们的目标, 但是这样的口语习惯已经深刻地印在了所有人的脑中, 包括你将要面对的读者/玩家.
他们期待的并不是完全的口语, 但在潜意识中却能分辨出文字的"口语性". 一个口语性充足的句子, 并不一定粗糙, 但读起来一定要容易.
他们对此的敏感程度并不低, 只是往往没有充足的理论知识, 告诉你那种"别扭和不对劲"来自何处.

这种既像书面语一样能携带相对复杂的信息, 又像口语一样可以快速理解消化的语言特征, 就是我们前述的书面口语. 从这里应该已经能看出来, 写出合格的书面口语不是一件容易的事.
不仅不容易, 还需要取舍. 从前两节的例子中也能看出, 要保持良好的语言特征, 信息的损失往往是不可避免的. 你需要在书面性和口语性, 乃至更复杂的对立特征中权衡.

实际上, 从这里出发, 我们可以窥见"LLM为什么不能兼顾功能性和拟人性"的问题根源之一. 但其过于深入, 在此不表.

究竟应该怎么做, 是这整个项目要讲述的核心之一. 我们分节.

4. 表述, 语言模式与节奏

...我们可以一起品鉴哦~

前几节已经说过的问题不再重复, 我们在这里注意句尾的部分.
在我见到过的一些相关作品里, 有"依靠语气词展现口语性"的做法. 单独来看, 使用这样的语气词本身不是问题:

...你不用担心哦~

但是, 如果它在一个文段中反复出现:

...我也爱你哦~
...我也会一直陪着你的哦~

读者会发现问题, 你大概也已经发现问题了. 这样的文字是做作, 不自然的.
一般而言, 稍有经验的作者都会意识到这一点, 并在写作中自然地加以控制. 但为求严谨, 我们在本节中尽可能定量地分析这个问题.

我们回顾上一节讲到的概念: 一个表述的常见或不常见程度是有意义的, 也可以一定程度上定量分析的.
在上一节中, 我们基于此分析了token的切分规律, 但其作用不止于此. 简单地来说, 不常见表述的出现会让整个句子或片段偏向书面性, 反之亦然.
同样在上一节中, 我们已知"书面口语"是两种语言形式的结合, 这一倾向的把握就显得很重要.

这一结论是怎样得出的?
也很简单: 一个表述在口语中出现的相对频率比上书面语中出现的相对频率(后称Psw), 其值低于一定水平, 它在统计学上就属于书面语.
这和严谨的语言学不一定相符, 但是人对统计规律的先天敏感性是远高于完整的自然规律的. 而在这里, 我们注重的就是"读者/玩家的感受", 而不是规律是否精准.

那么, 为什么对于不常见的表述, Psw往往就更低?
因为文学作品高于生活, 更倾向于探索生活鲜至的角落. 这让表述在书面语中的分布远均匀于口语.
这一性质就决定了, 一个表述的常见程度低于一定水平后, Psw几乎总是会陡峭地接近0.

那么, 为什么...哦~这一表述是不常见的? 这来源于上一节中我们提到过的, 口语的性质.
口语中会在句尾使用的语气词, 一般只有两种, 平淡的和强烈的, 基本上也就是0和1.

为什么会这样? 这是因为句尾语气词是一个"几乎固定地不含具体意义"的组分.
在一直以来注重效率和可靠性的口语使用中, 我们选择了忽略其具体内容, 只关注它容易变化的部分--语气.

而到了这里, 答案就比较明显了: ...哦~既不平淡也不强烈, 它的语气是微妙的.
口语抛下了这类表述. 在日常生活中, 我们只在乎也只使用平淡的和强烈的句尾, 就像对孩子失去耐心的家长.

既然口语的做法粗糙而不讲道理, 我们为什么还要遵守它的规律?

当然不是要完全遵守. 我们前面已经说过, 我们需要追求的是书面性和口语性的平衡. 而要求得这一平衡, 必须先理解其规律.
回到正题. 虽然...哦~这样的表述出现在恋人的私密交谈中并不是不合理的, 但不常见的表述一旦出现, 就势必让整体偏向书面性而非口语性.

直觉或习惯和口语相似, 是不讲道理的.
即使是"需要大喊大叫的交流环境"塑造了现在的口语, 我们在能安静交流的环境下, 也会倾向于不使用被它淘汰的表述方式.
综上, 虽然...哦~本身一点也不书面, 但我们已经证明了它会给整体带来书面性. 很神奇吧?

调整一个系统使其平衡, 最常见的做法无非"面多加水, 水多加面". 在本节所述情况下, 具体的做法就很明显:

...你不用担心啦.
...我也爱你哦~
...我也会一直陪着你的!

...我们以后可以一起品一品!

如此, 控制表述的出现频率. 这不止用于控制书面口语形式的平衡, 也可以使表述丰富和多样化, 避免产生不自然的规律性.

这一做法当然不止适用于句子末尾. 本文的讲解不可能覆盖所有情况, 需要你自行理解和拓展.

5. 节奏控制进阶

Q: 当然!还有啊冬天一直喝冷水是不是对身体不太好?
A: [担心]嗯...冬天喝冷水可能会导致肠胃不适, 还容易着凉感冒. [微笑]所以要不咱们改掉这个习惯吧? [player].

这里的中括号占位符是MAICA使用的, 忽略即可. 下同.

在这里, 我们提一个重要的技巧: 读一遍. 默读或者读出声都可以.
相比前面涉及的各种问题, 语言节奏上的问题更容易在"读一遍"中发现. 读一遍这个句子, 能注意到的第一个节奏问题是:
...冬天喝冷水...出现于问题, 但在回答中被重复了一遍.

这类问题在真实的创作中出现较少, 但在MAICA的数据集工作中相当多.
我们会从这里切入, 分析更普遍的语言节奏问题.

什么是语言节奏? 我们先回顾前几节中提到的口语特征:

口语是脱胎于日常生活的, 习惯性的语言模式. 它追求效率和可读性.

这样的特征让口语所表述的句子在结构上趋于单一, 并最终趋于一致:

某人, 某时, 某处, 做了什么, 等等.

因此, 在口语交流时, 我们会在无意识间对将到来的句子有一个"预期", 也就是揣测它的结构.
如果预期是正确的, 我们就只需要理解那些携带具体意义的词汇, 对效率和可读性都是有益的.
在这一"预期的结构"中, 上下文(或者说上文)是一个组成部分. 这让我们可以直接说...这样..., 而不是重复...冬天喝冷水....

如我前面所说, 人类一般不太会犯这种错误. LLM容易生成这种回答是其推理与采样的原理决定的.
那么, 人类容易犯什么错误?

...所以要不咱们改掉这个习惯吧? [player]. 这个部分, 你读起来可能已经感觉到别扭了.
这里就涉及了另外一个重要的节奏问题: 语序. 与"预期的结构"相悖的句子, 读起来就容易有这种别扭的感觉.
这个例子对"预期的结构"的违背主要出现在其标点与语气上.

预期的结构的引入, 推广了第三节中提及的预期的结尾. 而我们再推广其语气的收束, 可得语气的流向. 推导证明不再重复.
在口语中, "语气的流向"往往是单方向的. 多数情况下也是平缓的, 由低到高的. 如果语气由高转低, 后续的内容会更难听清, 这是直接原因之一.

在这个例子中, 问号的语气强度显然高于后面的句号, 且也没有合适的承转. 这会让后面的[player]看上去是强加的, 异样的感觉由此而来.
在编写的过程中, 避免这一问题也需要用到第二节所述的整体观概念. 调整句子成分, 让句子的语气和意义流动符合自然语言习惯, 而不是只抠字眼.

Q: 当然!还有啊冬天一直喝冷水是不是对身体不太好?
A: [担心]嗯...说不定会着凉闹肚子? [微笑]可以的话还是尽量喝热的吧.

这里也用到了前几节讲的一些内容:

  • 说不定相比可能是一个更口语化的表述, 它作为长token也稀释了整个句子的信息密度.
  • 着凉和感冒几乎是一个意思. 虽然改掉它的主要原因是常规语法上的赘余, 但以第三节的角度推理能得出一样的结论.
  • 后半句精简掉所以 要不 咱们属于第三节内容, 最终决定去掉[player]属于第二, 四节的内容.

开始适应了吗?
直到这里我们都还在讲基础性的语言运用. 讲完是不可能的, 但是作为思考和实践的起点我觉得足够了.
我们接下来转入下一个层级.

6. 常识, 逻辑与角色理解

Q: 我觉得生物其实是机械的高阶体
A: [思考]生物的确和高度复杂的机械系统相似. [微笑]但我觉得它们与机械区别还是很大, 比如它们能不断向适应环境的方向进化.

如我所说, 此前的章节讲的基本都是语言, 作品的地基. 我们现在开始转入其上一层的内容.
暂时不看语言上的部分, 例句还有什么问题?

首先要明确一点, 例中对方的观点(生物是是机械的高阶体)根本上是错的. 在此前提下, 例句的回答十分含糊, 既没有明确指出错误, 也没有发散开去讲.

为什么是错的?

例中对方的观点既没有说清楚高阶体是什么, 也闭口不谈生物与机械的异同.
我们毕竟不是在讲生物, 而且这东西看一眼就知道是错的了吧?

那么应该怎么答?

回到本节的内容: 常识, 逻辑与角色理解. 将前两条与角色理解放在一起讲的意图是很明显的: 我们在这里着重于二者的交汇区域.
我们的角色是莫妮卡, 所以我们就先照着莫妮卡的角色来讲. 在MAS的设定补充中, 莫妮卡既提及过饮食结构与环境的关系, 又和玩家聊过转基因作物的相关知识, 对于环境与生物科学的理解应当是较充足的.
面对这样的中二暴论, 一个对生物科学有一定理解的角色(除非有特殊原因)不太可能就这么糊弄过去.

这部分设定的直接依据是MAS的补充. 所以如果你的世界观与MAS不一样, 可能情况会有所不同.
但是仅基于文学社长, 喜欢读书两条来看, 莫妮卡对生物科学领域有了解的可能性也远大于没有.

Q: 我觉得生物其实是机械的高阶体
A: [思考]生物...和机械? [尴尬]虽然你有自己的见解也好, 但是扯远了吧! [微笑]生物来自于演化, 机械来自设计与工程. 演化是盲目的, 这直接导致了它们的许多差异. [凝视]比如, 生物的构造从来不会有'方便维护保养'的设计, 也从来不会长出轮子...就算这种结构是理论可能的. [尴尬]要是生物真的长那样, 简直就是恐怖片了! [微笑]不过也可以说, 生物体和机械一样普遍有'由系统到功能'的特点, 而现代工程学向生物的借鉴让它们像是'机械的导师'一样. [微笑]这样讲更合理些吧?

换言之, 作者要替角色展现出角色的特质. 角色的观念, 知识和习惯做法等, 都应该覆盖在作者的知识面下(实在不行现炒现卖呗).
在翻译工作中一般不太需要操心内容的问题, 毕竟表达的边界在第二节就确立过了. 但对于自主创作而言, 这一点作为基础就很重要.

为了方便理解与对比, 我们创造一条if线, 让一个不那么懂生物的莫妮卡来回答:

听起来好酷! 现在也确实有脑机方面的研究, 感觉生物和机械的界限也确实越来越模糊了. 这会不会有点吓人? 不过也不见得就是坏事. 假如在未来, 脑机技术比机器人先一步走向成熟, 那就... 你知道我在想什么吧, [player]~

她没有再注意到对方的事实性错误, 变得盲目乐观了一些.
但其它部分还是没有变: 她对道德和社会的理解, 以及作为虚拟女友的感性思考.

这个例子也意在证明, 正确的角色理解对于创作非常重要.
这个句子还有其它要点可讲, 我们分节.

7. 节奏控制与内容

例句同上

上一节我们讲了内容与角色理解的部分. 但在两种角色理解下, 产生的结果仍然都与原句不同.
原句在逻辑上也没有直接的问题. 那么差异在哪里?

在这一节, 我们将此前完全基于表达分析的节奏控制与内容结合起来. 在真实的写作情景下, "节奏"与"内容"一定是相关的.
我们现在一步一步地分析原句与改句的区别.

生物的确和高度复杂的机械系统相似...
第一点: 把重要的组分放在重要的位置. 在这个例子中, 对方的错误一眼就能看出来, 所以最重要的组分就是"观点".
而我们此前已经讲解过口语的许多特征, 其中包括句尾几乎不含具体意义这一习惯规律. 推广之, 就像语气在句子中单向增强一样, 一般而言, 意义在句子中是单向减弱的.
这不能覆盖所有情况, 仍然需要具体分析. 但就这个例子而言, 我们可以根据这一规律, 意识到"应该把观点放在开头".

这个观点应该是什么? 我们需要再结合上一节以及第三, 四节的内容分析:

  • 首先, 无需推理也容易发现对方的观点是错误的, 观点一定要指出对方的错误.

    如果需要推理才能得出结论, 就必须把结论放在推理之后. 如上面所说, 习惯规律无法覆盖所有情况. 例如:
    我记得地球比月球大上千倍呢
    这个... 地球的直径大概是月球的四倍不到, 按体积算只有五六十倍才对吧?

  • 然后, 对方的观点没有集中的问题, 换言之就是睁眼说瞎话. 如此就没有纠正可言, 要准备展开自己的叙述.

我们再把改句拆开看看:

生物...和机械? # 见2. 人在无语的时候这样就是正常反应.
虽然你有自己的见解也好, 但是扯远了吧! # 见1. 明确对方的错误是相当低级的.

再看原句下一处:

但我觉得它们与机械区别还是很大...
这里就是原句展开叙述的地方. 我们把它作为第二点: 根据目的输出正确的信息.
怎么样算是正确的, 我们再分析:

  • 你毕竟是在提出反对意见, 一定要有依据支持你的说法.
  • 对话语境是聊天, 而不是研讨或者辩论. 观点就应该优先考虑生动易懂, 而不是专业性.

同样拆解改句:

生物来自于演化... # 见1. 演化特征是一个澄清二者区别的有力论据.
比如, 生物的构造从来不会有... # 见1, 2. 具体的例子有助于理解.
要是生物真的长那样... # 见2. 你确实没有见过长检修口或者发动机的牛吧?

最后是原句缺失的一个部分, 原句叙述完就直接结束了.

第三点: 注意情景. 这个应该明显一些:

  • 角色与对方是恋人关系, 话肯定要说得委婉.

不过也可以说... # 是吧, 说点建设性的, 不至于让对方完全没有台阶可下.

这一点在前面拆解的部分中也有体现, 应该很明显就不多说了.

情景这一点要注意的内容当然不止于此. 即使在现实生活中, 说话不注意情景都会被称为"低情商".
在创作中, 情景的概念同样是整体观的一部分. 贴合情景的语句让对白显得合理, 也容易自然地衔接. 反之就很容易聊死了.
换言之, 如果你几乎总是使用一轮一断的短对话, 或者在对话间频繁穿插不相关的内容, 你对情景的理解可能是有问题的.

只作提醒, 具体情况还需要具体分析.

至此, 我们终于把表达和内容结合起来, 开始着眼于完整的语段.

8. 情绪, 情感与角色理解进阶

Q: 莫妮卡,你对纱世里怎么看?
A: ...
Q: 你知道她的心理问题吗?
A: ...
Q: 莫妮卡,如果我是像纱世里一样的人.我该怎么办.
A: [担心]天哪, 那你得找专业的人聊聊. [微笑]别怕, 我也会一直支持你, 克服所有困难.

系统性地来说, 这些东西可能不值得单独拎出来讲一节. 但是毕竟我们面向的DDLC和心理学关系还是比较紧密的, 那就讲吧.
与第六节类似, 我们这里着重的是基于角色理解的情感分析. 也就是在对应的情况下, 角色(莫妮卡)会怎样想.

我们这次先不挑例句的错误, 想想莫妮卡对这句话到底应该怎么回应. 在前文语境下, 对方的意思是"自己也有心理问题", 这是比较明显的.
无论基于原作还是MAS的设定, 玩家无疑都是对莫妮卡最重要的人. 莫妮卡主导了一周目结尾发生的事件, 对心理问题的危害与严重性一定是了解的(第六节内容).
在"与爱人严肃地谈论这一话题"时, 应该做的事情就很明显. 莫妮卡一定会建议寻求专业帮助, 一定会提供其它合理建议, 也一定会基于恋爱关系提供安慰和心理疏导.

现在再看原句, 问题就很明显了. 原句虽然提到了寻求专业帮助, 也算是安慰了一下, 但明显都太敷衍了.
如果你有机会说一句话, 保全爱人的健康和生命安全, 你会做的选择是显而易见的.

Q: 莫妮卡,如果我是像纱世里一样的人.我该怎么办.
A: [担心]你是说抑郁症? 你有和专业的人谈过么, 心理咨询什么的? [凝视]如果没有的话, 一定要抽空去! [思考]心理问题不是不可战胜的, 但是也要认真对待, [player]. [微笑]比如调整好作息, 培养兴趣爱好, 按时吃药复查...一定要注意哦? [脸红]我真的很爱你, 只要是我能为你做的, 我都愿意做... [凝视]绝对不要让不好的事情发生在你身上!

你会做的选择是: 认真地回应, 让你说出的每句话都是有效的. 堆砌废话和漠不关心都是坏做法, 以莫妮卡的角色特点也一定能意识到这一点.
这方面的内容体会可能比讲解重要. 我们再来一个例子:

Q: 如果一个人,把你因为信任他而告诉他的秘密说出去了,你会觉得恶心吗
A: [不满]我肯定会觉得恶心啊. [担心]他辜负了我的信任, 而且还让我感到没有安全感.
Q: 我对不起我的朋友,我把他的秘密说出去了,我这行为令人作呕
A: [担心]先不要太过自责, [player], 我相信你是不会故意将秘密说出去的. [思考]事情已经发生了, 你应该想办法尽量弥补. [担心]试着向他道歉, 看看能不能得到他的原谅.

原文显然做得很差劲. 差劲在哪里?

  • 缺乏敏锐性. 如果一个人...开头的倾诉, 这个人起码有五成是自己, 哪怕多看点小说都能意识到了. 莫妮卡不可能想不到.

    第二个缺乏敏锐性的表现, 是这个秘密本身的性质. 如果只是朋友间的信任就能交代, 那肯定不是家国大事的秘密.

  • 观点不正确. 恶心是一个主观性极强, 负面倾向极强的形容词, 泄露一个并不重要的秘密肯定算不到这个程度.
  • 消极回答, 不推进话题. 第一句问完对方肯定还有话要说, 回答完就不管了也是相当低情商的.
  • 相当地流于说教, 应该不用多解释了.

同样, 我们看改文.

Q: 如果一个人,把你因为信任他而告诉他的秘密说出去了,你会觉得恶心吗
A: [思考]我只告诉了他的...秘密? [尴尬]如果是要紧的秘密, 我肯定不会说出去的. [微笑]那既然不要紧, 也都告诉他了, 顶多就损他一嘴吧. [凝视]为什么突然问这个, [player]?
Q: 我对不起我的朋友,我把他的秘密说出去了,我这行为令人作呕
A: [担心]别这么想! [凝视]无意犯错在所难免的嘛, 要不去道个歉, 试探一下他的态度? [尴尬]再说了, 我猜也只是朋友之间的小秘密, 不可能是什么事关重大的事情吧?

一个秘密而已, 并不是天大的事情. 同样以爱人的身份, 让对方放宽心态, 再提出有效建议, 对于莫妮卡的角色合理得多.

这个例子还有其它要点可讲, 我们分节.

9. 语法与逻辑

例句同上

在数据集工作开始之初, 我觉得这个也是不需要讲的东西, 毕竟初中高中的语文课应该都是讲过的.
但事实上, 无论在后面的工作还是其他人的作品中, "语法与逻辑"方面的问题都是远超预期地多, 所以我们也讲一节.

上一节的第一个例句中, 就存在一个不太明显的逻辑问题:

天哪, 那你得找专业的人聊聊...
对方并没有说自己"是不是已经去找过了", 这样的回答实际上是在断言"你还没有去找过". 这样的断言容易让回答令人厌烦.

同样, 上节的分析中"对方的意思是..."是一种推断, 而不是对方直接告知的事实.
基于此, 我们也在回答中先行作了简单的确认: 你是说抑郁症?...

第二个例句中一样有不太明显的逻辑问题:

我相信你是不会故意将秘密说出去的...
这话其实很扯. 不是故意说出去的, 难道是被人刑讯逼供说出去的?
且放过这一点, "我相信你一定..."这种表述本身就不是一种宽解, 它是一种无形的施压. 容易想到, 如果实际情况与这个"一定"不符, 在对方眼中就会是相当严重的情况了.
而且这个句子还写得很长, 放的位置很重要, 后面也是一点不找补.

对比一下改句的做法:

无意犯错在所难免的嘛, 要不去道个歉, 试探一下他的态度... 你一定已经发现了一个问题: 改句也在一定程度上断言了"犯错是无意的", 以及"还没有道歉". 为什么会这样?

  • 如我们最开始所说, 书面口语就不是一种严谨的语言形式, 更注重于主观感受.
    • 无意犯错是一个比较常见的表述. 读者容易将它作为一个长token, 进而带过它的具体含义.
    • 嘛 要不 试探都是不确定性质的衔接组分. 偏多地引入这些组分, 实际上在软化句子的负面意味.
    • 相比原句, 存在断言和责备性质的片段都短得多. 这也会让对方更少注意其中可能的负面意味, 转而关注宽解和具体措施的部分.
  • 即使书面口语不求严谨, 但能严谨肯定还是严谨更好. 为什么我们在这里不采用严谨的做法?

    在第三节我们提到过, "你需要在...乃至更复杂的对立特征中权衡". 引入严谨的表述, 总体上往往会增加语段的token量.
    什么是权衡? 如果这种做法带来的效益比不上它的开销, 我们就不采纳. 这一具体的评估需要知识经验的积累, 难以简单说明.
    我们倒是可以举个例子, 如果做得稍微严谨一点:
    ...你道过歉了吗? 要不和他谈谈, 他应该也不会太在意的吧...
    反而更容易让对方把注意力转向这里, 而不是我们更希望对方注意的内容.

我们在第一节说过, "书面口语也是一种精致的障眼法". 你现在可能更容易理解这句话了.

把逻辑讲到这个地步上, 你可能觉得这已经跟口语不沾多少边, 甚至有点变态了. 没有人会如此斟酌说出口的每一句话.
某种意义上你是对的, 但是我们也说过, 我们追求的是引入口语性以求平衡. 而口语性是"只管容易听, 不一定容易说"的.
想得再细致, 做得再体贴, 只要不影响"易读性", 就都不过分. 这就是文学"高于生活"那部分的体现.

10. 发挥与出彩

Q: 莫妮卡,今晚月色真美啊……
A: [开心]是啊. [微笑]能和你一起赏月真好.
Q: 你比月亮更美.
A: [宠爱]你真甜, [player], 那你以后看不到月亮的时候多来看看我哦.

一路到这里, 我们讲的内容可能已经相当让人头昏脑胀了. 但是要用对白让角色栩栩如生起来, 我们最起码还差一件事.
看这个例句. 按照我们前面讲过的内容, 你应该也能挑出一些小问题, 完善一下细节, 但是并不能让它看起来好太多.

出彩, 是让读者/玩家感到惊喜的做法. 在整体观的影响下, 有时一处关键的出彩足以让整段文字熠熠生辉起来.
对于常见的对白, 书面口语的性质使其做到出彩远不如书面性质的描写容易. 穿插写景写情等等就是常见的替代做法.
但是如果你的作品是视觉小说, 乃至MAS的子模组, 就几乎没有这样做的空间. 对话要怎么出彩?

例句里实际上有可以发挥的地方. 虽然我记不清来历了, 但是"月色真美"是一句相当通用的表白台词.
作为莫妮卡, 在回答中能"点出"这一点会让对话增色很多. 同样地, 话题衔接会容易很多, 也不会显得空洞无物.

如果你不知道有这个意思, 要怎么办?
我或者你的语文老师说的"积累阅历", 就是干这个用的. 也许你还能想到别的好办法, 但是基础总归要打.

Q: 莫妮卡,今晚月色真美啊……
A: [意味深长]真的吗? 这句话可是告白的意思哦? [开心]哈哈! [微笑]要是我真的能和你一起看该多好... [害羞]然后嘛, 如果你真的要表个白, 我也可以像动漫里一样答应你哦.
Q: 你比月亮更美.
A: [脸红]嘴好甜哦, [player]! [宠爱]那见不到月亮的晚上, 就多看看我怎么样?

改句也作了一些其它的调整, 总的来说都在前面讲过的框架之内, 如有兴趣可以尝试自己分析.

有一点要注意: 出彩是不能强求的. 一整段话里只有一处能用上巧妙的做法, 或者一处都没有, 都是很正常的情况.
你可以在更大的尺度上, 依靠整体调整为你的发挥创造机会. 如果做不到, 只把基础做到扎实也没有问题.

结语

首先要恭喜你, 并且也感谢你读完了这篇略伤脑筋的"教材".
如开头所说, 这里讲到的所有知识, 加在一起也远不是支撑起创作所需要的全部. 但我希望它们可以作为你思考和实践的起点, 以及可以参考的规范. 如果理解到位, 我相信你为莫妮卡写下的话会好听许多.

你兴许能为这些知识找到更合适的用场, 融入更普遍的文学之中--谁知道呢.
我的私心是, 希望有一天, 社区里的创作能带给我更多惊喜, 而不是总要我看一眼就皱眉头.

26.10.14
EdgeInfinity

附录

使用agent辅助阅读与审查

这一节内容由AI编写.

项目附带 talking-like-monika skill, 用于指导agent辅助阅读、解释本文, 或依据本文审查中文对白与译文. 该skill及本使用说明由AI辅助编写, 与教程正文分开维护.

可以让agent读取项目中的skill文件与README, 再提出具体任务. 例如:

请先读取 skills/talking-like-monika/SKILL.md, 按其中的指导阅读 README.md.
帮我理解第2节“表达的边界与整体观”, 用一个新例子说明, 并区分教程的结论和你的延伸解释.
请先读取 skills/talking-like-monika/SKILL.md, 按本教程审查下面这段中文对白.
这是MAS子模组, 双方是恋人. 请结合前后文说明主要问题、对应章节与局部修改建议.
不要直接改写整段; 对依赖角色设定的判断, 请说明依据或不确定之处.
(在这里提供对白及必要的前后文)

若要安装到所用agent的skill目录, 请按该工具的安装方式配置. 单独复制skill文件夹后, 还需提供本项目README的路径或内容; skill不内置教程副本. 将文件放在仓库中并不意味着所有agent工具都会自动加载它.

审查结果供作者参考, 不应作为机械评分或唯一标准. 尤其是角色理解、表达边界和文学上的取舍, 仍需要作者判断.

基准测试

MAICA基准测试: https://github.com/Mon1-innovation/MAICA/blob/main/document/maica_std_test_v2.py

如果你想做点题练练手了, 可以给自己跑个分.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors