 Hello, everyone. Thank you very much for being here today and I Submitted to talk about CC AI and open source voice interface and Luckily the core developers of this project are also here today. We did not know that he will be able to make it so I take this opportunity to invite him here and also the Two of the founders here so that we can have a conversation together which is more interactive instead of me present the project as a community Outage we have more insight of the project. So we gonna start now And a little bit about myself. My name is a home food tank. I came from Vietnam I'm one of the contributors of Force Asia I'm currently working in Berlin, but regularly travel to the Singapore and other country in in Asia I In the Suzy AI project, I'm one of the community Irish go out to talk to tell people about how cool the project is and what we we want to do with with Suzy and Something personal I like swimming and I like to teach people how to swim and here next to me. I have Mario Belling He can introduce himself Thank you. So hi, my name is Mario. So I lived many years in Asia and Yeah, I also have to get the first Asia community started and for many years I'm sharing an interest in search engines and we'll talk a little bit more about this later And that's how I met Michael who's the founder of yassi.net and the great coder behind it So that was many years ago. When was that Michael? One of the first first Asia when when I was there Yeah, and in the zero years somewhere in the late Yeah, so yeah, I'm glad that we are invited here and great to see and many people interested so My name is Michael Michael Christen and as Mario said I created yassi peer-to-peer web search And this is a big data and distributed systems, which I did Large-scale data systems organizing data and so on so Suzy was just the next step To follow up with the idea of search engines, but we will hear here about this in detail So I'm doing the core architecture of Suzy and I'm happy to be here to help now Okay, so what exactly Suzy are in the past this is even before I was born people already imagine how they can communicate with the computer via voice and They turn their wish into Movies and series and we can see in Star Trek how they try to communicate through a mouse with the computer So what happened these days we are now be able to talk to our phone and Devices so and the thing that you can see a lot these days in the markets the very cute Speakers, but they label it smart speakers. So why it says Mars because in the past the speakers is a device that Produce audio Output so that you can listen to some music smart speakers mean that Now you not only you listen to the music, but the device They're able to listen to you and be able to perform some kind of action or it To answer your question or do some kind of task on your behalf So as we can see most of the vice out there are Dominated by major tech players Google Apple Amazon Microsoft and some big Chinese provider like sell me or Korean producer Samsung Where and we haven't find any free and open source personal assistant that being Introduced in this field up to now This is the slide that I saw in a lot of presentation about conversational web the researcher mentioned that next year 75% of the US population will own a smart speaker and This is a really big market and you can imagine that within a year from now You'll be able to speak to any devices you can speak to your phone your your laptop or you have a car You can even speak to your to your car. You can come in and tell me The system to sort on the life for you isn't it's cool No, but What is the side effect of this so where we have all the device connected? We are a network we be able to do we be able to control our lives and every single Item or object around us. Is it a good thing or a bad thing? It is always been a big debate in the market, right? And Some of you may have seen already this article on CNN about the Google home and The e-dropping action how the device actually listen to your conversation and Transfer it to the central system To respond to this Google said that they all did the activated function But we never know so this is only one case that being published On the new but there's also many other provider So our concern either is what gonna happen with our data in the future where everything is connected And it was also the motivation why we want to to be able to see AI we need a free and respecting privacy System to personal assistant that was The answer for the question. What is to see I? How did we start the project in the beginning so This is the team This is the team behind to see how I we already have so lucky that we have everyone here today We also have Hundreds of developers from everywhere From from India from Vietnam many different places in Asia and some coming from Europe But unfortunately we cannot bring 100 people here on stage even though we would like to thank every single one of them Just a little bit about the background of Susie so it's originally started by I The creator of Yesi.net and maybe I don't know anyone here using yesi.net One person. Wow. So good. So how about we've had the opportunity to explain to people a little bit about yesi What is the difference between yesi and Google? So this is the basic This slide points out the difference between centralized search and decentralized search. So if you have And connected with the question. What is distributed? So a search engine like every large-scale search engine Google and Bing and everything else and They they are distributed because They have a lot of servers and the task is distributed to all these servers, but they are not decentralized They are centralized so a distributed system which is centralized and what I wanted to do is to switch from Distributed not the centralized system to a distributed and diesel and centralized system So take all these computers apart and make a big network out of it and control all the all this data with a peer-to-peer network so it's like It's like file sharing, but it doesn't share files it shares indexes Another project that share Substantial amount of code together with the CCI which is another project called lock lock And in false Asia we have been working for several years on the social media data engine lock lock against this one was started by Mario and Michael in 2014 at the CCC we could not find a Okay, so at this time at the CCC 2014 we could not manage to find a big data source to play with so we start the lock lock project so the idea of lock project is to harvest Social media data to play around with and From the data so we collect all together two billion trees From from Twitter and then when we have a huge amount of time what we were thinking so what we can do with it So we start to Index the data and make sure so instead of having the normal shirts box. We also try to see if we can Create question and get A reasonable answer from from from these data and that was also the stock of Susie I project. Okay, so Another thing that we realize here so we have the Google home and Alexa echo at home Ourself so we try to to test it and see what we can do we divide because we at the moment build to see what we realized is that Whenever you have a question to add the device every few months it will give you a Different angel and you will not be able to perform sometime that you were able to perform two months ago For instance over Christmas this year. I tried to play ask you go home to play some Christmas music It was possible last year, but this year's asked me to sign up for a premium account on Positify in order to to search for my song And it's really tricky somehow if you also just open the browser on on your laptop you'll be able to display the music from from from YouTube, but it's not possible on the speaker and This is also the reason why we think that it's important to have a smart speaker that is how do you say is Provide transparency and the information that not that provide you the freedom the choice of listen to To what you want to hear instead of somebody push the information into you Based on some kind of partnership with the provider What are the what are the expectation form of smart assistant? So it's mentioned that beside playing music What else we can do what kind of business domain that we can tap in with to see I maybe you can tell A little bit so I think there are many different things that we could do with a smart speaker And we can look at like a search engines how they do this today So actually if you search engines years ago, there was always Like a list of websites with links too, but nowadays we see many answers already And you are a search engine experts Michel so maybe you could tell us a bit about your experience What what do you see how how has it changed over the years now? What what do we get us an output to questions we ask to search engines? The first step which was observable was semantic enrichment like another display of more information about a topic, but Now if you if you try to search at Google with a Complete sentence then Google gives an answer in a complete sentence or if a Complete list of what you have to like if you ask about cooking It's like you get a recipe and you don't need to click on the search result Actually get here's the example if you ask for how to cook spaghetti Then of course you get you get a search result But not that as the first hit at the in the beginning you get complete answer You don't need to go to that to the web page anymore. So Google is starting giving direct answers to direct questions so this is this is Makes it visible how the steps from the web search is going to Smart speaker you all already have this on the web page in a search result You don't actually don't need the web anymore to get answers so in the future if you if The next generation will not recognize anymore that there are search results that you can go to a web page You just get direct answers. So it's obvious this that the interface Should change and should change only to giving direct answers to your questions And yeah, not just answers also actions so for example like it's possible to and play songs directly or to Play videos directly Yeah, for example an output that we were thinking also is charts or diagrams So any kind of media could be performed by Yeah voice or by voice can also be like your TV could we have a voice interface and show Screens as well and you could also imagine that you control AR VR So it's just a normal user interface So the next slide would be a lot of people actually come to us They try out to see online and they said it. Okay. This is not working and what we Want to do people don't believe that we can't Build something that can compete with the major tech player So what are the opportunity out there? Is it something that feasible that possible to make an open source? personal assistant or it is just an idea For fun, but we do not do the for fun We really want to to make it possible and then and then we do believe that it will happen So whenever people ask you that if it for open source, it's not gonna Be successful then we would give a sample of wiki media What is the biggest the dictionary now most of people use wiki media is show this is the some of the Motivation we believe that with the old with the power of the community we can make things happen and We are here to share our idea and we hope that people would join up with us with the same vision and same believe that we can Build something that relates Alexa or Google home this is another Example of a successful open-source project WordPress, I don't think and of course Linux We don't need to to talk further. There's plenty of Successful opens up project out there and and and we believe that Susie could be one of those Again with the power of the community, I think that we definitely able have the possibility to achieve amazing amazing things and The goal of Susie each you this power to build machine that can answer all the question and The people could think of Our advantage the day is because a lot of people working on the fields There are already a lot of question available out there through the huge data set of the worldwide web and We can also use the day dynamic web content and tap into open API's or Jason web services They these all these data enable us to provide content for our system and For the answer and respond of Susie for instance You can you can call an external API on on where does it answer all the question related to Where the forecast for instance? so our approach to build the entire ecosystem that makes us engage a lot of people in the community to build different client for for Susie and they also like different component and And Trending the service in the different way, so there are a lot of challenge out there, but whatever decision we take What we want to do it to give the user a choice to limit the storage of personal data on on the cloud So what is the progress of the project? What kind of components already available? in Susie hi, so right now in front of us I have the Susie smart speaker prototype So this is a very simple to prototype you with the Raspberry Pi Microphone and the speaker head. So basically it only plays One task which is play have you to play the music and the reason why we want to do this Is we want to have a prototype to show people that it's possible to do something with with open source and Majority of the people who own the device. They only use the device to play music This is the majority interaction of the user Based on some research So what specific should I say about it? So we wanted to make it easy that everybody can rebuild this thing. So we didn't put on Special hardware of something which is difficult to get so this is just the Raspberry Pi 3 and For 10 euros microphone had we did a lot of experiments with microphones USB microphones and it didn't work very well. So 10 euros for their two microphones on it. It's called Re-seat to microphone head Re-speaker receipt seat. Oh, yeah, the company is called Reese receipt Seat studio. Oh, sorry. I messed it up But if you can ask us and there there's also it's an inner documentation what we use so All design parts are of course Available as open source and this small piece of 3d design also as well We have an respion Version we forked the respion Repository and made our own respion version with our software. It's called Zuzibion and It's built automatically and you can put it on the SD card and it runs then the device So I think a challenge here is that a lot of people in the community they have knowledge about software But our experience is also that not everything can be solved with software only for example And there's always the question of the hot words here So a hot word to activate a device and our experience is like if you have a very good microphone And then it works much better than let's say with a cheap microphone But of course the goal is to keep the price of the hardware that is needed to build an Open-source Assistant below a hundred dollars Yeah, or a hundred euros So so this is a challenge that we are facing and yeah We are continuing the conversation with hardware developers here and if anyone has Any knowledge we are happy to to learn from them how they solve these challenges watch Michelle and Mario dimension And something that another thing that we already implement. We have the Android and iOS Client for for Susie so you can actually download the app on the app store and try to to test our test the system Another thing we also have a web Client so on on a web player need to also ready is built with the react.js and It's supposed to support most of the action types Including what Mario mentioned earlier images audio video map table charts and Yeah, we also want to Encourage more user to join it and test the existing action types that are valuable out there and Another thing that we already implemented we have another desktop client using the electron framework Why do we use electron framework is allows the development of desktop Queue application using components originally developed from the web and There's something that we are really happy about and also very proud of those skills CMS so what is a skills a skill is a drawer or set a drawer that Produce in so for for question. Yeah And if you have Experienced in building skill with Alexa, you will see that our skills in F look very similar It's have a good interface and also very easy to use Why is it? easy to use In all the services in order to write a skill or to raise a drawer set up rule You need to know a specific set of program programming language But for Susie you don't have to it doesn't matter with a programming language that you use we Invented something called the language of thought With very simple and easy like the wiki style so you can create your your skill within a Few minutes instead of have to go back and learn Java or Python And We also saw the core of the Susie come from Susie AI server I think we share later on you can explain a little bit about the language of thoughts how you That is this idea in the beginning. Yeah Susie server provide output in the creation file. Yeah, is it the Yeah, so this is a complete picture of the Infrastructure of the of the project so we have Susie server in the middle and then the Console service system component and different clients that being implemented already Beside what I mentioned already the Android app iOS web app desktop application We also build many extension for the browser. So it available on the Rom Romium file folks and we also build one extension for the magic mirror project if any of you familiar with that project so the Magic mirror you say in front of the major and it will tell you Your personal profile and your interest And we also implement many multiple messenger boss for Services like Facebook like it's a vibrant slack and tell a ram and the community continue to regain more Messenger boss on this too. Yeah, what is the technology stack behind Susie? So I think Yes, so we share the Susie server. What is the technology? People understand that people interested to view the client but they always come in other question about the server How the Susie run in the back? So the Susie server is implemented in Java software. It's a server which accepts requests containing the string that the Person the user has spoken or typed in and it responds with a JSON object. So it's actually really easy The it doesn't mean that you have to program In Java if you want to make a skill as one folks said the language of thought is really easy and it's really it's Understandable. It's not programming But You don't know you don't need to know something about the server if you want to use the Skills or program skills. So this is just a typical Java stack Oh, yeah, this is like a normal full stack application so the the front end is implemented in HTML and We are using Yeah, the Java for that is No, no Java HTML front end is in the in the application front end and in the web front end So Android is native to Java or Kotlin and this is just this is just a normal technology Interestingly, we don't know so much about the background information how Other smart speakers are implemented. So There's nothing where we can copy some behavior from and This is very similar to the other search engine projects that I made before so It's a lot of things are search engine related like scraping a search result from YouTube to get a list of Possible movies that we can play as music. So Yeah, this is another component which we need in the smart speaker So we don't we always need the answer from the Susie server back end to have some intelligent Answer with some knowledge inside but to get there in a device like this We first have to do a speech detect a text and after we get an answer We must do a text-to-speech So right now we are using the best opportunities from a technology standpoint which we get which is Google speech or text and text-to-speech of course this Project is also about privacy. So actually we shouldn't do this But this is an intermediate step until we have something which can run on the device itself which We would be happy to use So there there is a software like pocket sphinx to do Speech-to-text, but it's not working so well and it's not good for demonstration It's implemented in our client, but we are not using it for demonstration. Yeah, I think this is an important point but architecture wise we discussed this point several times and So the implementation is done in a way that we can switch between different voice recognition Services or solutions. So Once we have enough data or better service, we can just switch to it immediately and it's not always about the software It's also about the data for example CM use things or other projects The question is do you have? like a good language set in this software solution and we had companies and Projects that ask us for example to collaborate on this and develop Yeah, new implementations for new languages. So that's something that we could also collaborate with other projects And once we are we have a device which can operate or completely offline. We will Get much more applications possible like like in security environments like like in medical applications or other applications babe You shouldn't be dependent from other systems and should be to complete an independent. It is also a very big privacy thing Yeah, I find this point what you just mentioned with the Offline very very important. Yeah, and because okay once we have many people in Asia They don't always have like good access to to the internet and actually it's also the case in Germany that not everyone has always good access to the internet But like also from the privacy standpoint, I mean, why should I Contact or like Why should I ask my cloud service to switch on my local music player and play my Private music library. Why do I have to connect to the cloud to do that? I don't have to do that so one thing That we are working on is like only connect to the cloud if you really need it and Secondly, if you're not connected to the internet then Like try to support as much as possible offline So even if people say or I want the the awesome voice Online from this service or when it's offline it could still maybe have like the the basic Basic voice or something like that implementation or it could have basic services So this is really an important goal in this project that as much as possible should work offline And people who don't want to share their data with cloud services They they don't have to share their data or they don't have to share any Cloud information or they Trust a service and and this service could delete the data potentially Okay, so I would like to go back to what we mentioned earlier the language of our thoughts how to Make skew with Susie skew CMS Okay, so basically this is an interface of Skew and there are only a lot of Skew written by the community available on the Website if you want to just to inspect some of the action type you can just go there and Look at the website and then we gonna do not really the demo. We're gonna show you quickly how to How you can create a skew Okay, so before you before you create a skew For people who don't have a knowledge In this yet and who want to try out themselves so we implement something called Explained and analyze and this is got we got inspired by the Westworld theory I Think the people aware of you seen this theory, right? Yeah, raise your hand if you have seen this Okay, so most of you so We don't have to explain in the Okay, so so basically The analy is a debugging system when Let's say a robot or personal assistant give you the answer that you ask us a question Where actually the answer come from so this is what happened in Westworld and we implement Similar thing so when you get the answer that you are not happy with or you're curious where Susie give you this answer You can type in explain and it gives you the answer of which data and which channel How come they provide you the answer and I think that's something this is something that's really cool So you can inspect play different components and different code that Come come that make up this skill So at the moment, I think that would you can type explain and analyze great. Yeah And then Another layer is after they give you this plan of the skill you ask again the same question So it's playing again. What is that review skills come from? How far can it go on? Have you So it will explain where the explain skill is actually stored and so people can Analyze this expense skill and in the visual interface you will have a link So I think it's also like we're talking a lot about voice, but actually and this is already something that is different to Alexa and and Google and there is no Alexa chat where you can chat with Alexa through a UI But for us like it doesn't matter like the output from the server is a JSON file and whatever client you implement It can work So here it's it's a visual client, but you could also have an audio only client Okay, so this is to debug the answer Yeah, and then how can you really a Skill so just to repeat it again a skill is a drawer or rule says that produce answer to question Very simple. So if you go to chat doc Susie dot AI and On the right hand side on the left hand side on the right hand side you click on the burger and then it will show skill You need to lock in you need to read an account in order to to read your skill and So as I mentioned before if you look at Alexa Siri container or Google now you need to Have the knowledge either Java, Python or C++ in order to write a skill But you don't need that for for Susie AI We prepare we have prepared a few example for you We're gonna present now the fourth example for something very simple and easy which is fix Curie in answer So basically if you run a business and which you just want to raise some kind of a seed and Assistant that stay that have a funny conversation with your user As you see on the ball roses red Susie is a hack you can try so one and Once the first sense then either the question and the second sense and is the answer which is to both How Susie respond back to the user and you can go on go on if you have time you can sit down and write like Thousand line of question and answer just to create something funny and this would be in turn I think also in Alexa with a many skill so fix a question and answer and another type of Skill which is random answer in question so you can divide Random answer for the specific question in this case What is your favorite dish and you can already divide? What do you want Susie to answer or? in the system and It also reverse on the other way so you can provide one answer for different question that being asked by the user so in order to To make it close to the Effective I will put the more question that you create here the the closer It's get to the answer Why cause? This is the pattern you want to continue with the pattern So we know we have seen two simple examples of the Susie skilling which Which it looks like simply text now it gets more into more details which look more like programming So what we what we did is a language which is so simple that you actually don't think this is a programming language It's like we wanted to have a disruptive Situations like when the Wikipedia came it was easy to write Content because you just write text and before the Wikipedia You had to if you wanted to make a web page I mean wanted to make content you have to write HTML which is not for everyone. So this is the same with our Skill language you're not doing programming anymore. You're just writing down the sentences and it you have seen only the Most simple examples now it gets more complex. So the the star is just a placeholder where you can put in anything next So more examples where I can use this and you can fill in the content which had matched with the star And it use it in the sentence again So this is basically what was also invented with Eliza more than 30 years ago. So not Really sophisticated, but that's the beginning of the story next you can have some You can trigger some memory. So if you Use this creator symbol you can store it in a variable and use the content of the variable afterwards So Susie is able to have a memory of what was in the chat history Next Yeah, this is an example where I can use random answers for getting The result from something called function color, it's not actually a function definition But it's just a helper method which explains what's reflection in Susie So Susie can use a Susie skill to fill in some part of its answer and in this case Susie is trying to find color which it likes and if you ask it the first time it takes a random color And if you ask it a second time it remembers what it took before and prints out the same thing. So in the Second intent you see here. What is your favorite color? It decides is the color set then it prints out my favorite color is the color which is set or if it's not set it's it's it's saying I like and then The reflection takes part of function color and it's stored in the variable So it remembers this the next time Yeah so if you want to have an embed JavaScript you can Use that bang symbol to have some scripting inside. We are planning to do more scripting languages inside most interestingly like prolog or other languages which are popular Next and this is this is finally What is most important to get information from other webpages? So if you want to have content from another web page like a sports page and you could discover that this page has a JSON API and you get information from the JSON API you can use that JSON API so the most simple thing is to mention only two things from that external API and that that it's the URL itself and Another thing is the JSON path. So that's a declaration you do with that so-called console rule it's using one URL and the path to the JSON object which is called articles at articles you find a search result list and the first hit is then given in the answer line which is the title and the URL so Results lists are very important in in Susie because Using backtracking and that's a concept from logical programming using backtracking. We could use Alternative answers. So Susie is able to think about possible results how to create a private Susie chat board and This is something that's very simple Again, do the same interface To go to chatstocksusie.ai and instead of Create a skill you can create a chatbot and you can easily Follow The four step of how to create a chatbot and Interate it into your own website. I think the interesting thing for a chatbot So what is the difference between a chatbot and a skill? so a chatbot is a private is a private skill basically, yeah, and Originally, we had the idea to make everything open Yeah, let's make people like open source as much as possible but there are maybe private APIs or keys that people use to access web services and That is Reason why yeah chatbot could be good and also you can embed it on your website so you can click on JavaScript code for example and Yeah, go through it. Maybe yeah, let's go through the tabs steps. Okay, so so for example here is also another interesting feature if you have a chatbot then you want your chatbot to look like Maybe like your website or like your favorite design So you could for example add a picture or change the color and add your own little icon Or your own picture for the answers. So all that is possible here. And yeah, there's a small icon They're up there when you can try it out So you can switch to a view Visual a visual view or code view. Yeah, so both is possible just like in HTML then they are the next step is That we're adding options. For example limit a chatbot only to a certain website or to number of certain websites And yeah include Susie AI skills So there are many default skills and Susie AI if you don't want them if you want the chatbot only communicates what you tell Susie AI in your skill and then you can limit that as well. And yeah, of course There are many more features that we could imagine and and yeah in the final step. You simply copy A small piece of code and put it in your HTML page and then you'll have Susie AI on your own website How to be a Susie smart speaker? I think that We run it now of time and I think We share already explained in the beginning. Yeah, how we view a speaker Should we show the Do we still have time for Yes Yeah Yes, so If you want to get involved and want to have to be an open source Personal assistant all of our development are open. You can find information on for Asia GitHub and there is a video How to make the speakers also on pink reverse And We if you want to connect with us, we have a Susie Gitter channel Our developers are there. Basically, you can always get an answer from from the community It's just We are working on it But yeah, so so we need to collect more and so form from the community be able to yeah, but it is a good idea Yeah, but some people the dream what it's on the opens of community. They want to interact with other people So this yeah, so this is the drop-up of our presentation There's so many area that Susie I Want to conquer like so for desktop browser Mobile tablet and many more so but we all know that Open always wins so the next thing for us is to To have a Susie as a solution and offer services around Susie and We hope that you join our development and get in touch with us so that we can build The open conversational web together and if you have any idea of your web any project out there already that doing similar thing Please connect them with us It's one more thing so in two in March this year 14 to 17 they're gonna be our 10 anniversary of the first Asia summit if you happen to be in Singapore, please join us Many of the Susie developers will be there. We have dedicated to work shop We will work on this and fixing bugs improving the system So check out our website 2019.forceasia.org if you want to meet out in Singapore Thank you very much for your attention And I would also like to take the strength to thank you the organizer and the volunteers for making the video and Having us here today. Thank you very much for your hard work