{"id":37429,"date":"2023-07-26T07:14:25","date_gmt":"2023-07-26T07:14:25","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=37429"},"modified":"2023-09-22T07:35:00","modified_gmt":"2023-09-22T07:35:00","slug":"what-are-recommendation-engines-and-use-cases-of-recommendation-engines","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-are-recommendation-engines-and-use-cases-of-recommendation-engines\/","title":{"rendered":"What are Recommendation Engines and use cases of Recommendation Engines?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What are Recommendation Engines?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-662.png\" alt=\"\" class=\"wp-image-37430\" width=\"795\" height=\"350\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-662.png 1022w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-662-300x132.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-662-768x339.png 768w\" sizes=\"auto, (max-width: 795px) 100vw, 795px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Recommendation Engines<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Recommendation Engines, also known as Recommender Systems, are algorithms and tools designed to recommend relevant items or content to users. These systems analyze user behavior, preferences, and item attributes to provide personalized recommendations for products, movies, music, articles, and more. Recommendation engines are widely used in various industries to improve user experience and increase engagement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Top 10 use cases of Recommendation Engines:<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>E-commerce:<\/strong> Recommending products to customers based on their browsing history, purchase behavior, and preferences.<\/li>\n\n\n\n<li><strong>Streaming Services:<\/strong> Recommending movies, TV shows, or music to users based on their viewing or listening history.<\/li>\n\n\n\n<li><strong>Social Media:<\/strong> Recommending friends or connections to users based on their existing network and interests.<\/li>\n\n\n\n<li><strong>News Aggregators:<\/strong> Recommending articles or news content to users based on their reading history and interests.<\/li>\n\n\n\n<li><strong>Online Advertising:<\/strong> Recommending ads to users based on their browsing behavior and interests.<\/li>\n\n\n\n<li><strong>Travel and Hospitality:<\/strong> Recommending hotels, restaurants, or travel packages based on user preferences and past bookings.<\/li>\n\n\n\n<li><strong>Job Portals:<\/strong> Recommending job postings to candidates based on their skills and past applications.<\/li>\n\n\n\n<li><strong>Real Estate:<\/strong> Recommending properties to potential buyers or renters based on their preferences and search history.<\/li>\n\n\n\n<li><strong>Music Streaming:<\/strong> Creating personalized playlists or radio stations based on users&#8217; music preferences.<\/li>\n\n\n\n<li><strong>Food Delivery:<\/strong> Recommending restaurants and dishes to users based on their past orders and ratings.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">What are the feature of Recommendation Engines?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-663.png\" alt=\"\" class=\"wp-image-37431\" width=\"592\" height=\"444\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-663.png 960w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-663-300x225.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-663-768x576.png 768w\" sizes=\"auto, (max-width: 592px) 100vw, 592px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Feature of Recommendation Engines<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Collaborative Filtering:<\/strong> Analyzing user behavior and preferences to find similarities and make recommendations based on similar users&#8217; choices.<\/li>\n\n\n\n<li><strong>Content-Based Filtering:<\/strong> Analyzing item attributes and user preferences to recommend items with similar features.<\/li>\n\n\n\n<li><strong>Hybrid Approaches:<\/strong> Combining collaborative filtering and content-based filtering for more accurate recommendations.<\/li>\n\n\n\n<li><strong>Personalization:<\/strong> Providing personalized recommendations based on individual user profiles.<\/li>\n\n\n\n<li><strong>Scalability:<\/strong> Efficiently handling large datasets and user bases to deliver real-time recommendations.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">How Recommendation Engines Work and Architecture?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-666.png\" alt=\"\" class=\"wp-image-37434\" width=\"585\" height=\"439\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-666.png 660w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-666-300x225.png 300w\" sizes=\"auto, (max-width: 585px) 100vw, 585px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Recommendation Engines Work and Architecture<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>The architecture and working of recommendation engines can vary based on the specific approach used. However, here&#8217;s a general outline of how they work:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Data Collection:<\/strong> User behavior data (e.g., user-item interactions, ratings, clicks) and item attributes are collected.<\/li>\n\n\n\n<li><strong>Data Preprocessing:<\/strong> Data is preprocessed to handle missing values, normalize ratings, and create user-item matrices.<\/li>\n\n\n\n<li><strong>Similarity Calculation:<\/strong> Similarity metrics are used to find similarities between users or items. For collaborative filtering, it may involve calculating user-user or item-item similarity. For content-based filtering, it may involve calculating similarity based on item attributes.<\/li>\n\n\n\n<li><strong>Recommendation Generation:<\/strong> Based on similarity scores and user preferences, the recommendation engine generates a list of top N recommended items for each user.<\/li>\n\n\n\n<li><strong>Feedback Collection:<\/strong> User feedback on the recommended items is collected to further improve the recommendations.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">How to Install Recommendation Engines?<\/h2>\n\n\n\n<p>The installation process for recommendation engines depends on the specific library or tool used. Some popular recommendation engine libraries and platforms include:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Surprise:<\/strong> A Python library for building recommendation systems.<\/li>\n<\/ol>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">   pip install scikit-surprise<\/code><\/span><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>LightFM:<\/strong> A Python library for hybrid recommendation systems.<\/li>\n<\/ol>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">   pip install lightfm<\/code><\/span><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li><strong>Apache Mahout:<\/strong> A scalable machine learning library that includes recommendation algorithms.<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Download and install Apache Mahout from the official website (https:\/\/mahout.apache.org\/).<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li><strong>TensorFlow Recommenders:<\/strong> A TensorFlow extension for building recommendation models.<\/li>\n<\/ol>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">   pip install tensorflow-recommenders<\/code><\/span><\/pre>\n\n\n<p>Please note that recommendation engines can be complex and may require a good understanding of the underlying algorithms and techniques. It&#8217;s recommended to refer to the official documentation and tutorials provided by the specific library or platform for detailed installation instructions and best practices.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Basic Tutorials of Recommendation Engines: Getting Started<\/h2>\n\n\n\n<p>Sure! Let&#8217;s see the step-by-step basic tutorials for building recommendation engines using two popular Python libraries: Surprise (collaborative filtering) and LightFM (hybrid recommendation).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-669-1024x768.png\" alt=\"\" class=\"wp-image-37437\" width=\"677\" height=\"508\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-669-1024x768.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-669-300x225.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-669-768x576.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-669-1536x1152.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-669.png 1600w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Basic Tutorials of Recommendation Engines<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Step-by-Step Basic Tutorial for Building Recommendation Engines using Surprise:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Install Surprise:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install the Surprise library using pip:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">pip install scikit-surprise\r\n<\/code><\/span><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Import Libraries:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a Python script (e.g., <code>recommendation_surprise.py<\/code>) and import the necessary libraries:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">from<\/span> surprise <span class=\"hljs-keyword\">import<\/span> Dataset, Reader, SVD\r\n<span class=\"hljs-keyword\">from<\/span> surprise.model_selection <span class=\"hljs-keyword\">import<\/span> train_test_split\r\n<span class=\"hljs-keyword\">from<\/span> surprise.accuracy <span class=\"hljs-keyword\">import<\/span> rmse\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li><strong>Load and Prepare Data:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Load your user-item interaction data into a Surprise <code>Dataset<\/code> and define the data format with a <code>Reader<\/code>:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Assuming your data is in a CSV file with columns: 'user_id', 'item_id', 'rating'<\/span>\r\nreader = Reader(line_format=<span class=\"hljs-string\">'user item rating'<\/span>, sep=<span class=\"hljs-string\">','<\/span>)\r\ndata = Dataset.load_from_file(<span class=\"hljs-string\">'data.csv'<\/span>, reader=reader)\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li><strong>Split Data into Train and Test Sets:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Divide the data into testing and training sets for evaluation:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">trainset, testset = train_test_split(data, test_size=0.2)\r\n<\/code><\/span><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li><strong>Build and Train the Model:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Choose a collaborative filtering algorithm, such as Singular Value Decomposition (SVD), and train it on the training data:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">model = SVD()  <span class=\"hljs-comment\"># For example, using SVD for collaborative filtering<\/span>\r\nmodel.fit(trainset)\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"6\">\n<li><strong>Evaluate the Model:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Evaluate the model&#8217;s performance on the test data using Root Mean Squared Error (RMSE):<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">predictions = model.test(testset)\r\nrmse_score = rmse(predictions)\r\n<span class=\"hljs-keyword\">print<\/span>(<span class=\"hljs-string\">\"RMSE:\"<\/span>, rmse_score)\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Step-by-Step Basic Tutorial for Building Recommendation Engines using LightFM:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Install LightFM:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install the LightFM library using pip:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">pip install lightfm\r\n<\/code><\/span><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Import Libraries:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a Python script (e.g., <code>recommendation_lightfm.py<\/code>) and import the necessary libraries:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">from<\/span> lightfm <span class=\"hljs-keyword\">import<\/span> LightFM\r\n<span class=\"hljs-keyword\">from<\/span> lightfm.datasets <span class=\"hljs-keyword\">import<\/span> fetch_movielens\r\n<span class=\"hljs-keyword\">from<\/span> lightfm.evaluation <span class=\"hljs-keyword\">import<\/span> precision_at_k\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li><strong>Load and Prepare Data:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Load a sample dataset like MovieLens for movie recommendation:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">data = fetch_movielens()\r\n<\/code><\/span><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li><strong>Split Data into Train and Test Sets:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LightFM provides a split function to create train and test sets for evaluation:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">train_data, test_data = data&#91;<span class=\"hljs-string\">'train'<\/span>], data&#91;<span class=\"hljs-string\">'test'<\/span>]\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li><strong>Build and Train the Model:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a LightFM model and train it on the training data:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">model = LightFM(loss=<span class=\"hljs-string\">'warp'<\/span>)  <span class=\"hljs-comment\"># For example, using Weighted Approximate-Rank Pairwise (WARP) loss<\/span>\r\nmodel.fit(train_data, epochs=<span class=\"hljs-number\">30<\/span>, num_threads=<span class=\"hljs-number\">2<\/span>)\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ol class=\"wp-block-list\" start=\"6\">\n<li><strong>Evaluate the Model:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Evaluate the model&#8217;s performance on the test data using precision at k metric:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">k = <span class=\"hljs-number\">5<\/span>\r\nprecision = precision_at_k(model, test_data, k=k)\r\n<span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">\"Precision at {k}: {precision.mean()}\"<\/span>)\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>These tutorials provide basic steps to build recommendation engines using Surprise (collaborative filtering) and LightFM (hybrid recommendation). For real-world applications, you will need to customize the data loading process, handle user-item interactions, and explore different recommendation algorithms and hyperparameter tuning to achieve more accurate and personalized recommendations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What are Recommendation Engines? Recommendation Engines, also known as Recommender Systems, are algorithms and tools designed to recommend relevant items or content to users. These systems analyze user behavior, preferences,&#8230; <\/p>\n","protected":false},"author":25,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-37429","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/37429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=37429"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/37429\/revisions"}],"predecessor-version":[{"id":37438,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/37429\/revisions\/37438"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=37429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=37429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=37429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}