【问题标题】:How to pull plain text from website using Azure Bot?如何使用 Azure Bot 从网站中提取纯文本?
【发布时间】:2020-01-09 19:16:48
【问题描述】:

我正在开发一个将连接到 Facebook Messenger 的 Azure 聊天机器人。机器人的目的是或多或少地寻找当天的短语。我目前有一个以纯文本形式返回当天短语的网址。

我需要机器人做的是例如:

User: "Hi, what is the phrase for today?"

Bot 将搜索 url 并检索返回的纯文本。

Bot: "The phrase for today is 'Don't Give Up!'"

我目前正在将 QnA Maker 用于知识库,但它仅适用于静态常见问题解答,不适用于从网站提取文本。任何帮助将不胜感激。

谢谢,

阿克塞尔

【问题讨论】:

  • 据我了解 qna 制造商,我不能只使用纯文本/字符串。数据必须采用它可以理解的格式,请参阅docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/… 你能控制纯文本的外观吗?
  • 我设法创建了一个 bot/kb 并让它解析一个带有 tsv 文件的 url,其中包含我的“每日短语”测试文件。它可以工作,但无法定期(每天)刷新它。所以我认为单独使用 qna 制造商是无法实现这一目标的。
  • 您使用的是 Bot Builder SDK v4 吗?你用什么语言编写机器人?请提供一些代码示例来展示您到目前为止所做的尝试。
  • 大家好,感谢您的回复!是的,我可以控制纯文本的外观。至于什么语言,我相信是 C#,我实际上没有尝试过任何编码,因为我使用 QnA Maker 开发机器人(全部来自 QnA 网站和 Azure 门户)并且不知道从哪里开始获得我想要的功能。下载代码并弄清楚如何将其发布到 Azure 后,我将发布我尝试的内容!

标签: azure chatbot azure-cognitive-search azure-bot-service qnamaker


【解决方案1】:

有几种不同的方法可以解决这个问题:

以编程方式更新您的 QnA 知识库

您需要在您的机器人之外创建某种单独的函数(可能使用 Azure Functions),以便每天生成 this API request

curl -v -X PATCH "https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/{kbId}"
-H "Content-Type: application/json"
-H "Ocp-Apim-Subscription-Key: {subscription key}"

--data-ascii "{body}"

正文:

{
  "add": {
    "qnaList": [
      {
        "id": 0,
        "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle",
        "source": "Custom Editorial",
        "questions": [
          "How can I change the default message from QnA Maker?"
        ],
        "metadata": []
      },
[...]

让机器人使用 HTTP 请求来获取每日短语

或者:

您可以从拦截等于/包含以下内容的消息开始:

"Hi, what is the phrase for today?"

或者,如果您希望用户的问题更灵活一点,您可以use LUIS to parse user input and return an intent

一旦您将其编码到您的机器人中,只需让机器人向您的网站发出常规 HTTP 请求,然后将其发送给用户。


如果需要,我可以提供一些代码示例,但请提供一个代码示例,说明您希望在您的机器人中的哪个位置发生这种情况。您的短语的 URL 也可能会有所帮助。

【讨论】:

  • 嗨!非常感谢您的回复,觉得很有帮助!我现在将尝试 QnA KB 更新功能,实际上我还没有开始用代码编写机器人,而是仅使用 QnA 和 Azure 门户设置它,因为我不知道从哪里开始。但是,我将下载代码并检查它应该出现在机器人的哪个位置。我现在没有运行当天的短语 url,但我有一个以相同方式返回纯文本的 url,只是它包含一个菜单,现在可以用于测试目的:az-asistenciacomedores-web。 azurewebsites.net/Menus 谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-06-03
  • 2021-11-29
  • 2020-10-31
  • 1970-01-01
  • 2023-03-07
  • 2011-05-29
  • 1970-01-01
相关资源
最近更新 更多