Interview with Machine Learning Specialist
In our last article we talked about the benefits of Machine Learning for marketplaces. Since this is an extremely interesting and popular topic, we decided to interview one of our specialists to learn more about ML first-hand. Watch our video or read the transcription below.
- Hello, My name is Vadim. I am VP of Sales and Marketing. We are starting series of Q&A sessions with Machine Learning (ML) professionals. Let me introduce Vyacheslav. Please tell us about yourself. What do you do?
- Hi, I am Slava. I work as a software developer and as ML engineer for about 7 years. Now I integrate ML into current Yandex services: classifieds mostly, cars and real estate. These services are marketplaces and I try to find the most profitable places to apply some deep algorithms where ML can bring maximum value for business.
- So, my first question. I am not really good in all this. Can you tell me what is ML in general?
- ML is a bunch of techniques to learn computer to do some human job. We know that computers work actually with just bytes. Computers can add, sum or multiply them. But people need to solve more high-level issues that are connected with the meaningful data, not just with raw bytes. ML helps people to extract internal knowledge from the data. It can do almost the same that human specialists can. But machine is much faster than one person. When you try to explore something, you take items one by one and compare them: what is different and what is common between them and so on and so on. You understand the meaning of these items; what is good and what is bad, what can be solved better etc. It takes a long time for a person to find out this knowledge. Moreover, if you are doing this work you can't just transfer your knowledge to another person. It is just in your head.
On the other hand ML algorithm can explore more sets of data, like millions of items, and find out the same knowledge that person can. But ML does it much faster. E.g. when you type search query to Google search, a human being can take your query, read all articles in the internet, find what articles you are interested in and give them to you. But it will take centuries just for one Google search. Algorithms can do this for milliseconds. That is the main advantage.
Another ML advantage is that it can extract knowledge that usual person cannot see just because it is so deep. You can’t read all articles in the internet. You can’t find all required information. But algorithm can. E.g. there are specialists that can detect pneumonia or cancer by X-Ray. It may be quite a difficult task for one person. Only specialists can do that. And ML can make this issue much easier for new graduates who just finished medical college.
- Ok. So, in general, ML is looking for some patterns in data and is trying to use it to provide business value for all the data.
- Yes, and it does this much faster and sometimes much more accurate than an average human. This is why ML is used.
- Ok. I have heard about machine learning, deep learning, neural network. What is the difference between them?
- Neural network is just a certain algorithm that is used in ML. There are bunch of other algorithms such as gradient boosting trees or linear regression. Neural networks are just the most popular ones. Neural networks consist of a lot of layers. Each layer consists of separate neurons. Every neuron takes input from all neurons from the previous layer. We receive one layer and then another one and another and so on. That’s why it is called network. If we take a look at all the layers in vertical position we can see quite deep and huge structure. This is deep learning. When you build not just neural network but when you build network with a lot of layers. E.g. such models as Reznet has from 50 to 150 layers. Such structure helps to extract the most deep, the most internal knowledge from the source.
- Each layer has its own logic or is it all focused on one goal?
- Each neuron has inside of it a small and quite stupid algorithm. But when we group them we have a great amount of such neurons. They work e.g. as a parliament, as a big social system where there are a lot of different experts. Even if one expert doesn’t know something the whole system is very strong. E.g. in hive where 1 bee is just one small part. It is not so clever. But the whole hive is a very conscious system that can execute much more difficult work and solve much more difficult issues.
- Thank you. Now I get it. Previously you mentioned that you are working with ML for marketplaces to increase their ROI and value. Can you tell us several examples how you can help marketplace to get value from ML?
- Ok. E.g. marketplace is used when certain user tries to choose some service or some items from different contragents. Thus there is an absolutely logical idea to show the user the most appropriate items that he may want. We can recommend something that is more affordable for this user. We can try to understand what he is interested in. That is recommendations part. Also we can try to detect if the user is a good one or a bad one. Is he a fraud or a legal user? Maybe he performs some malicious activity on other sites,with other users on your platform. And we should detect it not when somebody abuses the user. And this user sends a letter to support like "please ban that user, he is a fraud man". We should find this malicious activity asap, detect it to ban users by ourselves.
- Without human help, right?
- Yeah. Also we can adjust prices on the marketplaces to get profit for all the parties, for all users in general: for you as a platform owner, for sellers, for buyers. Maximum profitability for everyone just by using supply and demand curve e.g.
Then we can extract knowledge about users in our platforms. Is it an average person? Is it a sportsman? Is it a businessman? Or someone else? E.g. if our platform has more businessmen than usually then we should provide them necessary features. It gives you an opportunity to build your platform user-friendly and comfortable for your final users.
When your platform is big enough and has a lot of users, some users will have problems. Maybe they won’t find something or don’t know how to register or how to pay or have any other problem. When there are a lot of users like on Facebook or Amazon there are a lot of support requests. Every support request is processed by a human being. It is slow and not very accurate. By using ML we can increase user support to a whole new level.
- These are really interesting examples. Can we dive in e.g. recommendation system? How regular marketplace owner can implement it on his website?
- Let’s see. E.g. we have a bunch of items. We have users that bought something or clicked through some items. We store such history. Even if we don’t know the content of these items we can think about new, absolutely fresh users..We know that similar users do quite similar actions and they also like similar items. We can offer new user items that were good for the previous one. It requires some historical data; what users buy or cliсk or what goods they are interested in.Then we apply ML algorithm to this data. The algorithm groups the data, extracts patterns, extracts knowledge, connects one user with another. Users who buys this item usually buy another one. Later such model is deployed as a service to your site. We can predict new proposals for new users given your historical data.
- What will happen if we add more goods on the site? Or different types of goods. Should we do it again? How do we update ML algorithm?
-The model knows nothing about new goods. Its history dataset doesn’t know what people which buy these new items like.There are no clicks or purchases. We should retrain this model again using this new history. Usually it’s not a problem. Retrainment can be done e.g once per day and every day.
- So it’s always up-to-date with goods for users.
- Ok, we got it. Also you mentioned that ML can prevent fraud from the website. Is it connected to the payment or is it about communication between users?
- There are different types. It depends on what data you have. E.g. if you are an internet shop you don’t have external data about users. You don’t know how many accounts user has. You don’t know his credit score in different banks. You can’t just ban him at the payment stage. It’s maybe too late. But you can see that this user acts not as the usual one. He is not looking for some goods but instead he tries to see all the goods on every page. He behaves like a bot. Then you know that this user will not buy something. He is not a real person. So you can ban him. He won’t make exhaustive requests to your site that will cost you money and gives nothing.
- Ok and in the same time you can predict when somebody is trying to buy or is ready to buy something based on that information. Am I right?
- Yes, of course. But also it depends on the amount and quality of data you have. E.g. if you have 10 buyers per day you can’t extract meaningful data from such history. Because there are too few points. But if you have a long history and your users bought a lot of goods previous year, you can define this point when the user is the most ready to buy something. You can try to solve it to upsell something.
- So, all the point is about history data. Without it we can’t build ML.
- Yes, This is a problem from some point of view. Human specialist can learn new data without any historical dataset. But ML algorithms need this history.
- So when you are a new business ML is not an option for you. You should start to collect information at first. Correct?
- There are 2 parts. It may not be an option for you just now. But you should keep in mind that it will be an option for you e.g. in a year. To make it possible in a year you should think about gathering historical data right now.
- I got it. Also you mentioned that ML is used for clustering customers. You have a cluster of somebody who is ready to buy or a cluster of frauds. Can we also plan our advertising and marketing strategies based on this information ? Is it possible?
- Yes, of course. Using knowledge about user we can define that this user is interested in e.g. sport goods. Then we can retarget our ads.Or with the help of advertisement systems we just send him an email. E.g. "look user here we have your sport item. It is just for you". For other user we will send another email. E.g. "look there is a new iphone that you have loved".
- What’s the difference between real person investigating users’ behaviour, trying to create the clusters and ML doing it for marketing purpose?
- When human specialist tries to solve this task he usually can extract only some small amount of data. E.g. this person bought a T-shirt that’s why we are going to recommend him another T-shirt. Because we don’t know anything else. But ML system can extract more deep, more accurate data. E.g. it was not a usual T-shirt. People who bought this T-shirt with dragons are also interested in board games.
- So it will be a real small amount of users in this cluster and ads will be really targeted. Am I right?
- Yes. It will be a small cluster but all recommendations here will be accurate.
- I believe really interesting question is how to start using ML. So, what are the steps?
- First of all you should understand what issue do you want to solve. Then with the help of your specialists or other contractors you should think about what data do your ML system needs to solve your problem. Later you have to start collecting this data from logs if you have never stored this information. Or you should extract this data from your historical archives if you have already stored something. After data is collected and stored it is just a raw bunch, raw files that should be preprocessed. It should be cleaned from too old or malicious activities, from the broken data that can occasionally appears here. After preprocessing you receive dataset with clean, good data that is useful to solve your issue. Over this data ML algorithm is learned. Then algorithm is checked and tested using cross validation on part of your historical data. Then e.g. you can test it with a small portion of your users to check if it really works. That it’s better than nothing. Later you push all your users to this algorithm and it helps you eventually.
- How long does it take to implement ML when you already have this dataset with historical data? Is it a fast process?
- It depends on task, of course. But for quite simple tasks that are already solved by ML community e.g. such as recommendations, implementation process is not so difficult. It can take for about a month or a couple of months to deploy ML. But if you are Amazon or YouTube,you already have some personal recommendations. Then you need to increase its quality. It is much more difficult task where you will research what model is more preferable for your case. Or you will develop new algorithms just for your data. E.g. YouTube has a lot of recommendations that are built not on just personal behavioral data such as who clicked something but also on the content of videos. They analyze video in another ML systems and try to detect frauds or ...
- Bad behavior on the video?
- And do they remove it from recommendation system based on it?
- Maybe remove or detect that these videos are just not so good for certain people. There are models that are called DSSMs where you try to extract some knowledge from unstructured data. E.g. you process videos and encode them to a vector of 100 numbers and in parallel you do the same task for users.Then you receive 2 vectors of 100 numbers for users and videos. You just compare if they are close enough. Using this you detect if certain item match for the interests of the certain user.
- Ok. Slava, thank you. It was really an interesting conversation. It was a pleasure to talk to you.
- Thank you too.
- Thank you for your time, bye.