Recently, big Data and AI Technology Practice | Open Talk Hangzhou Station Salon held by Youpaiyun was successfully held in Hangzhou Xixi Science and Innovation Park. This event invited youzan, Getui, Fangde intelligence, Youpaiyun and other core technology developers of the company to share their big data technology experience and experience in their respective fields. The following content is collated and shared by Yin Yue, head of the intelligent team of self-praise data:

Yin Yue, head of The Youzan data intelligence team, is responsible for the construction of multiple scenarios such as Youzan search, recommendation, customer service robot, smart retail, risk control, and member marketing together with team members.

Hello everyone, I am Yin Yue from Youzan. Today, I would like to share with you the evolution and practice of youzan data intelligence team in personalized recommendation ability. I will first introduce Youzan company and our team, then share the business we engage in and the problems we encounter, and finally talk about how Youzan recommendation technology has gradually evolved.

Good data intelligence team

Youzan is a retail technology service company, committed to assisting merchants to operate mobile social e-commerce and omni-channel new retail, and provide good service to every merchant’s door-to-door customers. The Youzan data intelligence team I work for used to be responsible for youzan micro mall in the online scene, but now it is responsible for offline retail, including youzan retail business in retail stores and online stores, Youzan business in the medical beauty industry and Youzan education in offline education.

Youzan Data Intelligence team itself is a business-oriented team. Our main responsibility is to lead the process of Youzan data intelligence, involving businesses including recommendation and search, risk control, precision marketing, smart membership and smart retail.

Recommend business and scenario

The business scenario

Recommendation business: involves micro mall, retail online stores, education, selection, distribution, Youzanc.com and Aizouzou, among which Youzanc.com is a c-terminal platform business, Youzanc.com distribution is a b-terminal platform business for merchants to select goods, Youzanc.com is a CPS platform business for online celebrity anchors to select goods, and Aizouzou is a live video platform.

Scenario: Youzan provides customized plug-ins to help merchants decorate their micro pages, covering core transaction links such as business details page, shopping cart, successful payment and marketing activity page. In addition, there are customer service product recommendation scenarios where merchants and consumers communicate to improve product conversion rates.

Display form: it can be divided into drop-down waterfall recommendation, advertising banner recommendation, and window recommendation that integrates consumers’ historical browsing behavior, shop selling behavior, guess what you like and other recommendation forms.

Subject matter: product recommendation, coupon recommendation, store notes recommendation and video recommendation.

Mode: it can be divided into in-store recommendation of merchants, cross-store recommendation of products in other stores, 2C platform recommendation with “favorable selection” and 2B platform recommendation with “favorable distribution” mentioned above.

Sample scenario

We can first know how the shops with good reputation operate their own shops through the test shops. As shown in the figure above, merchants can achieve the daily operation and management of the whole core transaction link from different dimensions such as store level, commodity level, order level, data and assets through background management.

Decoration components support personalized recommendation plug-in function. As shown in the figure above, the right side is a part of micro-page decoration. Merchants can configure different plug-ins such as points mall and knowledge payment according to their own needs to form their own micro-pages. You can also select recommended rules for the current scenario as required.

Problems and challenges of youzan recommendation system

The richness of goods in the store varies greatly. Praise is mainly to service merchants to operate private domain traffic, the number of goods in different stores will vary greatly. Some may have a few more, hundreds or thousands; And some businesses have fewer goods, maybe only a few. When the number of items is very small, perhaps the value of our recommendations is not as obvious, which is a problem.

There is less cross-store user behavior. This relates to a limitation of the current SaaS business model, which is difficult to generate cross-store behavior. It is not a platform like Taobao and JD.com, where consumers can easily navigate between different stores.

The complexity of service scenarios is high. There are both C-side, B-side and customer-service scenario services. The entire business scenario and the team need to connect to many business parties.

Business demand is high. Complex business scenarios and the docking of many business parties result in a large demand for the recommended services received by the team.

Buried data is easy to miss. Most of our log information is buried in the service front end. When the service front end is upgrading other functions, the buried data related to recommendations may be lost.

Praise recommended technology evolution

Since problems arise and we have to solve them, let’s take a look at how awesome recommendation technology is evolving to solve these problems.

Youzan Recommendation System 1.0: Silo architecture

The underlying data at the lowest level is mainly business data and raw log data. Business data is generally written in MySql, such as the original information of goods and stores; Log data includes logs of merchants’ operation behavior on terminal B and consumers’ consumption behavior on terminal C.

The second layer is the offline data warehouse layer, which includes three parts: Data warehouse ODS layer is mostly to make a table mapping of the original business data in the data warehouse, do some simple cleaning and completion; The data warehouse DW layer will integrate the heterogeneous ODS layer data below into the middle layer data table table suitable for the upstream business side in the form of general grids such as star model or other wide tables. The DM layer of warehouse is closer to the business and carries out some related operations such as aggregation of indicators.

The third layer is a recommended some related function layering, first look at recall and characteristics: this layer in version 1.0 of different business lines have independent storage medium and storage table, such as have a great selection and have a great distribution has its own HBase table, and some features may exist in MySql, between each other also didn’t go to gm.

The fourth layer is the online service layer. In version 1.0, the excellent recommendation system did not separate from an independent system, but coupled our business logic with the Java code of the business side relatively closely, and embedded the recall and sorting of different businesses in the business code. The algorithmic model we used at that time was traditional logistic regression, trained by SparkPi MLlib, and then dynamically loading the sorting effect of PM model online through Java. Then the front end of the business is connected with the back end of the business, and the front end is responsible for the display and burial point related work.

Disadvantages of silo architecture

There are relatively few auxiliary systems available. For example, when offline data warehouse generates different Hive tables, it will need the praised DP system with task scheduling. We need the praised Meta system to look up different Hive tables, which is equivalent to a data dictionary to know which tables and which tables have which fields. In order to partition the effect and compare the AB test, in the favorable Bi, the data group and algorithm group need to develop their own reports to analyze the business effect.

Another obvious drawback is that if new business comes in, at least from the recall and feature level, the feature has to be re-created. I may need a separate service to connect with the business side and the front end. The entire development cycle is very long and repetitive. For example, for the same product, some data such as sales volume in the last 7 days and refund rate in the last 7 days may be stored in multiple copies in different business parties, resulting in redundancy in data use.

Youzan Recommendation System 2.0: Centralized architecture

The 2.0 era shifted from the silo model of previous 1.0 to a centralized model, bringing many architectural changes:

The underlying data layer introduces real-time data

In addition to offline data, real-time data is introduced into the basic data. The benefit of introducing real-time data is that when a consumer searches, browses, or makes a purchase, his behavior log can be captured in seconds, essentially. At the time, we were doing real-time data warehousing with Druid, dropping behavior logs into Druid and providing upstream recommendation engines to call.

Recall and feature layer

To reduce redundant development of the same feature data used by different services, we try to store the features that can be used by different services in the same HBase table. In terms of model selection, we also migrate from traditional machine learning model to model services under TensorFlow architecture, and then provide model inference services online via TFServing.

Java version recommendation engine

In the new architecture, we abstracted a dedicated Java version of the recommendation engine and layered it according to different functions: trigger — recall — rough — refined — intervention. In the process of finishing, TFServing mentioned above is called to perform finishing scoring of goods and other objects. The final intervention is more business-oriented, such as breaking goods in some shops or filtering some conditions, which is an intervention rearrangement layer.

Business scenarios are more complex

In comparison, version 2.0 will have more business scenarios connected. In addition to the previous Youzan selection, such as Youzan Micro mall, Youzan retail, Youzan education and Youzan, all business scenarios will be connected through the new system.

The auxiliary system is more complete

Add more standardized record buried point scheme buried point platform, specially used to do the algorithm to achieve good or bad ABTest system and help us to manage the real-time scheduling task of the excellent RP platform.

Youzan Recommendation System 2.5: semi-open architecture

Although version 2.0 is much better than version 1.0, and a lot of development efforts have been made to reuse resources, there are still some issues that remain unresolved. The Recommendation engine of Java version mainly provides an external interface, while the front end display and burying point are still developed by the front end of the business side, which will bring great challenges to the follow-up tracking of business effect and the burying point accuracy of log information which ABTest experiment must rely on strongly.

We have experienced that both the buried point and the online test were completed before, but some fields of the buried point were lost due to the upgrade of other functions of the business side. As a result, the late effect could not be tracked and we had to push the business side to reverse the completion of the buried point. In the actual development process, this greatly affects the development efficiency and docking efficiency.

In order to solve these problems, we added a recommendation front-end servitization component between the recommendation engine and specific business scenarios. In this way, the display form of each display bit of recommendation, how to bury the site, and what parameters to interact with the recommendation engine behind, are completely isolated from the front end of the business side. As long as the front end tells you which business it is (whether you need waterfall mode, horizontal sliding mode, or some other mode presentation), the scene ID, and the necessary parameter information. You can quickly hook up a recommended business scenario with seven or eight lines of code, hook up one day, test one day, and go live the third day. In fact, we have successfully provided this version of the recommendation engine service to many merchant users through the Open platform of The Like Cloud, helping merchants to display their products on the page of the non-like domain.

In addition, in version 2.5, the secondary system synchronizes with the awesome algorithm platform, including Sunfish for training sections and the triage and highly available mini-boxes for managing online TFServing.

Youzan Recommendation System 3.0: Open architecture

Version 3.0, shown above, is the direction the liked recommendation team wants the current recommendation architecture to go. At present, the merchants of praise and docking from a dimension to DaTiLiang, in scenes and big business to have customized requirements: education class of merchants hope their goods can be in accordance with the education level of age, class or course requires association recommended, and some businesses hope must set itself of certain goods in certain booth before. In the face of such a variety of customization requirements, it would be very expensive and unrealistic to rely only on the praised recommendation team to develop and iterate continuously. Therefore, we hope to open up more components and plug-ins through different links to meet the personalized needs of merchants in different scenarios, so as to achieve an overall open effect of a favorable recommendation system.

At present, the entire recommendation business iteration needs to switch back and forth between multiple platforms. We also hope that a unified recommendation management platform can be established in the future to integrate the functions of multiple management systems and one-stop solve the connection of the whole recommendation business.

Recall, sort evolution

Recall and sorting are two key links in the recommendation system, which will be introduced in detail.

Evolution of the recall

At present, the sources of recall can be roughly divided into four categories: I2I, U2I, T2I and bottom pocket.

I2I: Recall mode of goods seeking goods

  • FPGrowth, mining correlations between different goods

  • Item-cf, item-Base cooperative filtering algorithm

  • I2T2I, which uses labels to establish relationships between different products

  • GraphSAGE, a vectorization recall mode based on the subject matter of graph convolution

  • Title similarity, the title is generated by Bert title vector, on the title vector based on locally sensitive hash vector similarity recall

  • The head graph is similar, and the corresponding vector of the picture is extracted from the head graph of the commodity through the picture classification model, and some similar head graphs are recalled in the vector of the head graph

U2I: Recall mode of goods sought by people

  • DMP recalls the source, which refers to the correlation between the product and some user attributes such as the consumer’s gender and age

  • U2T2I, similar to I2T2I, also uses labels to establish a relationship between users and products

  • User-cf: collaborative filtering based on similarity between users

T2I: Recall mode of looking for goods by label

We have a category classification model based on goods, an extraction model based on product terms and title product terms, and a relationship model generated by the click-to-buy relationship between search terms and goods in the search process. This kind of recall source is mainly used in the real-time recall mentioned above and in the scenario where there is no user behavior before

A last-ditch strategy

When all else fails and no context is available, you can’t recommend nothing, you have to have a backstop strategy, and that’s why it sells.

Evolution of sorting

Finally, I would like to share with you the evolution of the like sorting algorithm. Version 1.0 adopted a relatively traditional sorting algorithm based on logistic regression, while version 2.0 introduced a relatively simple entry-level Wide & Deep model after the use of Deep learning framework. After going through multiple iterations and comparing multiple multi-task learning frameworks, we finally chose the ESMM model proposed by Alibaba in 2018, which can train CTCVR and CTR simultaneously as training objectives.

Of course, in the process of trying these models, we also used some other models in different business scenarios to try. For example, we have tried the LambdaMart model based on ListWise Learning to Rank in the distribution business of praise. However, the scene of customer service dialogue may be more search oriented. In order to capture the sentence correlation between two search questions and answer titles, we used pairCNn-related deep learning model, and finally found that ESMM model may be more suitable at this stage.

Recommended reading

Praised unified access layer architecture evolution

Talk about eBPF on the tuyere