IBM Watson Assistant: Entity overlapping issue in conversation - ibm-cloud

I am creating a chatbot for students. I am facing a problem in one of my
use cases. Students need to get the subjects in a particular year (Bot give the
subjects only semester wise). But the problem is I have two entity #year
and #semester.
My entity values for #year and #semester is given below. Also I gave some
synonyms for that.
#year values are : 1,2,3
#semester values are :1,2
When the user mention as first year the values of #year:1 and #semester
is also set as 1, but here actually need to take the input from the user
for semester.I already done for ask the semester based on #semester in a
slot, but the value set int #semester is not invoking that.
How can I solve this conflict?
My expected conversation is below
Student -Get me the list of subjects in first year.
Bot - Tell me the course name? `enter code here
student - A
Bot - Tell me the semester?
Student - give semester number
Bot - The subjects in first year first semester of A are "Listing Subjects"
But the output is like this
Student - Get me the list of subjects in first year.
Bot - Tell me the course name?
student - A
Bot - The subjects in first year first semester of A are Listing Subjects

I would recommend to check these tips for working with slots, including those on avoiding slot filling confusion.
You would need to add conditions or clarifications when capturing the data. Another option is to break up the conversation in two dialog steps. First, get the year and course name, next, in a separate dialog node, capture the semester and look up the actual information to respond.

Related

Conditional Statements in Power BI: Help greatly appreciated

I would be very grateful for any assistance on solving the below.
I have a table in Microsoft Power BI Desktop containing 2 types of columns: 1 column containing unique employee IDs (column labeled "Employee ID"), and several other columns marking the date when (if ever) an individual completed a specific task (columns labeled "Task 1," "Task 2," "Task 3," etc.). If an employee completes a given task, s/he receives a bonus.
Using Power BI Desktop, what is the best way to accomplish the following objectives:
(1) Assign a numerical value to the completion of each of these tasks/columns (i.e., the bonus), such that future business users (read: non-developers) can adjust the value/bonus as it changes year to year.
(2) Allow business years to manually enter (a) an employee ID and (b) a fiscal year (e.g., 2021), with the result that Power BI determines whether that employee completed any of the tasks within that fiscal year, and returns the sum total of the values assigned above for all those tasks/columns.
Thank you very much for your assistance! = )
For your second objective:
The easiest way is to prepare a report (visualizations - tables / charts) and add appropriate filters / slicers. The user will then be able to select the year and the employee.
For the first: it depends on what you really mean by assigning a numerical value.
You can prepare a table containing the bonus value for a given task/year. And then a measure referring to it. (e.g. LOOKUPVALUE)

Last touch marketing campaign view in tableau

In campaign analysis I want to view in Tableau what is the last campaigns that a lead has seen in a particular month and region. A lead may saw multiple campaigns.
For e.g. in sample data set below Lead id abc has seen two campaigns – webnair, email and last one is webnair.
Lead id efg also has seen two campaigns webnair and email and webnair is the last one. Lead id fgh has seen one campaign - Tradeshow
So in filter(month and region will be in filter) when February and US is selected the view will be a bar plot showing webnair as count 2 and tradeshow as count 1. This will give an idea of which campaigns happens mostly before the lead converts to customer.
Had some insights here Campaign performance in Tableau. Tried replicating here with some changes but no luck so far.
Like earlier ones this one is also not difficult.
Create Desired_field by adding a calculated field as
if [Month] = {fixed[Lead Id]: MAX([Month])} then 1 else 0 END
Create a view like the screenshot. (Note: Don't forget to add filters to context!)
Please note that in case of UK, and if FYU the two campaigns are on same date. This will count both campaigns in the view in case of Feb and UK are selected.

filemaker pro 16 creating records that share a date (work rota)

I am currently trying to create a rota within filemaker 16 and I can't figure out how to create records that share a date.
I want to be able to have people assigned to jobs and jobs assigned to dates but currently when I create jobs with the same date it creates a new record instead of assigning it to the one already existing.
I have 3 tables currently jobs, date and people. I have a 4th layout with a portal where I wanted to view records related to jobs that are set for a certain day.
Any help would be much appreciated.
Many thanks.
I am not 100% convinced you need a Dates table. Do you have anything specific to record about a date, other than its existence?
However, you certainly need a join table of Assignments, with fields for:
PersonID
JobID
Date
(this is assuming your rota is daily, otherwise you will need to indicate the shift or hours too).
I think your structure should change on this.
So instead have:
Parent:
ProjectId
Date
PersonId
JobId
Date
Then make the project Id your 'Primary Key' so your parent record.
Then you are just assigning the person, job & date as the child.
That way you can always add to the previous record without relying on date field.
You could then filter via dates etc.

Staff availability form in FileMaker

I'm have trouble coming up with a solution to a staff availability form, for a live event facility.
The goal is to have someone in the office select start and end dates, which generates a list of upcoming events. This list will be seen by employees on WebDirect, and they will be able to mark whether they are available or not via checkbox. The people in the office will then be able to see who is available for the all upcoming events while scheduling.
The idea behind choosing the start and end date is so the office can selectively "publish" which dates the employees see, as well as having a log of all responses tied to that form.
I also want to limit the employee to only be able to see their responses to the form.
So far I have tables as follows:
Employee Event Availability Form Response
-------- ----- ------------ ---- --------
ID ID ID ID ID
Name Date StartDate fk_AvailabilityID fk_EmployeeID
Title EndDate fk_ResponseID Checkbox
All of the relationships are primary key = foreign key except Event Date has a relationship to Availability:
Date ≥ StartDate AND
Date ≤ EndDate
Not really sure where to go past this or if this even is correct to begin with. I've experimented with a FormResponse table but not really sure what connections to make.
I'm fairly new to FileMaker and Databases in general, so laymens terms would be appreciated.
For starters, instead of convoluted relationships, you could use a field in the event table as a publish flag and then perform a search for that in web direct upon login.
When the staff sets a start/end date, they run a script that sets the publish flag for these records only.
To match the logged in user to an employee, you would need to store the account name in the employee table and match these upon login. Then set the privileges such that records can only be viewed when there is a match.
Hope this helps.

Tableau - Multiple data into one graph, with double dimension on the x-axis

I'm very new to Tableau, and (maybe because of that) struggling with a graph setting. I need to plot a simple line graph showing the ratio between the number of users that returned after registered x days ago and the total number of users that registered x days ago (regardless on the fact that they returned or not). To do this, I have two tables: TableA having (simplifying) USER_ID and DATE_REGISTRATION, and TableB USER_ID and VISIT_DATE. Both table are joined by USER_ID.
I'm able, of course, to plot each individually (i.e. count distinct of USER_ID with DATE_REGISTRATION on the x axis to get the number of new users registered per day), but not able to combine them. I guess the problem is that I'm using either DATE_REGISTRATION or VISIT_DATE on the x-axis, but in this case I can get one or the other info, but not the two combined.
Ultimately, I would like to be able to have, for each date, both the number of users visiting and the number of user who registered.
Thanks a lot in advance.
Raffaele
Well, problem is your database is not ready to generate those analysis. Your table is user_id oriented, meaning you can do lots of analysis centered on the user_id. To do date oriented you need a table like:
Date User_id Type of event
01/01/2014 1234 Registration
02/01/2014 1234 Visit
Then you can drag Date and Type of event to Columns, and COUNTD(User_id) to rows, to get a bar chart that will show, for each day, how many people registered that day and how many people visited that same day.
Additionally, you can still join this table with the one you have, to have the registration date for each user_id. That way you can, for instance, calculate how many days have passed since registration.