Google Cloud 自然语言算子

Google Cloud 自然语言可用于通过强大的机器学习模型揭示文本的结构和含义。你可以使用它来提取文本文档、新闻文章或博客文章中提到的有关人物、地点、事件等的详细信息。你可以使用它来了解社交媒体上对你的产品的看法,或分析呼叫中心或消息应用程序中客户对话的意图。

先决任务

要使用这些算子,你必须执行一些操作

文档

每个算子都使用Document来表示文本。

下面是作为字符串提供的文本文档示例

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

TEXT = """Airflow is a platform to programmatically author, schedule and monitor workflows.

Use Airflow to author workflows as Directed Acyclic Graphs (DAGs) of tasks. The Airflow scheduler executes
 your tasks on an array of workers while following the specified dependencies. Rich command line utilities
 make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize
 pipelines running in production, monitor progress, and troubleshoot issues when needed.
"""
document = Document(content=TEXT, type="PLAIN_TEXT")

除了提供字符串之外,文档还可以引用存储在 Google Cloud Storage 中的内容。

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

GCS_CONTENT_URI = "gs://INVALID BUCKET NAME/sentiment-me.txt"
document_gcs = Document(gcs_content_uri=GCS_CONTENT_URI, type="PLAIN_TEXT")

分析实体

实体分析检查给定文本中已知的实体(诸如公众人物、地标等专有名词),并返回有关这些实体的信息。实体分析使用 CloudNaturalLanguageAnalyzeEntitiesOperator 运算符执行。

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

analyze_entities = CloudNaturalLanguageAnalyzeEntitiesOperator(
    document=document, task_id="analyze_entities"
)

你可以将 Jinja 模板document, gcp_conn_id, impersonation_chain 参数一起使用,这些参数允许你动态确定值。结果保存到 XCom 中,这允许其他运算符使用它。

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

analyze_entities_result = BashOperator(
    bash_command=f"echo {analyze_entities.output}",
    task_id="analyze_entities_result",
)

分析实体情绪

情绪分析检查给定文本并识别文本中普遍存在的情绪观点,特别是确定作者的态度是积极、消极还是中立。情绪分析通过 CloudNaturalLanguageAnalyzeEntitySentimentOperator 运算符执行。

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

analyze_entity_sentiment = CloudNaturalLanguageAnalyzeEntitySentimentOperator(
    document=document, task_id="analyze_entity_sentiment"
)

你可以将 Jinja 模板document, gcp_conn_id, impersonation_chain 参数一起使用,这些参数允许你动态确定值。结果保存到 XCom 中,这允许其他运算符使用它。

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

analyze_entity_sentiment_result = BashOperator(
    bash_command=f"echo {analyze_entity_sentiment.output}",
    task_id="analyze_entity_sentiment_result",
)

分析情绪

情感分析检查给定的文本并识别文本中普遍的情感观点,特别是确定作者的态度是积极、消极还是中立。情感分析通过CloudNaturalLanguageAnalyzeSentimentOperator运算符执行。

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

analyze_sentiment = CloudNaturalLanguageAnalyzeSentimentOperator(
    document=document, task_id="analyze_sentiment"
)

你可以将 Jinja 模板document, gcp_conn_id, impersonation_chain 参数一起使用,这些参数允许你动态确定值。结果保存到 XCom 中,这允许其他运算符使用它。

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

analyze_sentiment_result = BashOperator(
    bash_command=f"echo {analyze_sentiment.output}",
    task_id="analyze_sentiment_result",
)

分类内容

内容分类分析文档并返回适用于文档中找到的文本的内容类别列表。要对文档中的内容进行分类,请使用CloudNaturalLanguageClassifyTextOperator运算符。

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

analyze_classify_text = CloudNaturalLanguageClassifyTextOperator(
    document=document, task_id="analyze_classify_text"
)

你可以将 Jinja 模板document, gcp_conn_id, impersonation_chain 参数一起使用,这些参数允许你动态确定值。结果保存到 XCom 中,这允许其他运算符使用它。

tests/system/providers/google/cloud/natural_language/example_natural_language.py[源代码]

analyze_classify_text_result = BashOperator(
    bash_command=f"echo {analyze_classify_text.output}",
    task_id="analyze_classify_text_result",
)

参考

有关更多信息,请查看

此条目是否有用?