文本分析入门

已完成

Azure AI 语言是 Azure AI 服务产品的一部分,可对非结构化文本执行高级自然语言处理。 Azure AI 语言的文本分析功能包括:

  • 命名实体识别可识别任务、地点、事件等。 还可以自定义此功能以提取自定义类别。
  • 实体链接可识别已知实体以及维基百科的链接。
  • 个人身份信息 (PII) 检测可识别个人敏感信息,包括个人健康信息 (PHI)。
  • 语言检测可识别文本的语言,并返回语言代码,例如返回“en”表示英语。
  • 情绪分析和观点挖掘可识别文本是正面还是负面。
  • 汇总可通过识别最重要的信息来汇总文本。
  • 关键短语提取可列出非结构化文本的主要概念。

实体识别和链接

你可以向 Azure AI 语言提供非结构化的文本,它将返回其识别的文本中的实体列表。 一个实体是一个特定类型或类别的一个项目;在某些情况下,子类型如下表所示。

类型 子类型 示例
人员 "Bill Gates", "John"
位置 "Paris", "New York"
组织 “Microsoft”
数量 Number "6" 或 "six"
数量 百分比 "25%" 或 "fifty percent"
数量 Ordinal "1st" 或 "first"
数量 Age "90 day old" 或 "30 years old"
数量 货币 "10.99"
数量 维度 “10 miles”、“40 cm”
数量 温度 “45 度”
日期/时间 “6:30PM February 4, 2012”
DateTime 日期 "May 2nd, 2017" 或 "05/02/2017"
DateTime 时间 "8am" 或 "8:00"
DateTime DateRange “May 2nd to May 5th”
DateTime TimeRange “6pm to 7pm”
DateTime 持续时间 “1 minute and 45 seconds”
DateTime 设置 “every Tuesday”
URL https://www.bing.com
电子邮件 support@microsoft.com
美国的电话号码 "(312) 555-0176"
IP 地址 "10.0.1.125"

Azure AI 语言还支持链接到具体引用的实体链接来帮助消除歧义。 对于已识别的实体,该服务会返回相关维基百科文章的 URL。

例如:假设你使用 Azure AI 语言检测以下餐厅评论摘录中的实体:

上周我在西雅图的这家餐厅吃饭。

实体 类型 子类型 维基百科 URL
西雅图 位置 https://en.wikipedia.org/wiki/Seattle
上周 DateTime DateRange

语言检测

使用 Azure AI 语言的语言检测功能识别文本所用的语言。 可一次提交多个文档进行分析。 对于提交的每个文档,该服务将检测:

  • 语言名称(例如“英语”)。
  • ISO 639-1 语言代码(例如:“en”)。
  • 表示语言检测可信程度的分数。

例如:试想你经营着一家餐厅,客户可以在餐厅完成调查并提供有关食物、服务、员工等方面的反馈。 假设你收到以下客户评价:

评价 1:“A fantastic place for lunch. The soup was delicious.”(英语)

评价 2:“Comida maravillosa y gran servicio.”(西班牙语)

评价 3:“The croque monsieur avec frites was terrific.Bon appetit!”(英语和法语)

可以使用 Azure AI 语言中的文本分析功能检测每条评论使用的语言;并且可能会得出以下结果:

文档 语言名称 ISO 6391 代码 分数
评价 1 英语 en 1.0
评价 2 西班牙语 es 1.0
评价 3 英语 en 0.9

请注意,尽管评价 3 中的文本包含英语和法语的混合文本,但服务对该评价检测出的语言是英语。 语言检测服务侧重检测文本中的主要语言。 该服务使用一种算法来确定主要语言,例如将该语言的语句长度或文本总量与文本中其他语言进行比较。 返回的值即为主要语言,同时会返回语言代码。 如果是混合语言文本,则可信度分数可能小于 1。

可能文本本身不明确,或含有混合语言的内容。 这些情况可能会带来挑战。 内容不明确的一个示例是文档文本量不足或仅包含标点符号的情况。 例如,使用 Azure AI 语言分析文本“:-)”,语言名称和语言标识符会返回未知值,分数会显示为 NaN(用于表示非数字)。

情绪分析和观点挖掘

Azure AI 语言中的文本分析功能可以评估文本并返回每个句子的情绪分数和标签。 此功能有助于检测社交媒体、客户评价、论坛讨论等中的正负面情绪。

Azure AI 语言使用预生成的机器学习分类模型来评估文本。 该服务分三个类别返回情绪分数:正面、中性和负面。 在每个类别中,提供介于 0 和 1 之间的分数。 分数表示提供的文本归入特定情绪的可能性。 还提供了一个文档情绪。

例如,可以对以下两个餐厅评价进行情绪分析:

评价 1:“我们昨晚在这家餐厅吃晚餐,我注意到的第一件事是工作人员很有礼貌。我们受到了友好的欢迎,并立即被带到我们的餐桌就坐。餐桌很干净,椅子很舒服,食物也很棒。

评价 2:“我们在这家餐厅的用餐经历是我有史以来最糟糕的经历之一。服务很慢,食物也很糟糕。我再也不会在这家餐厅吃饭了。

第一条评论的情绪分数可能是:文档情绪:正面 正面分数:0.90 中性分数:0.10 负面分数:0.00

第二条评论可能会返回响应:文档情绪:负面 正面分数:0.00 中性分数:0.00 负面分数:0.99

关键短语提取

关键短语提取识别文本中的要点。 试想一下前面讨论过的餐厅场景。 如果调查内容繁多,可能需要很长时间才能通读评论。 但是,你可以使用语言服务的关键短语提取功能来汇总主要观点。

你可能会收到如下评价:

我们共进晚餐,庆祝生日,并获得了美妙的体验。我们受到了热情的欢迎并立即被带到餐桌就坐。这里的氛围轻松,食物美味,服务周到。如果你也喜欢美味的食物和周到的服务,真应该来这个地方试试。

通过提取以下短语,关键短语提取功能可以提供该评价的一些语境信息:

  • 庆祝生日
  • 奇妙的体验
  • 友善的女服务员
  • 食物美味
  • 服务周到
  • 晚餐
  • 氛围
  • 地方

除了使用情绪分析来确定这是正面评论,还可以使用关键短语服务来识别评论的重要元素。

为 Azure AI 语言创建资源

若要在应用程序中使用 Azure AI 语言,必须在 Azure 订阅中预配适当的资源。 你可以选择以下两种资源之一:

  • 语言资源 - 如果仅计划使用 Azure AI 语言服务,或者要将资源的访问和计费与其他服务分开管理,请选择此资源类型
  • Azure AI 服务资源 - 如果打算将 Azure AI 语言与其他 Azure AI 服务结合使用,并且你希望同时管理这些服务的访问和计费,请选择此资源类型。