使用 Google Cloud Natural Language API 教机器掌握细微之艺术
I’m happy to translate the article for you, but I’ll need the text you’d like translated. Could you please paste the content you want converted to Simplified Chinese? Once I have it, I’ll keep the source line unchanged and preserve all formatting, markdown, and technical terms as requested.
1. 实体的力量
传统搜索查找字符串。自然语言 API 查找 实体。请看下面的请求和响应。
Request
{
"document": {
"type": "PLAIN_TEXT",
"content": "Masashi Kishimoto is a Japanese manga artist who is best known for creating the Naruto series, which became one of the best-selling manga in history."
},
"encodingType": "UTF8"
}
Response
{
"entities": [
{
"name": "Masashi Kishimoto",
"type": "PERSON",
"metadata": {
"mid": "/m/01v8_m",
"wikipedia_url": "https://en.wikipedia.org/wiki/Masashi_Kishimoto"
},
"salience": 0.82,
"mentions": [
{
"text": {
"content": "Masashi Kishimoto",
"beginOffset": 0
},
"type": "PROPER"
}
]
},
{
"name": "Naruto",
"type": "WORK_OF_ART",
"metadata": {
"mid": "/m/01_f69",
"wikipedia_url": "https://en.wikipedia.org/wiki/Naruto"
},
"salience": 0.12,
"mentions": [
{
"text": {
"content": "Naruto",
"beginOffset": 64
},
"type": "PROPER"
}
]
},
{
"name": "manga artist",
"type": "COMMON",
"salience": 0.05,
"mentions": [
{
"text": {
"content": "manga artist",
"beginOffset": 32
},
"type": "COMMON"
}
]
}
],
"language": "en"
}
我向 API 提交了一句关于岸本齐史的句子,它不仅仅识别出一个名字。它:
- 将他识别为 PERSON(人物),并链接到他的 Wikipedia 页面。
- 将 Naruto 分类为 WORK_OF_ART(艺术作品),并提供相应的 Wikipedia 链接。
- 为每个实体计算了 Salience(重要性)分数。
什么是 Salience?
一个介于 0.0 到 1.0 之间的值,表示实体在文本中的中心程度。这使您能够自动概括文档的真实主题,而不是仅仅列出所有提到的名称。
metadata 字段同样令人印象深刻。API 提供了 mid(机器 ID),它链接到 Google 知识图谱,使您的应用无需自行构建数据库即可即时获取丰富的上下文信息。
2. 情感 vs. 强度:情绪的体量
大多数情感分析只返回一个“正面”或“负面”得分。Google Cloud 增加了另一维度:强度(Magnitude)。
| 指标 | 含义 | 范围 |
|---|---|---|
| 分数 | 极性(正面 vs. 负面) | -1.0 to 1.0 |
| 强度 | 表达的情绪强度 | 0 to ∞ |
示例 – 一条评论:
“食物很棒,但服务员非常粗鲁!”
一个简单的工具可能会把它平均为 中性 (0.0)。然而,自然语言 API 会显示 高强度,表明情绪强烈且相互冲突。这种信号仅靠基本得分是无法捕捉的。
3. 颠覆者:实体情感分析
- 产品 – 正面 (+0.9)
- 服务 – 负面 (‑0.8)
作为开发者,您现在可以构建仪表盘,向业务所有者准确说明需要改进的地方。与其模糊地说“客户不满意”,不如提供可操作的洞察:“客户喜欢乔洛夫饭,但服务需要改进”。
4. 多语言支持
这个 API 最令人印象深刻的技巧之一是它的多语言能力。我用日文文本进行了测试:
输入
日本のグーグルのオフィスは、東京の六本木ヒルズにあります
响应
{
"entities": [
{
"name": "日本",
"type": "LOCATION",
"metadata": {
"mid": "/m/03_3d",
"wikipedia_url": "https://en.wikipedia.org/wiki/Japan"
},
"salience": 0.23854347,
"mentions": [
{
"text": {
"content": "日本",
"beginOffset": 0
},
"type": "PROPER"
}
]
},
{
"name": "グーグル",
"type": "ORGANIZATION",
"metadata": {
"mid": "/m/045c7b",
"wikipedia_url": "https://en.wikipedia.org/wiki/Google"
},
"salience": 0.21155767,
"mentions": [
{
"text": {
"content": "グーグル",
"beginOffset": 9
},
"type": "PROPER"
}
]
}
// …
],
"language": "ja"
}
如果不指定语言,API 会自动检测到日文,将 “Tokyo” 识别为 LOCATION,甚至提供了英文 Wikipedia 链接。对于构建全球化应用的开发者来说,这种开箱即用的智能是极大的省时利器。
结论
重点不在于 JSON 负载本身,而在于这些响应提供的 洞察。实体检测、重要性评分、情感幅度、实体级情感以及多语言支持共同为开发者提供了一个强大的工具箱,帮助将原始文本转化为可操作的知识。
我们已经超越了简单搜索和关键词匹配的时代。通过利用 Salience(重要性)和 Entity Sentiment(实体情感)等特性,我们可以构建真正倾听用户所说内容的系统,而不仅仅是扫描他们输入的文字。
Natural Language API 架起了复杂机器学习与真实世界应用之间的桥梁,使高阶 AI 民主化,任何拥有 Cloud Console 和创意想法的开发者都能使用它。看到几行代码就能解锁全球语境和人类细微差别(无需语言学博士 🎓),令人激动不已。我期待着我们社区如何利用这些工具,构建更直观、更包容的应用 🚀
自行研究