Do deleted utterances affect the LUIS utterance quota? - azure-language-understanding

I have an application in LUIS. I get the message
BadArgument: The number of examples per application version cannot exceed the limit 15000.
even though the application version has 0 utterances. I have added utterances in the past and then deleted them because they did not meet my needs. It looks like somehow LUIS holds these deleted utterances against me when calculating the limit.
Shouldn't I be able to add utterances since I currently have 0. Is the utterance count happening incorrectly or this there something else that needs to be done to reset the count against me?

The answer is no they don't. In my case, I had a corrupted application version which I will have to take up with LUIS.
So one possible solution to the above error is that the version is corrupt and you should create a new version. In my case, I programmatically populate a version through the API, so it was not such a big deal to return to a working state.

Related

Does the Android Management API /devices have a latency

We currently have a problem with a google api :
https://androidmanagement.googleapis.com/v1/enterprises/<our_enterprise>/devices/<device_name>
This API returns information about a named device, including information about its applications. We noticed a difference between what the api is returning to us is one of our phones.
Our phone has an updated application (21.05) but, the api always returns the previous version (21.01). This is problematic regarding the support of the phones because we can't have a reliable and instantaneous information of the applications installed on the phone.
Do you know if this api has a latency time to return the right data or if it is a bug?
Sincerely.
Adrien.
As tested, there is latency time to return the data when getting application reports. I am unable to determine the exact delay time.
Currently, there is no concrete way to easily get the application reports at the exact time. However, if there is an update in the policy, then query an application report, the updated application report can be acquired. I suggest that you update a policy that will not directly affect your device and then query the report.
Please refer to this link for additional information.

Using QnA Conversation to trigger other tasks (ideally using Blue Prism)

I have a feeling I'm missing something v obvious here, or perhaps I'm just using the wrong tools in the wrong order, or any combination of the above.
My company uses Blue Prism, and I'd like to build a virtual sales assistant that I can integrate into MS Teams. The idea being, the sales team can ask this bot to carry out a number of different tasks. The user thinks the bot is doing it, but in reality, the bot will be calling Blue Prism and triggering a separate process that has been built. We would integrate LUIS to attempt to split out all the different entities in the question and gradually narrow down what is what by replying to the original user question if it can't split them straight away.
I've built a brief knowledge base and integrated into Teams, however what I'm struggling with is learning how to actually have a central source read the messages asked by users within teams. I'd like to try and go directly to Blue Prism, but I'm aware that something like Flow or Automate may be an option, even if just to use this to trigger blue prism rather than it happening directly from Teams.
Any ideas? An example of a request may be - 'Log 100k pipeline app for the new product for mr smith.'
Thanks
I think you might be getting a bit of crossed lines between LUIS and QnAMaker. QnAMaker, as the name implies, is specifically where you have Questions, and want to maintain a knowledge base of likely answers. In contrast, LUIS would be used here to more accurately identify the instruction being passed, and extracting the values from it. It certainly possible to combine the two into the same bot, i.e. having a bot that handles both commands and questions, but that doesn't sound like what you're trying to do.
As a result, you should be focusing more on LUIS, and defining the relevant entities and intents. As an example, "log pipeline" would be an "intent", whereas "100k", "new product", and "mr smith" would be entities that the bot would know to work with.
What the bot does behind the scenes with that intent+entities combination is of course totally up to what you choose as an implementation, Blue Prism or otherwise.

Does QnA Service Active Learning work with questions from a channel?

I activated the Active Learning option in my QnA Service to improve the answers it gives using feedback from users, where they ask some questions and, if the score is too low, active learning lets them choose among the best rated answers in the Knowledge base or let them choose none of them as the correct one.
The problem is that the feedback the users give should go to my QnA Service for approval but when I look for suggestions in the portal, there's nothing waiting to be approved.
QnA MAker Active learning works with feedback from the emulator or other channels to your bot.
A comment from a related GitHub issue states:
When there is a low confidence score difference between the top answers, we collect weighted implicit and explicit feedback to cluster suggestions for any QnA ID.When enough feedback is collected for any given suggestion, it will show in the KB.
More specifically, we cluster similar user queries to generate suggestions. When minimum required feedback is collected, only then will the suggestions show in the KB.
The QnA team wants to avoid publicly divulging the exact logic of what exactly is the "minimum required feedback" and how often suggestions are generated (besides, the team is working on improving and optimizing the logic behind active learning as well)
--however to see suggestions appear in the qnamaker.ai portal:not only ensure that you've given the bot enough feedback
but also give the back end "some time" to allow for the suggestions to appear in the portal.
Again, feedback is collected when your user types in a query that returns answers from QnA that have confidence scores that are close together.
It is also good to note that feedback is not collected in the Test panel in the qnamaker.ai portal as of now. You will need to chat with your bot via emulator or a channel to provide feedback to your bot that it can use for active learning.
Note: If the suggestions are not showing up, then it is probably because the questions users are asking are not generating top N answers that have similar confidence scores.
The latest sample on Active learning in QnA Maker is available here.
Hope this helps.

Create Tickets through Square Connect API?

My company (which does Tutoring services) recently transitioned to Square for their Appointments and POS and I am trying to automate certain tasks. I wanted to know if there was a way to create "Open Tickets" for transactions through the Connect API.
I went through the documentation and couldn't find anything that refers to "tickets". I checked the seller community but wasn't satisfied with the answer from Square since they seemed to not understand what "Tickets" meant. I have provided more details at the end of this post in case someone wasn't sure about "Tickets" here as well.
I believe currently Tickets are only available through the Square POS app (Android/iOS) and not on the Web Dashboard. I would like to be pointed in the right direction in terms of what I might need to look at in order to get access to automatic ticket creation.
For more details, please read on.
In order to clarify what I mean by "tickets", here is Square's page regarding "Open Tickets". They are basically a way to create and save transaction info ahead of time so customers can be charged quicker. The way we use "Open Tickets" is we create tickets for Tutoring sessions every day in the morning and when a customer shows up, all they have to do is look up their ticket and pay. We do this since we expect a lot of traffic every day and we want to streamline the process as much as possible.
Therefore, our admin staff ends up creating 80-100 tickets manually every day! I wanted to know if there was a way to automate this. I already have a running Google Sheets with all appointments data that would be needed in order to create a ticket. I just need to find a way to communicate with ticket creation.
I apologize if this is a long post. I tried to be concise but thorough. Please let me know if there is any detail that I missed. I appreciate any help!
Unfortunately, Open Tickets isn’t currently available for Square’s API. Square's API is only able to track completed transactions at this time.
We are constantly improving the product based on feedback like this, so I’ll be sure to share your thoughts with the API team.

Google calendar api - How to avoid double booking?

Is there a way to avoid race conditions when inserting events into Google Calendar using the API? I have an experimental app that needs to insert events into user's calendar. However, the user should not be double booked at a particular time.
The only true way of guaranteeing something like this is if Google provides a way. Other solutions are prone to race conditions (example, some other app that the user has updating it while my app is ignorant). The options as far as I can tell:
E-Tags with If-Match option - But this option is not valid for inserts according to the docs (https://developers.google.com/google-apps/calendar/v3/version-resources).
Important: There is no support for conditional modifications for
insert operations. Instead, it is guaranteed that if you are allowed
to provide a resource ID, then the operation will only succeed if no
existing entry has that ID.
So if I provide an if-match with the calendar etag and try to insert, it always fails regardless of the fact that the etag is correct.
Using "watch" for a brief period while the event is about to be inserted (https://developers.google.com/google-apps/calendar/v3/reference/events/watch). However, this solution is prone to race conditions due to the time take to get notified. One user inserting while my app gets notified of the update is problematic.
Sync the whole calendar with server periodically and consider the source of truth as the synced version and avoid double booking. Less optimal because new events added won't get synced fast enough, but the most likely will work.
What other solutions come to mind? I think #3 is the most suitable to guarantee consistency and integrity of data to avoid double booking.
I found a solution to this on this blog which states that you'll be using Calendar Resource API instead of the Google Calendar. I think this guide is what you're looking for.
Unlike a regular calendar, resources:
-Do not allow conflicts
-Can be shared across everyone on your Google Apps domain
-Can be invited (multiple at a time) to events, just like a person
-Their ability to share availability with everyone makes resources great for managing rooms schedules. Especially in a shared work
environment like your office.
FYI: This guide assumes you already have Google Apps. Currently only
paid accounts have access to resource calendars. If you’re
grandfathered in or using a personal Gmail account, this process won’t
make much sense.

Resources