使用 Google Cloud Natural Language API 教机器掌握细微之艺术

发布: (2026年1月1日 GMT+8 06:47)
6 min read
原文: Dev.to

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.01.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 和创意想法的开发者都能使用它。看到几行代码就能解锁全球语境和人类细微差别(无需语言学博士 🎓),令人激动不已。我期待着我们社区如何利用这些工具,构建更直观、更包容的应用 🚀

自行研究

Back to Blog

相关文章

阅读更多 »