如何从 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 获取属于当前用户的每个视频的指标?