QnA机器人无法正确显示表格格式

时间:2019-08-21 11:05:51

标签: c# chatbot qnamaker

我的QnA制造商知识库当前受到pdf文件(http://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf)的培训。在测试期间,QnA bot不会根据给定的输入显示表格格式。

下图显示了当前在QnA制造商测试页中的显示方式。

enter image description here

我应该怎么做才能将表格格式(带有所有行和列的边框)带到聊天结果中,就像输入的pdf文件中一样。

2 个答案:

答案 0 :(得分:0)

根据docs.microsoft.com上的QnA Maker文档:

  

导入文件或URL后,QnA Maker会以降价格式转换并存储您的内容。转换过程会在文本中添加新行,例如\ n \ n。降价格式的知识有助于您理解转换后的内容并管理知识库内容。

     

如果直接在知识库中添加或编辑内容,请使用   markdown格式以创建富文本内容或更改markdown   格式化答案中已经存在的内容。 QnA Maker支持很多   降价格式可以为您带来丰富的文本功能   内容。但是,客户端应用程序(例如聊天机器人)可能不会   支持相同的降价格式集。重要的是要测试   客户应用程序的答案显示。

表是html构造,QnA在其可使用的减价格式中具有的选项列表中不支持表。如果您正在寻找更像表格的结构,那么它们确实支持项目符号列表和嵌套列表:

  • 电源按钮

    • 按电源按钮以打开Surface Pro 4。 您还可以使用电源按钮使其进入睡眠状态,并在出现以下情况时将其唤醒 您已经准备好再次开始工作。
  • 触摸屏

    • 使用12.3” 以3:2的纵横比和2736 x 1824分辨率显示 观看高清电影,浏览网络并使用您喜欢的应用。新的 Surface G5触摸处理器提供高达两倍的触摸精度 Surface Pro 3,让您用手指选择项目,放大, 并四处移动。有关更多信息,请参阅Surface触摸屏。 Surface.com。

要这样渲染,您可以使用markdown:

熟悉Surface Pro 4的内置功能。这是Surface Pro 4功能的快速概述:\ n *电源按钮\ n \ t *按下电源按钮可以打开Surface Pro4。您可以还可以使用电源按钮使其进入睡眠状态,并在出现以下情况时将其唤醒    您已经准备好再次开始工作。 \ n *触摸屏\ n \ t *使用具有3:2纵横比和2736 x 1824分辨率的12.3英寸显示屏观看高清电影,浏览网络并使用您喜欢的应用程序。新的Surface G5触摸处理器提供的触摸精度是Surface Pro 3的两倍,并且使您可以用手指选择项目,放大,    并四处移动。有关更多信息,请参见Surface.com上的Surface触摸屏。

概述如何在QnAMaker上进行降价的页面是here

答案 1 :(得分:0)

跟进JJ_Wailes的写作...

她是100%正确的;您可以使用markdown编辑“问答”在“测试”面板中的显示方式。但是,要记住的一件事是她从QnA文档中摘录的最后一部分:

  

但是,客户端应用程序(例如聊天机器人)可能不支持   相同的降价格式集。测试客户端很重要   应用程序的答案显示。

因此,如何在聊天中向用户呈现事物最终取决于您使用的渠道。


夫妇建议

#1坚持向用户显示表格的想法

因此,如果您真正坚持要向用户显示表,则可以考虑使用的一种选择是Bot Framework Web Chat channel。您可以查看this thread in the webchat repo,了解如何使用WebChat中的markdown来实现表。

  await context.sendActivity({
    type: 'message',
    textFormat: 'markdown',
    text: `| My | Table |  \n|-------|--------|  \n| Hello | World! |`
  });

enter image description here

但是,我的2美分是改为建议2,并使用multi-turn feature of QnA Maker。因为1.)表格是一个大量文本块,可一次将所有内容发送给用户。2.)可以在桌面上很好地呈现,但不一定是可移动的

#2使用QnA Maker的多转功能

多回合功能将使您可以将大量信息分解成多条信息发送给用户。

例如,如果用户写了“饮料”,

  • QnA可以渲染3个显示“苏打水,酒精,奶昔”的按钮。

然后,如果用户单击“苏打”,

  • QnA随后可以将“可乐,根啤酒,橙苏打”作为后续动作。

QnA文档中的多转按钮的屏幕截图: enter image description here

现在,由于多转功能目前处于预览状态,因此Bot Framework尚不支持该功能,但是很快,因为已经有PR可以将多转功能集成到3种语言中Bot Framework的SDK:C#JSPython

但是我们已经有了sample in the experimental section of our botbuilder-samples repo,向您展示了如何将其集成到您的机器人中。