Let’s Teach CEYD-A English-1

Turkish users already know it: CEYD-A is one of the most popular digital assistants used in Turkish having 4 million download.
It’s not just an app, it’s a development platform. Its purpose is to enable users to add their own small code snippets, to establish relationships between codes and to develop like brain cells. In this article, we will add new fictions to CEYD-A, which is new to English.

In fact, the first moments of CEYD-A’s introduction to English date back to earlier times, 5 years ago. The English speaking world began to get to know it with the scientific article “The Impacts of Robotics, Artificial Intelligence On Business and Economics”¹ and the newspaper article afterwards “CEYD-A, your soon-to-be English speaking virtual assistant”². It has progressed himself in Turkish in the past and is now starting to take its first steps in English.

What is a fiction?

Fiction is a collection of elements consisting of the dominant question words, the question template, and its answer code. In the Turkish CEYD-A structure, there are around 300 thousand interactive fictions. And now there will be a start for English as well.

For CEYD-A, the dominant words of fictions first determine the decision mechanism. These word (s) in fiction each have a coefficient. According to the coefficients here and the compatibility of the pattern, it is decided whether the fiction will be activated or not.

When a fiction is active, it can be redirected to another fiction. This is an ideal situation for different utterances. The working mechanism of CEYD-A proceeds by directing among the activated fictions and drawing a new path for itself. Even if this road is long, CEYD-A tries to do the best until the result is achieved.

The response code of a fiction is a small piece of code that can contain variables, arrays, loops, and method calls, just like an application. Variables are global and can enable data transitions between fictions. This ensures continuity between CEYD-A commands and topic tracking during conversations.

 

CEYD-A’s current English is very poor. It can say its name, say hello, and call people in its phone book. But just as users created 300 thousand fiction for Turkish CEYD-A, which has 4 million users, this number will also increase in the English version and appear for even more.
In this article, we will show you how a developer user can create weather fictions.
You don’t need to recreate these fictions yourself. When the created fictions are approved, these features come to all devices using CEYD-A.
In other words, the weather fictions mentioned in this article have already been created and approved.

https://play.google.com/store/apps/details?id=com.cenker.ceydasistan.app.en&hl=en_US

First, let’s show you where to get CEYD-A app (let’s say it “baby CEYD-A” for English version), whose English is very poor at the moment. In fact, Turkish CEYD-A is 6 years old and can understand Turkish well and respond.
It has virtual emotions and can change its responses according to emotions. It can ask questions and evaluate your answers. It can contact you not only when you want to talk to it, but when the desired conditions are met. Over time, you will see this baby CEYD-A’s capabilities increase and develop.

 

 

After opening the application, select “My Commands” from the menu, your user and password will be created automatically. If you want to create your own username, that is also possible. You can login at https://kodla.ceyd-a.com/yrd_index1.php?lang=EN page and create your fictions. Those who do not want to add code through the site can also generate their codes through the application. Currently, block design is not supported in the English version, but since it is possible to develop with design in the Turkish version, design support will be available in the near future without the need to write code in the English version.

×

You can develop your own command fictions by writing plain speech text, with CEYD language support or by creating a block design without writing code in the form of drag-drop-puzzle. Block design feature is currently supported only for Turkish. English support will be available soon.
Code

Design

First, let’s have a look at what CEYD-A will answer after the fictions are created.

One might ask: Why should we use CEYD-A and what is it different from others?

  • CEYD-A has its own development language specific to users,
  • It can be customized,
  • It works on the device not on the server. This is both an advantage for the protection of personal data and insuring that an offline working environment can be provided if necessary,
  • For IoT devices, it can go to the outside world directly from the device.

These features are just a few prominent ones.

Let’s start coding now…

Let’s prepare 3 different fictions to give rain information. The purpose of each is to let the lower coefficient one come into play if there is a different utterance. Fictions with lower coefficients accept sentence differences more broadly and can be redirected to the higher coefficient in order to give a generic answer.
Now let’s clarify this with examples:

Rain fiction with coefficient of 2.1

Rain fiction with coefficient of 2

Rain fiction with coefficient of 1.1

Rain fiction with coefficient of 1

The fiction at the end is a fiction that can be used to entertain the user when no logical answer is received. and tells a joke about the rain.

One might ask this: If you already have a 1.1 coefficient fiction whose pattern is unconditional, why should a 1 coefficient fiction be run? The thing is: if the result of rain condition in the 1.1 coefficient fiction is empty, it will move to the fiction with 1 coefficient.

Let’s take a look at the pattern structure in the first example: Pattern can be in Regex structure. However, due to its complexity, the pattern structure offered by the CEYD environment can provide relatively an easier environment. The whole pattern indicates the exact format of the sentence spoken. {ANY} is any expression. {NCAP} means Non capturing group and indicates that the parameter in the parenthesis can be ignored. {PAR1} in parentheses is for transferring parameters to the answer field.
The $ 1 expression in the answer also reflects this parameter.

So, when we say “is the weather rainy in istanbul”, the rain fiction with coefficient of 2.1 will accept the sentence and {PAR1} will be “in Istanbul” in this case. In the sub-fiction that is called in, the expression “in Istanbul” will pass through NLP fiction inside and only Istanbul will be evaluated as a place information and the transaction will be made. We will return to the details of this topic in the following articles.

Utterance “Is it raining in Istanbul?” does not fit pattern of first fiction, but it matches second fiction’s pattern. Second fiction alters the sentence and process it the the first fiction again.

When we say “Is it raining” instead of “Is it rainy?”, coefficient of 2.0 fiction works. As an answer to this fiction, the 2.1 coefficient fiction “is it rainy …” with its place parameter is processed.

Utterance “What about rain?” does not fit pattern of first and second fictions, but it matches third fiction’s pattern which is ANY. This last fiction processes “rain condition” sentence which activate only second fiction and this alters the sentence as “is it rainy in” and process it the the first fiction again.

 

When we make a sentence in another pattern with rain in it, the highest coefficients are eliminated and fiction with a value of 1.1 is activated. It runs the “rain condition” process and activates the fiction with a coefficient of 2 skiping 2.1 coefficient in this case.

Let’s go deeper in the fictions..

For coding enthusiasts here are some other fictions that mentioned in this article. As you can see, the more we dig, the more fiction we come across. CEYD-A is built on nested calls. We can think of every fiction as a smart cell and communicate with each other. There thousands of fictions afterall.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.