人类大战AI——理解双关语(1)invaluable

60 阅读1分钟

人类大战AI——理解双关语(1)invaluable

When writing software in an OOP language, Value Objects are an invaluable (pun intended) tool in my toolbelt.

这句话来自文章Value Objects in Rust,是文章的第一句话。作者这里特意使用了“invaluable”这个一语双关的词。那我们就来看看文心一言和ChatGPT能否理解这个双关语。

首先是文心一言,字面意思理解正确,但没能理解隐含的意思

双关语invaluage-01.png

用英文提问的结果。另外,“invaluable”没有名词词性吧。

双关语invaluage-02.png

再来看看ChatGPT的表现。ChatGPT也没理解隐含的意思,但简明扼要地解释了Value Object这种设计模式。

双关语invaluage-chatgpt-03.png

英文提问:

When writing software in an OOP language, Value Objects are an invaluable (pun intended) tool in my toolbelt. What does the pun "invaluable" in this sentence mean?

双关语invaluage-chatgpt-04.png

通过通读这篇文章Value Objects in Rust,我们可以发现,文中的示例代码中多次出现了类似下面这样的代码片段

struct EmailAddress {
    value: String,
}

pub struct ViewCount {
    value: usize,
}

那会不会作者特意使用“invaluable”这个词玩了这样一个文字游戏,invaluable可以分解成“in"、"value"、"able"——可以(able)把一个叫做“value”的属性放入(in)结构体中,以此来定义一种新类型。

基于这个猜想,我们给文心一言和ChatGPT一些提示,再看看它们的回答。

双关语invaluage-yiyan-05.png

双关语invaluage-chatgpt-06.png

虽然不知道作者使用“invaluable”的真正意图,但ChatGPT至少理解我的理解了。

chat.openai.com/share/28cdc…