As a subfield of AI, machine learning is growing ever more popular as implementations spread. The underlying concept involves creating computer algorithms that are capable of learning to perform a task on their own. This is achieved by supplying the system with data, giving that data a classification and then assigning an evaluation function. By then applying an optimization technique to act upon the data, the algorithm is able to intelligently make decisions based on the predefined evaluation function.
By further training the model, the accuracy of the decisions, whether they are predictions or recommendations, can be refined to produce powerful outcomes. This type of machine learning has been applied to a new video recommendations service by developers at MSDN’s Channel 9.
In this post by Karsten Januszewski on the Channel 9 blog, the author discusses how they implemented the Azure Machine Learning Recommendations API to improve on their previous recommendations algorithm. Drawing heavily from the comprehensive sample app, Januszewski’s implementation involved four steps that run every week.
The constant supply of new video content requires the development team to regularly update the catalog data to represent the latest entries. This is accomplished by calling the ImportCatalogFile API and passing all unique IDs for video content.
With the catalog updated, the team then upload usage data from the anonymized playback data to keep the model informed. To upload this data, Januszewski used the ImportUsageFile API, with a minor customization to prevent duplicate uploads (this code is provided).
With new data to act upon the model, the next step is to build a new model and replace the old one using the BuildModel API. The author then polls the GetModelBuildStatus, with a BuildStatus.Success indicating completion. Calling UpdateModel then passes the BuildId of the latest model.
Finally, Januszewski chose to build a cache locally, rather than querying the app directly for a recommendation. This is achieved by walking through every Channel 9 video ID and calling ItemRecommend, then storing the results on Channel 9’s own server. The wider implementation of machine learning supported by migration to the cloud is providing a vast range of powerful services for business.