I used to add an utterance in the following format "difference between zoo, park & garden". But the Luis didn't recognize the entity after & symbol.
Is there any restriction to use Symbols before entity.
This is by design. If you're sending queries through http GET, the url needs to be URL-encoded.
You could try using https://www.bing.com/search?q=url+encode to help encode your url.
So sending in "difference+between+zoo%2C+park+%26+garden" as my utterance in the query yielded expected results:
{
"query": "**difference between zoo, park & garden**",
"topScoringIntent": {
"intent": "...",
"score": ...
},
"entities": []
}
Related
I create a group for question in Microsoft teams, the name for this group is "Information Comunity". In this group, I put a Microsoft forms to capture the question.
Then, I create a Flow with Microsoft power Automate. This flow send send a message in "information Comunity" group, like this
I need to mention a other group in this message, the name of the other group is "Gerencia de information", this group will answer the question. But I donĀ“t know how to capture the name of thisgroup or how i get the id of the other group.
Can you help me please.
Thanks for your help.
1 The Flow will use a manual trigger.
2.After that the Flow initializes three variables as below:
3.First make sure that you invoke the HTTP request action connection using https://graph.microsoft.com as the Base Resource URL and Azure AD Resource URI values like in the screenshot below:
4.Then invoke the HTTP request
Body of the request:
{
"body": {
"content": "This is Flow mention channel test, <at id=\"0\">RA Experts</at>",
"contentType": "html"
},
"mentions": [
{
"id": 0,
"mentionText": "RA Experts",
"mentioned": {
"conversation": {
"id": "19:ac7b9c53a099498f9e08679e58f1f7fc#thread.tacv2",
"displayName": "RA Experts",
"conversationIdentityType": "channel"
}
}
}
]
}
Result:
I need a way to distinguish a google-created calendar (ex. "Holidays in United States") from a user-created calendar (ex. "Engineering Department") in the Google Calendar API. There doesn't seem to be a distinct field for this, so I've been trying to find a pattern in the calendar's fields. From the CalendarList API:
{
...
"items": [
{
"kind": "calendar#calendarListEntry",
"etag": "\"1616104281883000\"",
"id": "en.usa#holiday#group.v.calendar.google.com",
"summary": "Holidays in United States",
"description": "Holidays and Observances in United States",
...
},
{
"kind": "calendar#calendarListEntry",
"etag": "\"1623344030696000\"",
"id": "c_g3s8ze0hkg2mc6kabr33f6r0ro#group.calendar.google.com",
"summary": "Engineering Department",
...
}
]
It seems like the only differentiating pattern is in the structure of the id field. The Google-created calendars have a readable email username, and the email domain is group.v.calendar.google.com. The user-created calendar on the other hand has a seemingly random string of characters as the username, and the email domain is group.calendar.google.com (notice the .v is missing).
This is a single example, but from the other examples I've seen the pattern is consistent. I haven't been able to find this pattern explicitly stated anywhere in the Google Calendar API docs, but maybe I'm missing something. Is this pattern explicitly stated anywhere? Or am I going about this wrong, and should be using a different feature of the API to distinguish these cases?
i want to create an chat bot which can track packages (and many things more). I'm kinda new to all these intents and entities things. My goal to achive is that if i say to the chatbot "track the package [PACKAGEID]" or "could you please find [PACKAGEID] for me?" and than luis should return the intent and the [PACKAGEID]. Is this possible? Or if not, is there something else i can use (best would be if this is from microsoft, because of business stuff... yay)
kind regards,
me.... hey!
To achieve your requirement, you can try the following steps:
1)Add a simple entity named PackageID
2)Add a phrase list for PackageID(s)
3)Add a intent named FindPackage and add some example utterances, and then label entity in utterance.
4)Train (and publish) the app
Test result:
Note:
I'm kinda new to all these intents and entities things.
You can get more information about key concepts of LUIS app in LUIS documentation.
If you know all possible formats of the "PACKAGEID" then you may use Entity of type "Regex"
1) click at
2) Create Regex definition. Example below matches all PACKAGEID-s
starting by "KQ" then followed by 8 to 10 numbers, ending by "DE"
3) If you try sentence "could you please find kq123456789de for me?" then you get following result
{
"query": "could you please find kq123456789de for me?",
"topScoringIntent": {
"intent": "Status",
"score": 0.9369452
},
"intents": [
{
"intent": "Status",
"score": 0.9369452
},
...
],
"entities": [
{
"entity": "kq123456789de",
"type": "PACKAGEID",
"startIndex": 22,
"endIndex": 34
}
]
}
Most of the other methods in the language api, such as analyze_syntax, analyze_sentiment etc, have the ability to return the constituent elements like
sentiment.score
sentiment.magnitude
token.part_of_speech.tag
etc etc etc....
but I have not found a way to return name and confidence in isolation from classify_text. It doesn't look like it's possible but that seems weird. Am missing something? Thanks
The language.documents.classifyText method returns a ClassificationCategory object which contains name and confidence. If you only want one of the fields you can filter by categories/name or categories/confidence. As an example I executed:
POST https://language.googleapis.com/v1/documents:classifyText?fields=categories%2Fname&key={YOUR_API_KEY}
{
"document": {
"content": "this is a test for a StackOverflow question. I get an error because I need more words in the document and I don't know what else to say",
"type": "PLAIN_TEXT"
}
}
Which returns:
{
"categories": [
{
"name": "/Science/Computer Science"
},
{
"name": "/Computers & Electronics/Programming"
},
{
"name": "/Jobs & Education"
}
]
}
Direct link to API explorer for interactive testing of my example (change content, filters, etc.)
Met problem when using Mandrill API to send transactional newsletters. I chose Handlebars for the template parameters. The user name was shown correctly, but data in the list (post titles) were empty. Please help indicate if anything I did wrong. Thank you!
The template is as below, sent to the endpoint /messages/send.json :
func genHTMLTemplate() string {
return "code generated template<br>" +
"Hi {{name}}, <br>" +
"{{#each posts}}<div>" +
"TITLE {{title}}, THIS {{this}}<br>" +
"</div>{{/each}}"
}
The API log in my Settings panel in mandrillapp.com shows the parameters:
{
"key": "xxxxxxxxxx",
"message": {
:
"merge_language": "handlebars",
"global_merge_vars": null,
"merge_vars": [
{
"rcpt": "xxxxxx#gmail.com",
"vars": [
{
"name": "posts",
"content": [
{
"title": "title A"
},
{
"title": "title B"
},
]
},
{
"name": "name",
"content": "John Doe"
}
]
}
],
:
},
:
}
And below is the email received. "title A" and "title B" are expected after "TITLE".
code generated template
Hi John Doe,
TITLE, THIS Array
TITLE, THIS Array
Mandrill decided to create custom handlebars helpers with some horrible, HORRIBLE names:
https://mandrill.zendesk.com/hc/en-us/articles/205582537-Using-Handlebars-for-Dynamic-Content#inline-helpers-available-in-mandrill
title and url will definitely give you grief if your objects happen to have keys named title and urlas well. Why they didn't name their helpers something like toTitleCase and encodeUrl is beyond me.
As far as arrays and #each is concerned, you can work around it by using {{this.title}} instead of {{title}}.
After testing with Mandrill's sample code here I found the key "title" just doesn't work. Dunno the reason (a reserved keyword of Mandrill?) but replace it with "title1", "titleX" or something else it can be rendered correctly.
{
"name": "posts",
"content": [
{
"title": "blah blah" // "title1" or something else works
},
}
while using handlebars as the merge language 'title' is the reserved helpername which is used in handlebars which makes your text in title case. If you do only {{title}} by default it considers as title the empty text. try giving it {{title title}} which should work or changing the key name to something else ( if you dont want your title in title case )
I know this is late but it could be of use to someone trying to debug this issue currently. Take note of this point in the Mandrill documentation
There are two main ways to add dynamic content via merge tags: Handlebars or the Mailchimp merge language. You may already be familiar with the Mailchimp merge language from creating and editing Mailchimp templates. We also offer a custom implementation of Handlebars, which is open source and offers greater flexibility.
To set your merge language, navigate to Sending Defaults and select Mailchimp or Handlebars from the Merge Language drop-down menu.
I've run into a similar issue on Sending Blue, where their default configuration does not enable handle bars so it won't evaluate them.