今天我将提到 Azure 文本分析的一项有用功能:情绪分析。Azure 文本分析是 Microsoft 提供的基于云的产品,它提供对原始文本的自然语言处理。
用例描述
在本文中,我将解释如何使用客户提供的产品评论来了解市场洞察力,以及如何接听未来制造产品的电话。这是此用例的图示。
以下是我们如何实现整个流程的高级步骤,
第1步
整个过程从数据收集部分开始,为此,我使用带有客户提供评论的 CSV 文件。这是它的要点:
第2步
收集数据后,我们需要导入数据,为此,我在 Visual Studio Code 中使用 Jupyter Notebook。这是从 CSV 文件中读取和提取数据的 Python 代码:
importcsvfeedbacks=[]counter=0withopen('Feedback.csv',mode='r',encoding='utf8')ascsv_file:reader=csv.DictReader(csv_file)forrowinreader:counter+=1if(counter<=9):feedbacks.append(row['reviews.title']+'.')
第 3 步
接下来,我们需要在 Azure 中创建文本分析资源以获取密钥和终结点。这可以通过登录 Azure 门户并搜索文本分析来完成:
单击上面的按钮,然后单击Create。它将打开一个新页面,如下所示,您需要在其中提供所有基本详细信息:
单击Review + create将为您创建一个新的文本分析资源。
第四步
从 Azure 门户获取密钥和终结点并创建 2 个变量来存储它们。
key="TEXT_ANALYTICS_KEY"endPoint="TEXT_ANALYTICS_ENDPOINT"
第 5 步
接下来是安装所需的 Python 模块。在 VS Code 中,打开一个新终端并使用 Pip 安装以下模块:
pipinstallazure.ai.textanalytics
第 6 步
导入模块并创建客户端对象,如下所示:
fromazure.ai.textanalyticsimportTextAnalyticsClientfromazure.core.credentialsimportAzureKeyCredentialclient=TextAnalyticsClient(endpoint=endPoint,credential=AzureKeyCredential(key))response=client.analyze_sentiment(documents=feedbacks)review=type('',(),{'positive':0,'negative':0,'neutral':0})()foridx,sentenceinenumerate(response):print("Sentence{}:{}".format(idx+1,sentence.sentiment))if(sentence.sentiment=="positive"):review.positive=review.positive+1elif(sentence.sentiment=="negative"):review.negative=review.negative+1else:review.neutral=review.neutral+1
此时,如果您将运行代码,您将获得情感分析的结果。
第 7 步
现在,是时候绘制分析结果了。这可以通过使用 MatplotLib 来完成。如果 VS Code 没有检测到它,那么您可以使用 Pip (pip install matplotlib) 安装它。
这是绘制结果的代码:
importmatplotlib.pyplotasplotfigure=plot.figure()ax=figure.add_axes([0,0,1,1])x_values=['Positive','Negative','Neutral']y_values=[review.positive,review.negative,review.neutral]ax.bar(x_values,y_values)
第 8 步
如果到目前为止一切顺利,那么在执行应用程序时,您将看到类似的输出,如下所示:
结论和外卖
看上图,厂家可以接电话决定,是需要增加产量还是放慢产量,了解客户的痛点。