Azure Cognitive Services 概念和定义

Azure Cognitive Services(Azure 认知服务)是微软 Azure 云平台提供的一系列人工智能 (AI) 服务和 API。它们旨在让开发者和组织能够无需深厚的 AI 或机器学习专业知识,就能轻松地将智能功能集成到应用程序中

简单来说,认知服务就像是一系列即用型的“AI 超能力”模块,你可以通过简单的 API 调用来使用它们,而不需要从头开始构建和训练复杂的 AI 模型。

核心理念:

  • AI for Everyone (AI 普惠): 降低 AI 的使用门槛,让更多开发者和企业能够利用 AI 技术。
  • API 优先: 大部分功能通过 RESTful API 和 SDK 提供,易于集成到任何平台和应用程序。
  • 预训练模型: 大多数服务都基于微软预训练的强大 AI 模型,开箱即用。
  • 可定制化: 某些服务允许用户通过少量数据进行模型定制,以适应特定业务需求。

主要分类和服务:

Azure Cognitive Services 通常分为以下几个主要类别:

  1. 语言 (Language):

    • Text Analytics (文本分析): 情感分析、关键短语提取、语言检测、命名实体识别。
    • Language Understanding (LUIS): 理解自然语言意图和实体,常用于构建聊天机器人。
    • Translator (翻译器): 实时文本翻译。
    • Speech (语音服务):
      • 语音转文本 (Speech-to-Text): 将语音转换为文本。
      • 文本转语音 (Text-to-Speech): 将文本转换为自然发音的语音(包括自定义语音)。
    • QnA Maker (问答对生成器): 从现有文档和 URL 中创建智能问答知识库。
    • Azure OpenAI Service: 提供对 OpenAI 大语言模型的访问,如 GPT-3/GPT-4 系列,用于生成文本、代码、摘要等。
  2. 视觉 (Vision):

    • Computer Vision (计算机视觉): 图像分析(识别物体、场景、活动)、OCR(光学字符识别)、人脸检测和识别、图像生成描述。
    • Face (人脸服务): 检测、识别、验证人脸,以及识别情绪和年龄。
    • Form Recognizer (窗体识别器 / Azure AI Document Intelligence): 从文档、PDF 和图像中提取文本、键值对、表格和结构化数据。
    • Custom Vision (自定义视觉): 训练自定义图像分类器或物体检测器。
  3. 决策 (Decision):

    • Anomaly Detector (异常检测器): 从时间序列数据中检测异常模式。
    • Content Moderator (内容审查器): 自动检测文本、图像和视频中的潜在不当内容。
    • Personalizer (个性化服务): 根据用户的行为和上下文,为他们提供个性化推荐。
  4. 语音 (Speech):

    • 如上文语言类中提到的 Speech 服务,它是独立的,但通常与语言处理紧密结合。
  5. 搜索 (Search):

    • Azure AI Search (前身为 Azure Cognitive Search): 提供强大的全文搜索功能,支持自定义排名、筛选和分面搜索。虽然它有“认知”前缀,但它更侧重于搜索基础设施,可以与其它认知服务结合使用来增强搜索功能(如图像识别和文本分析)。

Azure OpenAI Service 的重要性:

Azure OpenAI Service 是一个重要的补充,它将 OpenAI 的强大模型(如 GPT-3/GPT-4、Codex、DALL-E)带到了 Azure 平台,提供了企业级的安全性、合规性和可扩展性。它极大地扩展了认知服务的功能范围,尤其是在生成式 AI 方面。

使用步骤概述:

  1. 创建认知服务资源:

    • 在 Azure 门户中,搜索“认知服务”或具体的服务名称(如“文本分析”)。
    • 创建一个新的认知服务资源。在创建过程中,你会选择一个区域和定价层。
    • 创建完成后,你将获得一个终结点 (Endpoint)访问密钥 (Keys)。这些是你在代码中调用服务时需要使用的凭据。
  2. 集成到应用程序:

    • 在你的应用程序代码中,使用你偏好的编程语言(C#、Python、Java、Node.js 等)和对应的 Azure SDK 或直接调用 RESTful API。
    • 在 API 请求中包含你的终结点和访问密钥。
    • 将待处理的数据(例如文本、图像、语音)发送到认知服务 API。
    • 接收并处理服务返回的 AI 结果。

示例:使用文本分析服务进行情感分析

假设你有一个客户评论的文本字符串,你想知道它的情感是积极、消极还是中性。

  1. 创建 Text Analytics 资源(或创建一个通用的 Cognitive Services 资源)。
  2. 在你的 Python 代码中,你可能会这样做:
    from azure.ai.textanalytics import TextAnalyticsClient
    from azure.core.credentials import AzureKeyCredential
    
    # 替换为你的终结点和密钥
    endpoint = "YOUR_TEXT_ANALYTICS_ENDPOINT"
    key = "YOUR_TEXT_ANALYTICS_KEY"
    
    text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
    
    documents = [
        "这家餐厅的食物很棒,服务也很好!",
        "我不是很满意这次购物体验。"
    ]
    
    response = text_analytics_client.analyze_sentiment(documents=documents)
    
    for doc in response:
        print(f"文档:{doc.text}")
        print(f"整体情感:{doc.sentiment}")
        print(f"情感分数:积极={doc.confidence_scores.positive:.2f}, 中性={doc.confidence_scores.neutral:.2f}, 消极={doc.confidence_scores.negative:.2f}")
    

总结:

Azure Cognitive Services 为开发者提供了一个快速、便捷的方式,将复杂的 AI 能力集成到各种应用程序中,从而实现智能搜索、自然语言理解、图像识别、语音交互等功能,大大加速了 AI 解决方案的开发和部署。它是 Azure AI 战略的关键组成部分。