如何从 Analytics Application Insights 获取 Qna Maker“Q”?

Posted

技术标签:

【中文标题】如何从 Analytics Application Insights 获取 Qna Maker“Q”?【英文标题】:How to get the Qna Maker "Q" from Analytics Application Insights? 【发布时间】:2019-01-13 16:18:01 【问题描述】:

我已经使用 Qna Maker 创建了聊天机器人的知识库,并且正在尝试使用 Analytics Application Insights 可视化一些统计数据。

我想做的事

我想创建一个包含 Qna Maker 问题最多的图表。

我的问题

我在 Analytics 的 customDimensions 跟踪中找不到 Qna Maker 问题,但只有他们的 ID:

我的问题

他们是否可以直接从 Analytics Application Insights 工具获取链接到此 ID 的 Qna Maker 问题?

谢谢。

PS:由于 *** 规则,我不得不在标题中使用“Q”而不是“Question”。

【问题讨论】:

【参考方案1】:

不直接。

您在 appinsights 中拥有的唯一信息是随数据提交的任何内容。所以如果他们没有发送问题(奇怪的是他们发送了答案但没有发送问题?)那么你就不走运了。

作为一种解决方法,您可以在应用程序洞察实例中创建一个自定义表: https://docs.microsoft.com/en-us/azure/application-insights/app-insights-analytics-import 并用 id 和 question 填充该表。

然后您可以在分析工具或工作簿中的分析查询中加入这两件事。

【讨论】:

感谢您的回答。它可能是静态知识库的解决方案,但我的会随着时间的推移而改变,我找不到创建引用我的 Qna Maker KB 的动态自定义表的方法。 那么您的另一个选择是制作一个使用应用程序洞察力 REST api 来查询 AI (dev.applicationinsights.io) 并查询您的知识库的工具?【参考方案2】:

如果您正在寻找通过 id 链接的问题和答案的查询,这里是您的答案:

requests
| where url endswith "generateAnswer"
| project timestamp, id, name, resultCode, duration
| parse name with *"/knowledgebases/"KbId"/generateAnswer"
| join kind= inner (
traces | extend id = operation_ParentId
) on id
| extend question = tostring(customDimensions['Question'])
| extend answer = tostring(customDimensions['Answer'])
| project KbId, timestamp, resultCode, duration, question, answer

这不一定能解决您的问题,但可能对寻求简单问题/答案报告以改进 QnA 制作器的其他人有所帮助。

样本可以在官方文档中找到: https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/get-analytics-knowledge-base

【讨论】:

【参考方案3】:

这是我提出的一个查询,它将获取知识库问题的 ID、用户键入的问题以及知识库答案。如果它们来自同一会话,它还会将多个问题联系在一起。

我还没有找到一种方法来确定一种方法来获取与 id 关联的知识库问题。

requests
| where url endswith 'generateAnswer'
| project id, url, sessionId = extract('^[a-z0-9]7', 0, itemId)
| parse kind = regex url with *'(?i)knowledgebases/'knowlegeBaseId'/generateAnswer'
| join kind= inner
(
    traces
    | extend id = operation_ParentId
    | where message == 'QnAMaker GenerateAnswer'
    | extend userQuestion = tostring(customDimensions['Question'])
    | extend knowlegeBaseQuestionId = tostring(customDimensions['Id'])
    | extend knowlegeBaseAnswer = tostring(customDimensions['Answer'])
    | extend score = tostring(customDimensions['Score'])
)
on id
| where timestamp >= ago(10d)
| project knowlegeBaseId, timestamp, userQuestion, knowlegeBaseQuestionId, knowlegeBaseAnswer, score, sessionId
| order by timestamp asc

【讨论】:

以上是关于如何从 Analytics Application Insights 获取 Qna Maker“Q”?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Google-Analytics 迁移到 Firebase-Analytics?

如何从 Firebase 匿名化 Analytics 中的 IP?

如何从 Python 触发 Google Analytics 事件?

如何从 YouTube Analytics API 获取属于当前用户的每个视频的指标?

如何使用从 Google Play 安装的 Google Analytics 跟踪引荐来源网址?

如何使用 Javascript 从他们的 cookie 中提取 Google Analytics 活动数据?