If a user's answer is not in intents in Dialogflow, why does the answer change from person to person? - dialogflow-cx

If a user's answer is not in intents in Dialogflow,
why does the answer change from person to person?
Is it because of the AI learning function? Or is it set randomly?
I want to know the algorithm for why it varies from person to person.

Related

Algorithm for creating tournament timetable based on user costraints

I am running a Tennis Website in behalf of a friend of mine because she's not that really passionate about technology and computers.
When we create a tournament subscription page, users and amateur tennis players fill out a form to subscribe to that tournament.
There is a field in the form where the user can describe their availability based on their needs.
Basically, users write when they can play matches, and most of the times they are time costraints, like for example:
"I can play all the evenings after 9.00 PM",
"only in the weekdays",
"because of work, I can play only in the weekends",
"Always, except not after 10.00 PM every evening because I have to wake up early".
I call them time costraints.
Yesterday I found a new costraint, and it is like so:
"Me (UserA) and my friend (userB) will share the car in order to partecipate in the tournament, because we live far from you, and we have to travel long miles and we would like to come together in order to save fuel.
As long as my friend is not eliminated in the tournament, I'd prefer to play in similar times with my friend (userB).
If my friend is eliminated, I can always play everytime"
My question now is if there is an algorithm to satisfy all these costraints, or a precooked solution my friend can use even if she's not a techie or a geek.
I undertand that this algorithm should run after every day, because of course match winners are not known in advance and hence user time costraints vary.
I also understand it is an operations research problem, but I haven't got experience and I'm not a professional programmer.
Please leave any pointer you may have on specific literature or software.
Thanks
There is no precooked solution to such problems AFAIK. Somebody will have to build a model and an application for that.
As suggested, Constraint Programming is one technique that solves this kind of problem and proposes solutions that satisfy all given constraints. Choco is a very handy open source tool.
However, you may want to formulate it as an optimization problem. You want the algorithm to place each pair UserA/UserB in the same day/time slot when scheduling the next round. How many such pairs are there? What if it is not possible to place all such pairs?
Go for the largest number of pairs would be doable using MILP. Maybe take history into account and average out the number of times each pair comes together ? Such a model is definitely more complex...

What algorithm is the best for connecting users based on a set of criteria?

For a school related assignment I am doing research on finding algorithms who could help connecting users based on a set of criteria.
Imagina we have a big box with thousands of users with criteria like popularity and location.
How will I be able to find a perfect match for a specific user? The goal is to connect people worldwide to unique people.
I am very new into algorithms and data structures. At this moment I think a optimization algorithm could help but I don't see a specific implementation.
I am curious what you think, guys! If you need some more information or do have questions, feel free to ask!
Greetz,
Bobby
Note; For now I labeled this question under 'algorithm', please let me know if I should add other labels for better finding!
You are asking for the best algorithm, but that probably depends on the application. Here is what you could do:
Turn the properties of each user into a normalized array. E.g. if we have three properties: age in years, income in $, smoker (yes/no) then this could be transformed to [age, income / 10000, smoker = no ? -5 : 5]. So if one is a smoker and the other one isn't then it is about as bad as 10 years of age difference.
This gives a data point in a hyperdimensional grid for each user. Now we can just measure the distance (e.g. euclidean distance) between a user and his closest neighbours and then take the shortest one.

Team Question ranking game problem

We have question game with Yes or No type of answers. There are multiple teams participating and every team have different number of players. Each player answers to questions. Players can join the game after few of questions has been ended. How to count fairly the all score for the team so we can rank a team?
I would just use the number of correct answers.
First things first: If you have more than one statistic, you have more than one metric. I see an almost infinite number of ranking possibilities. Here's the ones that jump out at me:
Use the average correct answer percentage for the players on the team.
If you have tournaments, have a ranking for tournament win percentage. (You could also use a chess-style ranking to determine the ranking of tournaments.)
Track how many people get a question right wrong. A player's score for getting a question right is (1 - q) where q is the % of people that got that question right. If you get it wrong, you also lose q points. This actually means as other people answer questions, your score may go up or down (which it should, since the purpose is to make it relative to the other players.)
i'll edit more in as I think of them (if I think of them). I really like option 3 though!

How would rating system be done for users in a web application?

I am implementing a web application that has many users and I would give the users rating based on their activities and based on other users liking their activities. How would I implement such an algorithm for that? I am looking for elegant and smart algorithm that could help.
You are basically looking for Scoring Algos. These articles might help -
How not to sort by average rating
Rank hotness with Newtons law of Cooling
How Reddit Ranking Algorithms work
Hope this helps.
Maybe your answer is staring right at you next to your username on this site :-) Stackoverflow.com's scoring system and badges are here to promote certain behaviors on the site. The algorithm is simple and the feedback is immediate so that everybody can see the consequences of certain actions.
What are the ratings used for? If you want to use the ratings as incentives for you users to encourage a specific behavior, then I believe you need to look at disciplines like behavioral psychology to figure out what behaviors you want to measure and reward.
If you already have a user base that reflects the typical user base you're trying to address, you might want to try with simple trial and error. Pick some actions, like e.g. receiving a like on a post and add points to the user's score whenever that happens. Watch the user community's reaction when you introduce the scoring system and see it it helps motivate the behavior you want. If not, try to change some other parameters and repeat.
Depending on your system, some users might try to game the system, so you could find yourself locked into an eternal cat and mouse game once you introduce a rating system (example: Google page ranking).

How to calculate the relation ship graph between people?

In this web page EntityCube we can type in a person's name then we will get a relationship graph describing the social network of this person, for example we type in bill gates we will get like this:
Does anybody know the algorithm behind this?
Your question is a little ambiguous, but I'll try to answer it as best I can. The graph they are producing shows only the people directly linked to the "source" (Bill Gates) and the relationships between those people.
The website probably contains a graph that includes everyone. Let's assume for the sake of argument that they are using an adjacency list (each person has a list of their "friends").
When you type in Bill Gates, it goes through each of his friends and connects them to him. Then it goes through the adjacency lists of each friend and checks to see if each friend is also a friend of Bill Gates. If so, it then connects them. Otherwise it ignores that friend and continues.

Resources