<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Dailymotion - Medium]]></title>
        <description><![CDATA[The home for videos that matter - Medium]]></description>
        <link>https://medium.com/dailymotion?source=rss----5ab3bf42288e---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Dailymotion - Medium</title>
            <link>https://medium.com/dailymotion?source=rss----5ab3bf42288e---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 12 Apr 2026 17:45:26 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/dailymotion" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Reinvent your recommender system using Vector Database and Opinion Mining]]></title>
            <link>https://medium.com/dailymotion/reinvent-your-recommender-system-using-vector-database-and-opinion-mining-a4fadf97d020?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/a4fadf97d020</guid>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[ai-data]]></category>
            <category><![CDATA[data]]></category>
            <category><![CDATA[dailymotion]]></category>
            <category><![CDATA[recommendation-system]]></category>
            <dc:creator><![CDATA[Samuel Leonardo Gracio]]></dc:creator>
            <pubDate>Thu, 21 Sep 2023 12:25:33 GMT</pubDate>
            <atom:updated>2023-09-21T12:25:33.543Z</atom:updated>
            <content:encoded><![CDATA[<p>With its new positioning, Dailymotion wants to give its users the possibility to get out of their filter bubble. The new home feed is designed to allow everyone to debate and confront their opinions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KVlepexPBPXqUbNg0rKlMA.png" /></figure><h3>One feed, several opinions</h3><p>Dailymotion mobile app offers a single feed with vertical videos from a <strong>broad list of content creators</strong>. The aim is to offer diversified and stimulating content that adapts to the user’s desires, while allowing them to <strong>challenge or express their opinions</strong>.</p><blockquote><strong>Download the app on </strong><a href="https://play.google.com/store/apps/details?id=com.dailymotion.dailymotion"><strong>Google Play</strong></a><strong> or </strong><a href="https://apps.apple.com/fr/app/dailymotion/id336978041"><strong>App Store</strong></a><strong> and try it yourself!</strong></blockquote><p>Significant work has already been done to build this new Homefeed using an architecture inspired by the <a href="https://en.wikipedia.org/wiki/Multi-armed_bandit"><strong>multi-armed bandit</strong></a> and <a href="https://medium.com/mlearning-ai/building-a-multi-stage-recommendation-system-part-1-1-95961ccf3dd8"><strong>multi-stage recommender system</strong></a>. You can learn more about our very first steps in building this model <a href="https://medium.com/dailymotion/optimizing-video-feed-recommendations-with-diversity-machine-learning-first-steps-4cf9abdbbffd">here</a>.</p><p>This article presents a newly created <strong>recommender system</strong> built on top of this existing architecture. The goal of this new feature is to provide our users with a <strong>different point of view on videos or topics they have already engaged with</strong>.</p><h3>Overview of the Home Feed architecture</h3><p>In order to understand this new recommender system, a very quick explanation of the <strong>Home Feed architecture</strong> may be necessary.</p><p>If we simplify the architecture, the algorithm responsible for recommending videos within our home feed can be considered as a <strong>combination of different small recommender systems</strong>, each with its own behavior: one to recommend videos based on their <strong>performance metrics</strong> (watch time, number of views, freshness…), another to recommend videos based on the <strong>user’s history</strong> or <strong>subscribed channels.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iO3McKHNZvNwD6jQVth6Eg.png" /><figcaption>Quick overview of the Homefeed recommender system</figcaption></figure><p>This article will focus on our new “opinion-based” recommender, a <strong>more original recommender system</strong> which goal is to recommend <strong>personalized content</strong> while also attempting to <strong>challenge the user’s opinions</strong>.</p><blockquote>While writing this article, the recommendations provided by this new recommender system are available through a button “Show me a different POV” appearing on each eligible video. The feature will evolve in the coming months.</blockquote><h3>Bring more perspective</h3><p>Before going into detail on every aspect of this recommender system, it might be useful to describe its <strong>overall approach</strong>.</p><p>First of all, the new recommender system is <strong>designed at a video level</strong>. In fact, for each video on a user’s home feed, the first step of the “opinion-based” recommender (or “Perspective BETA” feature) is to <strong>find similar videos</strong>, i.e, videos also talking about the same topic as the input video.</p><blockquote>This brings up an important aspect of this new feature: <strong>not all videos are eligible</strong>. For example, some videos may be too “<strong>niche</strong>” in their subject matter, making it impossible to find similar videos.</blockquote><p>The second and undoubtedly most important aspect of this recommender system is to <strong>rank these videos according to the opinion they express</strong>.</p><p>Finally, we have, when it’s possible, a list of similar videos ranked by the intensity of the opinion they express.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9vpSgZg9tgX7uFO35ZGzLg.gif" /><figcaption>Example of the feature powered by the new “opinion-based” recommender.</figcaption></figure><p>This quick explanation of our new <strong>“opinion-based” recommender system</strong> makes it possible to divide it into two main steps:</p><ul><li><strong>Candidate Generation:</strong> responsible for finding videos evoking the same subjects as those already enjoyed by the user.</li><li><strong>Re-ranking:</strong> order the resulting videos and recommend videos having a strong and/or different opinion.</li></ul><p>The following schema details the subparts of this <strong>2-step architecture</strong> :</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*D8YhtXwSIWQNROOs9J-CnA.png" /><figcaption>The global Architecture of the new opinion-based recommender system.</figcaption></figure><h3>Candidate Generation</h3><p>Dailymotion’s catalog contains several <strong>hundred million videos</strong>. The goal of the candidate generator is to transform this video catalog into a short list of <strong>dozens of relevant videos</strong> for a user.</p><p>The first filter is done using simple <strong>heuristics</strong>: for instance, for French users, we only want to recommend recent content, in French, from content creators and traditional media. By doing this, we can already narrow down the list to a few <strong>hundred thousand videos</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*s0HedEpWAqrfMZOO-cgtUQ.png" /></figure><p>Nevertheless, we still need to reduce the number of videos while also finding videos that are <strong>similar to the ones the user has already watched</strong>. To achieve this, we need to <strong>represent each</strong> <strong>video as a vector</strong>.</p><h4>Textual embeddings to represent videos</h4><p>In order to <strong>embed a video</strong> object, i.e represent a video as a vector with real numbers in a continuous vector space, several options are available: Frame-Level embedding, Multi-modal embedding… All these options have an important drawback: <strong>they are computationally heavy</strong>.</p><p>Fortunately, each video uploaded to Dailymotion is also associated with <strong>several textual metadata</strong>: a title, description, and some tags. Transforming a <strong>textual information</strong> into a vector is both <strong>simpler and cheaper</strong>. To do that, we use the <a href="https://tfhub.dev/google/universal-sentence-encoder-multilingual/3"><strong>Multilingual Universal Sentence Encoder (MUSE)</strong></a>, a <strong>pre-trained</strong> and <strong>open-source multilingual sentence embedding model</strong> handling <strong>16 languages</strong>, including French.</p><p>Nevertheless, the video metadata can sometimes be <strong>too limited</strong>. Some videos may have textual metadata that <strong>does not showcase the real content of the video</strong>. For example, a video where the only information available is a title “My Daily VLOG” and no description at all may <strong>not provide enough textual information</strong>.</p><p>However, a solution to this lack of textual information can be found. Recent advances in speech-to-text models have led to the emergence of a <strong>pre-trained</strong> and <strong>open-source</strong> solution that makes it easy to obtain a <strong>transcript</strong> of a video: <a href="https://github.com/openai/whisper"><strong>Whisper</strong></a>.</p><h4><strong>The Machine Whisperer</strong></h4><p><a href="https://github.com/openai/whisper">Whisper</a> is an open-source speech recognition model developed by OpenAI capable of providing <strong>automatic video subtitles</strong>. Based on a Transformer sequence-to-sequence model, Whisper has been trained with 680k hours of training data in several languages and with different audio quality, making it <strong>robust for all types of audio soundtracks</strong>.</p><p>Subtitles are an essential feature to make our mobile app accessible to everyone. Moreover, they can also be <strong>used as transcripts</strong> of our videos, i.e., a written record of the spoken content in a video.</p><p>These <strong>auto-generated transcripts</strong>, typically of very good quality, allow us to extract <strong>much more textual information than the video title or description</strong>.</p><p>By using Whisper to obtain the transcript and MUSE to embed the text contained in this transcript, we can now obtain a <strong>complete representation of the actual video content </strong>using only<strong> textual metadata</strong>.</p><p>The following diagram describes how this pipeline works but also introduces a new element in the overall architecture of our recommender: <a href="https://qdrant.tech/"><strong>Qdrant</strong></a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DudWZpAVBj-f_25bW4QM9A.png" /><figcaption>Representation of transforming a video into a vector by using its transcript.</figcaption></figure><h4>Qdrant: build a K-NN</h4><p><a href="https://qdrant.tech/">Qdrant</a> is an <strong>open-source vector search database</strong>. Qdrant is designed to efficiently handle high-dimensional vector data and enables retrieval of similar vectors based on their <strong>cosine similarity scores</strong>. It is based on an algorithm called <strong>Hierarchical Navigable Small World (HNSW)</strong>, an <strong>approximate K-NN algorithm</strong> with a very short response time (≈20ms).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aQyFzZQzMasUs2YtPnU0OQ.png" /><figcaption>Cosine similarity between two embeddings, each one representing a video.</figcaption></figure><p>A Qdrant database can easily store hundreds of thousands of embeddings, along with various associated metadata such as the video’s language, creation date, or other useful information if we wish to filter certain videos when querying the server.</p><p>Qdrant is the final <strong>step of the candidate generator</strong>: it enables quick <strong>retrieval of similar videos</strong> from any video liked by a user on the home feed. For instance, for any video in the Qdrant database, we can use its embedding to retrieve N similar videos using its approximate K-NN functionality and cosine similarity.</p><p>Nevertheless, even if among some of these N closest videos some contain different points of view, we still need to <strong>re-rank</strong> the output of this approximate K-NN in order to <strong>give priority to videos with a strong or different opinion</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*nxWbxnF63gqFM06N6l-x2Q.png" /><figcaption>Overview of the Candidate Generation step.</figcaption></figure><h3>Re-ranking: express your opinion</h3><p>Now that we have our candidate videos, i.e, the N closest videos to an input video, we can now <strong>re-rank</strong> this short list of videos in order to push content that will <strong>challenge the opinion of the user</strong>.</p><p><strong>Opinion mining</strong>, also known as <strong>sentiment analysis</strong>, is a subfield of natural language processing (NLP) and machine learning that aims to determine the sentiment or emotional tone expressed in a piece of text.</p><p>With the recent dominance of <strong>Large Language Models (LLM)</strong> like GPT (OpenAI), LLaMA (Meta) or PaLM (Google), sentiment analysis has also received a significant boost. These complex models are also capable of analyzing text and assigning it an <strong>opinion score</strong>.</p><p>In our case, we send each video transcript to Google’s PaLM API. The model <strong>predicts a score</strong>, ranging from -1 to 1, which reflects the video’s opinion on the subject it addresses. The higher the score in absolute value, the stronger the opinion. A score of zero means that the video is neutral and does not express any particular opinion.</p><blockquote>In this re-ranking stage, we also use other video metadata such as the aspect ratio of the video or the freshness to build our final ranking.</blockquote><p>Finally, we have the final output of this new recommender system: for each video liked by a user, we can now retrieve <strong>similar videos ranked in terms of opinion intensity</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*f8A2Vyi1U_nAy9ZR3oKqdA.png" /><figcaption>Re-ranking step: retrieve opinion score using PaLM and re-rank using global score</figcaption></figure><h3><strong>Create your own opinion</strong></h3><p>We are proud to have presented you a more original recommender system, not only personalizing content for users using a content-based approach but also challenging their opinions by re-ranking the result using sentiment analysis.</p><p>The two main subparts of this opinion-based recommender system, namely <strong>Candidate Generation</strong> and <strong>Re-ranking</strong>, play crucial roles in building this key feature for Dailymotion.</p><blockquote><em>Would you like to be part of upcoming meaningful Data and AI products at Dailymotion? Check our </em><a href="https://careers.dailymotion.com/"><em>open positions</em></a><em>.</em></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a4fadf97d020" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/reinvent-your-recommender-system-using-vector-database-and-opinion-mining-a4fadf97d020">Reinvent your recommender system using Vector Database and Opinion Mining</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Optimizing video feed recommendations with diversity: Machine Learning first steps]]></title>
            <link>https://medium.com/dailymotion/optimizing-video-feed-recommendations-with-diversity-machine-learning-first-steps-4cf9abdbbffd?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/4cf9abdbbffd</guid>
            <category><![CDATA[video-feed]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[online-video-platform]]></category>
            <dc:creator><![CDATA[Samuel Leonardo Gracio]]></dc:creator>
            <pubDate>Thu, 06 Oct 2022 14:56:41 GMT</pubDate>
            <atom:updated>2022-10-06T14:58:36.067Z</atom:updated>
            <content:encoded><![CDATA[<h4>As part of its new mobile experience, Dailymotion redesigned its video recommendation system.</h4><p><a href="https://www.dailymotion.com/"><strong>Dailymotion</strong></a><strong> hosts more videos you can watch in several lives, and more are added as we speak. Among all these choices, how can you find the best ones for you? That’s the job of a recommender which automatically presents videos curated to your interests.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KFI84T4psBbCBoNfGvlaLQ.png" /></figure><h4>Why did we rethink the mobile video recommender?</h4><p>Use cases drive the existing recommenders on the dailymotion.com website, as most Web users are anonymous. Therefore, the priority is to suggest videos to watch after the current one.</p><p>On the native applications, <strong>all users are required to log in to use the app, providing an opportunity</strong> to <strong>display personalized content</strong>. Mobile app usage patterns are also different. For instance, users may like to watch short videos on the Dailymotion app while commuting.</p><h4>How to deliver in a short time?</h4><p>At that time, the application’s user interface was undergoing a major revamp, and we were changing several underlying APIs and event stores. Crafting something light allowed us to adapt quickly during the journey.</p><p>That’s why we decided to <strong>keep it simple and iterate fast</strong>. Deliver the most needed features first, observe user behavior changes, then repeat. Keeping the solution simple and iterating quickly led to remarkable results in a short time.</p><h4>The ideal new home feed experience</h4><p>The home feed is the first screen you see after launching the Dailymotion iOS or Android app. We expect users to “snack” videos by watching them directly on the home feed.</p><p>Together with the product team, we formulated the ideal recommender:</p><ul><li><strong>Relevant &amp; diverse: </strong>videos come from all the interests of the user.</li><li><strong>Variability of reward: </strong>different results at every app start and refresh of the home feed.</li><li><strong>Explainable: </strong>recommendations based on transparent features.</li><li><strong>Iterable: </strong>this first version should be easy to tune and extend.</li></ul><p>Users are more likely to interact with the first results, so we present the most relevant at the top. Moreover, the recommender should <strong>ship quickly</strong> to receive rapid feedback.</p><h4>Kickstarting the recommender</h4><p>The performance of a recommender is usually evaluated on previously collected data. In this case, there were no appropriate historical user interactions to use.</p><p>We built a user interface in a notebook using <a href="https://ipywidgets.readthedocs.io/">Jupyter Widgets</a> to inspect the results while constructing the recommender.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lpAaWBX_aojszXWkSqRGbg.png" /><figcaption>Experimental user interface to recommend videos in a Jupyter notebook</figcaption></figure><p>After each algorithm change, we could immediately see videos like a real user would and evaluate their relevance qualitatively.</p><p>Thanks to this, we could conveniently demo an early version to the stakeholders and collect their feedback to drive future improvements.</p><h4>The Dailymotion’s recommender main components</h4><p>The new recommender is made of two main parts:</p><p><strong>Candidates: </strong>retrieve all videos which can be recommended.</p><p><strong>Ranking: </strong>produce an ordered list of videos for a given user.</p><p>This is inspired by the two-stage approach used for Youtube recommendations. First, data analysts defined how to select candidates from quality partners. Then, machine Learning work focused on picking the right videos and assembling a list.</p><h4>A rankers octopus</h4><p>For the ranking part, the architecture builds on an extensible Ranker component with the following contract:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/1bc077c76518e2aae9bcce1ba7b51f82/href">https://medium.com/media/1bc077c76518e2aae9bcce1ba7b51f82/href</a></iframe><p>We coded several complementary rankers based on this simple Python class. Our final recommender is an<strong> ensemble of multiple rankers </strong>respecting the diversity of the user interests.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*sfJpP1bq8qV8on-Y6f7_Vg.png" /><figcaption>Components of the video recommender</figcaption></figure><h4>Fresh and best-performing videos</h4><p>The Freshness &amp; performance ranker selects videos by using several features:</p><ul><li><strong>Freshness</strong>: users like watching recent videos, e.g., related to news headlines.</li><li><strong>Real views ratio</strong>: number of views lasting 10+ seconds divided by the total views count. Filter out accidental clicks and some clickbait videos.</li><li><strong>Watch ratio</strong>: time watched divided by the video duration. Videos with a high ratio tend to be more pertinent.</li><li><strong>Aspect ratio</strong>: prefer square and vertical image formats, which fit better on a mobile screen.</li></ul><p>The performance ranker computes a <strong>weighted sum of these features</strong>. Coefficients are tuned by emphasizing freshness to keep learning how new videos can perform when presented to actual users.</p><h4>Surface new content</h4><p>Ranking videos only according to their performance leads to users always seeing the same content over and over.</p><p>To <strong>break this bubble</strong> and robustly learn how a video performs, we must give it a chance by showing it to a sample of people.</p><p>The <strong>Exploration ranker</strong> randomly pulls videos within the top 100 of the Freshness &amp; performance and Featured videos rankers results. These videos have an equal chance of selection because all are relevant. This helps surface unseen content from the bottom of the list.</p><h4>Always something new to watch for the users</h4><p>One essential requirement is to <strong>show something new each time</strong> a user opens the app or refreshes the home feed. <strong>Discovering new videos</strong> is what ensures users <strong>keep coming back</strong> to Dailymotion.</p><p>The videos presented are different each time. The ones from the rankers are combined into a single list. Each ranker is assigned a probability to balance exploration versus historical performance.</p><h4>“Show me videos from my interests”</h4><p>New users indicate their interests when setting up their accounts as part of their <strong>onboarding process</strong>. Learning if they like Movies, Tech or Politics avoids the <a href="https://en.wikipedia.org/wiki/Cold_start_%28recommender_systems%29">cold start</a> problem.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/291/1*3CC5TBUfRpNLQp7_7JYapw.png" /><figcaption>Selection of user’s interests</figcaption></figure><p>However, <strong>not all interests have the same volume of uploaded videos</strong>. For instance, news and political videos are more frequent than cooking recipe videos.</p><p>We devised solutions to prevent some interests from filling up the recommendation slots and ensure we show videos from all the interests of a user.</p><p>In the candidate selection phase, the recommender groups videos by interest. Then, it selects a roughly equal number of videos from each interest. This method, named <a href="https://en.wikipedia.org/wiki/Stratified_sampling"><strong>stratified sampling</strong></a>, helps us deliver a balanced experience.</p><p>Moreover, <strong>to respect the diversity</strong> of a user interests list in the final videos list, we re-order them to alternate different topics:</p><ol><li>Compute a similarity score for each pair of videos based on their attributes</li><li>Add the first video to the final list.</li><li>Add the following video, less like those already added to the list.</li><li>Repeat the previous step until the list is complete</li></ol><h4>Right content = happy users</h4><p>Imagine for a second that we choose to optimize for money first. Placing advertisements on videos is a significant way to generate revenue. It could be tempting to promote the most-clicked videos to display more ads. But that would often result in low-quality content (clickbait) and a bad user experience.</p><p>A healthier goal is to help users in finding <strong>exciting content every time</strong>.</p><p>We optimized watch time per user on the home feed, a measure for <strong>engaging content</strong>. In this case, we use the median watch time per user, which has many advantages:</p><blockquote><strong><em>Robust to outliers:</em></strong><em> the median roughly ignores exceptionally long watch times.</em></blockquote><blockquote><strong><em>Robust to clickbait videos:</em></strong><em> these videos have a short watch time; users often click on the video and then stop.</em></blockquote><blockquote><strong><em>More retention and better experience: </em></strong><em>videos with a good watch time are the videos that have the highest entertainment potential</em></blockquote><blockquote><em>D</em><strong><em>ownload the app on </em></strong><a href="https://play.google.com/store/apps/details?id=com.dailymotion.dailymotion"><strong><em>Google Play</em></strong></a><strong><em> or </em></strong><a href="https://apps.apple.com/fr/app/dailymotion/id336978041"><strong><em>App Store</em></strong></a><strong><em> and try it yourself! (France only as of writing)</em></strong></blockquote><h4>This is only the beginning. What’s next for you?</h4><p>Our journey is far from over, and we have already identified several improvements:</p><blockquote><strong><em>More personalization:</em></strong><em> we based recommendations on user interests in this first release. The following version will integrate more users’ actions: watch history, likes, channels’ subscriptions…</em></blockquote><blockquote><strong><em>Present even more relevant videos</em></strong><em> to first-time users who had no previous interactions.</em></blockquote><blockquote>Would you like to be part of upcoming meaningful Data and AI products at Dailymotion? Check our <a href="https://careers.dailymotion.com/">open positions</a>.</blockquote><p>The video recommender was developed by Denis Angilella and Samuel Leonardo Gracio, Machine Learning engineers at Dailymotion, in collaboration with the Product teams. Denis Angilella and Samuel Leonardo Gracio also co-authored the article.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4cf9abdbbffd" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/optimizing-video-feed-recommendations-with-diversity-machine-learning-first-steps-4cf9abdbbffd">Optimizing video feed recommendations with diversity: Machine Learning first steps</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How Dailymotion committed to closing the gender pay gap in two years]]></title>
            <link>https://medium.com/dailymotion/how-dailymotion-committed-to-closing-the-gender-pay-gap-in-two-years-447bf1fa4c0d?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/447bf1fa4c0d</guid>
            <category><![CDATA[people]]></category>
            <category><![CDATA[women]]></category>
            <category><![CDATA[gender-equality]]></category>
            <category><![CDATA[gender-gap]]></category>
            <category><![CDATA[women-in-tech]]></category>
            <dc:creator><![CDATA[Karine Aubry]]></dc:creator>
            <pubDate>Mon, 08 Mar 2021 09:06:05 GMT</pubDate>
            <atom:updated>2021-03-08T09:06:05.770Z</atom:updated>
            <content:encoded><![CDATA[<h4>An International Women’s Day special editorial by Karine Aubry, Chief People Officer at Dailymotion</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gZNGiEe5iWEFMTWmCvUZPw.jpeg" /></figure><p><strong>At the end of 2019, we shared an ambitious goal with our teams, fully aligned with our values: to close the gender pay gap between women and men over the next two years. Nothing to brag about, simply paying employees fairly regardless of gender — equal pay for equal work. How do we end up with gender pay gaps? How to measure these gaps? How to fix this? How to build a solid system to maintain equity once fixed? We thought it might be worth sharing our journey, our wins, mistakes, and takeaways.</strong></p><p>Dailymotion is the leading global video destination that connects over 350 million consumers to their daily fix of the most compelling content, with offices in Paris, Montpellier, New York, Singapore, and Seoul. So we operate in a highly competitive global tech industry, fighting an intense talent war. Over time, gaps were created, due to hiring negotiations, internal promotions, the market value of specific skills at a given time and, let’s be honest, due to a lack of process to anticipate the gaps rather than acknowledging them when it’s already too late.</p><p><a href="https://medium.com/dailymotion/why-we-dont-hire-rockstars-gurus-jedi-knights-or-ninjas-at-dailymotion-14e78fc10e">Why we don’t hire “rockstars”, “gurus”, “Jedi Knights” or “ninjas” at Dailymotion</a></p><h3>Equal pay for equal work</h3><p>We started by clarifying what “<em>equal pay for equal work</em>” means. How can we measure equal work in <a href="https://medium.com/dailymotion/how-to-move-300-people-to-full-remote-in-24-hours-34ff9bbb2b59">an international company with 350 employees</a> and over 200 different job titles when we cannot afford the services of a consulting firm? By defining equal work as <strong>“<em>equal responsibilities</em>”</strong>. We used our internal career framework, breaking down our jobs into larger occupational categories and a ladder from junior to senior VP, each level coming with a skillset and a salary band for each country.</p><p>This framework was already in place for talent acquisitions and promotions. What was missing was <strong>the gender* analysis</strong> to challenge the fairness of our decisions. We made sure to communicate and explain this framework, in an effort to empower women when asking for a raise or salary assessment. So at the end of 2019, we measured that <strong>women earned on average 6% less than men</strong>. We allocated <strong>0.4% of our gross wages</strong> to close the gender pay gap. With this budget, we were able to <strong>lower the gap to 4%</strong>. Looking at the trajectory, we were confident in our ability to reach our goal within the next 22 months.</p><blockquote><em>*</em>In most of the countries we operate in, employment law has a binary understanding of gender, especially in France where we have our HQ. So we started with a cis-gendered and binary-oriented analysis of the gender pay gap, but we are working to figure out how to implement the full spectrum of gender diversity. We are also working on implementing more Diversity KPIs to guarantee the opportunity equity of our decisions (for example age, family status, ethnicity, different ability…).</blockquote><h3><strong>The assumption was wrong…</strong></h3><p>Because of our attrition rate — Dailymotion is paying the price for the talent war — new hirings and regular promotions, when assessing the required budget at the end of 2020, we were frustrated to find out that despite our efforts, <strong>the gender pay gap had slightly increased.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/379/0*eOLnCg8-GFyPxGZ1.gif" /><figcaption>Our frustration at this exact moment</figcaption></figure><p>So what were we supposed to do in this kind of a situation? Give up? Not an option. Here are the main takeaways from our next course of action:</p><ul><li>Analyze the impact for each hiring, promotion, or termination</li><li>For any event impacting the gender pay gap negatively, immediately identify the necessary budget to offset it as soon as possible</li><li>And of course deal with the root cause: plan trainings about unconscious bias, challenge and improve recruitment and promotion processes… and collect data!</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J0A-XtJzWhA0T92KdtcqSw.png" /></figure><h3>It’s a long road getting there</h3><p>In 2021, we doubled the budget allocated to gender pay equity, hence deciding to lower the budget assigned to performance increases. <strong>Placing equity before performance</strong> was a conscious choice because, in the long run, our values matter more.</p><p><a href="https://medium.com/dailymotion/are-you-ready-to-take-action-cc0a539a2152">Are you ready to take action?</a></p><p>To leaders who want to reach gender equity in their organization and don’t know where to start: yes, it can be a frustrating journey because there is no recipe book (yet?). But it is also extremely motivating and rewarding to write this chapter of history: together with our diversity of approaches and methods, we have no doubt that we will close the gender pay gap. Our work at Dailymotion is not complete yet but our commitment remains unchanged.</p><blockquote>“Life doesn’t always give us what we deserve, but rather, what we demand. And so you must continue to push harder than any other person in the room.” — Wadi Ben-Hirki</blockquote><blockquote>Of course, we are open to feedback and to open-source our approach. We would be happy to share our work with any organization interested. And if you’re looking for a job, we’re hiring. Join Dailymotion and change the world through video!</blockquote><p><a href="https://careers.dailymotion.com/">Dailymotion Careers - Join our team</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=447bf1fa4c0d" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/how-dailymotion-committed-to-closing-the-gender-pay-gap-in-two-years-447bf1fa4c0d">How Dailymotion committed to closing the gender pay gap in two years</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How Deep Learning can boost Contextual Advertising Capabilities]]></title>
            <link>https://medium.com/dailymotion/how-deep-learning-can-boost-contextual-advertising-capabilities-c9ca7c8fc4e9?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/c9ca7c8fc4e9</guid>
            <category><![CDATA[advertising]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[computer-vision]]></category>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[data]]></category>
            <dc:creator><![CDATA[Brice De La Briere]]></dc:creator>
            <pubDate>Thu, 28 Jan 2021 12:57:30 GMT</pubDate>
            <atom:updated>2021-01-28T12:57:29.984Z</atom:updated>
            <content:encoded><![CDATA[<h4>Dailymotion’s advertising solution uses video frame signals and computer vision techniques to target categories from the IAB taxonomy while respecting user privacy</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OYpN6gSoKoA4lMZhRMDuNQ.jpeg" /></figure><p><strong>In a world where the end of web cookies is fast approaching — bringing</strong> <strong>uncertainty for advertisers and marketers — and where technical and legal constraints are constantly increasing, the need for user privacy and personalized ads has never been so important. One of the biggest challenges for contextualization is the categorization of content at scale. Here is how we enhanced our in-house contextual advertising solution at Dailymotion, using state-of-the-art computer vision techniques for video categorization.</strong></p><p>Well-categorized content provides a superior user experience through better <a href="https://medium.com/dailymotion/building-modern-recommender-systems-when-deep-learning-meets-product-principles-c79b16375109">recommendations</a> and contextual ads, using <strong>video categorization </strong>to place ads adjacent to relevant content​. Additionally, it provides more capabilities and better performance to our advertisers. Hence, the idea to classify our videos was born.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*e4fgcT1WtYDlLoIV9EZUMA.jpeg" /><figcaption>Non-contextual video Ad example</figcaption></figure><p>Currently, our Partners can select an “upload category” while uploading their content to Dailymotion. Since it is very high-level information (for instance: news, sports, lifestyle, etc.), we wanted to go a step further to obtain a more granular definition of our content. For example, for the upload category “sports” we would like to say whether it is soccer, basketball, or rugby.</p><h3>Video <strong>Classification Problem</strong></h3><p>From a machine learning standpoint, the problem that we are trying to solve is called a <strong>multi-label</strong> <strong>classification problem, </strong>which is a generalization of multiclass classification. In the multi-label problem, there are no restrictions on how many of the classes the instance can be assigned to.</p><h4><strong>The IAB content taxonomy</strong></h4><p>Now that we have the idea to classify our content we need to define which categories to use and what granularity level we want. We opted to use the <a href="https://www.iab.com/guidelines/content-taxonomy/">IAB content taxonomy</a> as it has become the new standard in the ad industry. This taxonomy is supposed to describe every possible content and it enables us to describe each video of our catalog more accurately and consistently.</p><p>We selected a subset of 196 IAB categories that suited our catalog variety. This allowed us to slightly simplify the classification task.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ChQvFA1dj7UEq6hAV_6Z7w.jpeg" /><figcaption>Some of the selected IAB categories</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GE2KQiXjcyyVBOVfA2GNrg.jpeg" /><figcaption>High-level I/O of the classifier</figcaption></figure><h4><strong>The Dataset</strong></h4><p>Since we wanted to tackle this problem with a supervised training model using the IAB categories as labels, we need a properly labeled dataset. There are many different signals we can use to define the examples in our dataset:</p><ul><li><strong>video metadata:</strong> video owner, upload category, language, the upload date, etc.</li><li><strong>textual signals:</strong> video title and video description</li><li><strong>visual signals: </strong>video frames</li><li><strong>audio signals: </strong>audio track</li></ul><p>Through the use of textual signals, we have already developed several solutions that tackle the content classification problem and currently have two textual models in production.</p><p>One dedicated to French and English text:</p><p><a href="https://medium.com/dailymotion/bag-of-words-representation-for-video-channels-semantic-structuring-4f2777591e4a">Bag-of-words representation for video channels’ semantic structuring</a></p><p>And one dedicated to multiple other languages:</p><p><a href="https://medium.com/dailymotion/how-we-used-cross-lingual-transfer-learning-to-categorize-our-content-c8e0f9c1c6c3">How we used Cross-Lingual Transfer Learning to categorize our content</a></p><p>Although these textual models work well and are already in production at Dailymotion. But sometimes the title and description do not allow us to predict an IAB category either because they are very short, too vague, or in a language that we do not handle yet. That’s why we thought having another model based only on visual signals would allow us to improve our predictions in some scenarios:</p><ul><li>It would<strong> improve our overall coverage,</strong> predicting categories for the videos in a language that we do not handle yet</li><li>As the problem is multi-label, it would<strong> increase the number of correct IAB categories per video</strong>, for the videos already classified by the textual models</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HoNx6Nj-RdAMEL46XlNWqg.jpeg" /><figcaption>An example of complementary predictions</figcaption></figure><blockquote>In this example, a first model based on textual signal only has predicted “Interior Decorating<strong>” </strong>and from the video frames, our visual model has predicted “Food Movements”. Both predictions seem to be accurate given their respective signal. This is the complementarity we hope to get for the already categorized videos.</blockquote><h4>Getting the IAB labels to train our model</h4><p>To train our classifier we will use the predictions given by the textual models as labels for the visual model. Here we introduce some uncertainty by using labels that come from the predictions of another model but we are confident in these predictions and we carefully selected a scope where they perform well to constitute our dataset. That is why we think that on average the textual model predictions would be good ground truth for the visual model.</p><p>We don’t want the models (textual and visual) to be identical, ie. to predict the same categories for the same video. Since they use a very different signal as input we hope to get a good complementarity both in terms of coverage and number of categories per video between them.</p><h4>Visual Scope</h4><p>One particularity of the visual model is the fact that we only use the frames to classify a video and it implies two strong hypotheses:</p><ul><li>It is better if the video is <strong>short (between 1 &amp; 10 minutes)</strong>. Usually, it makes less sense to try to predict a category like “Automotive”, “Cooking” or “Pets” on a one-hour long documentary, for instance.</li><li>The categories that we try to predict must be <strong>visual</strong>. It is very difficult to predict “News”, “Politics”, or “Jazz” just by looking at the frames of a video, even for a human.</li></ul><p>This is why we had to reduce the number of categories the model can predict to the visual ones only. Here is an example of what could be non-visual and visual according to us:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jqyMRlOZ-zXpg1UkDkEW-w.jpeg" /><figcaption>IAB category bucketing</figcaption></figure><h3>Video Classification State of the Art</h3><p>Now that we have defined our problem, we know that it corresponds to a video classification problem where we want to train our model end-to-end with our own data and labels. Therefore, we looked at the video classification literature and in particular two workshops from CVPR 17&#39; [1] and ECCV 18&#39; [2].</p><p>The NeXtVLAD [5] is one of the best performing non-ensemble architectures for the video understanding competition (YT8M). We were particularly interested in non-ensemble solutions for simplicity&#39;s sake and running costs. The NeXtVLAD is an improvement of the NetVLAD network [3][4] that proved to be effective for spatial and temporal aggregation of visual and audio features [6].</p><p>It uses video frame features (image descriptors) from another model inceptionv3 [8] learned on the Imagenet dataset as inputs. Then these described frames are temporally aggregated at the video level by the NeXtVLAD layer. The video aggregation is then enhanced by a SE Context Gating module, aiming to model the interdependency among labels [6][7]. This video aggregation is finally used to predict some video categories.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xsMCCLaBfrpnCIVIad0D_w.jpeg" /><figcaption>NeXtVLAD architecture schema from the research paper</figcaption></figure><h3><strong>End-to-end Training &amp; In-house Tuning</strong></h3><p>The NeXtVLAD has performed very well on <a href="http://research.google.com/youtube8m/">video classification challenge yt8m</a>, but our goal is slightly different and we needed to retrain the network from end-to-end for three main reasons:</p><ul><li>We have defined our own labels, a subset of visual IAB categories that suits the advertising needs. Initially, we tried to map the yt8m challenge labels to our own IAB categories to avoid retraining end-to-end but the results we obtained were not satisfying enough. This was most likely because the mapping that we created ourselves was not perfect and introduced errors, and also because our video distribution might be different from the one in the training dataset from the yt8m challenge.</li><li>We want the model to be fully trained on the distribution of our own labels to get the best performance on our videos</li><li>We made some light modifications to the original network architecture</li></ul><p>To fit our needs and get the best possible performance for our task, we modified the original architecture with two main changes:</p><ul><li>Addition of in-house metadata in the model architecture to improve the classification. Our metadata is encoded and concatenated to the video level aggregated vector (NeXtVLAD layer output)</li><li>For engineering simplicity&#39;s sake, we ignored the audio input feature at least initially</li></ul><p>Here is the modified architecture we currently use:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bY2DyC1lyc1Q-fGgCJsv4Q.jpeg" /><figcaption>Our slightly tuned NeXtVLAD architecture</figcaption></figure><p>The only part of the pipeline that we do not re-train and use as it is, is the InceptionV3 [8] network used to describe the frames and given as input to the NeXtVLAD.</p><h3><strong>Performance Measurement &amp; Results</strong></h3><h4>Performance metrics</h4><p>The way we evaluate our model must be aligned with our product needs and we need to make sure we optimize for the right metric. In our case, the product need is defined as follows: for any given category we want to maximize the number of videos correctly labeled with it. This would be useful for both recommendation and advertising purposes but to do so, we need to split it into two objectives:</p><ul><li><strong>Coverage: </strong>we want to have as many videos labeled with a relevant IAB category as possible.</li><li><strong>The number of IAB categories per video: </strong>we want to have as many relevant IAB categories per video as possible.</li></ul><p>To measure our performance on the test set, we will plot the precision-coverage curves and in particular, we will look at the coverage value we obtain for the given precision of 80%.</p><h4>Training Loss</h4><p>The loss we use to train the network must be tractable and differentiable, we used the sigmoid cross-entropy: which measures the probability error in discrete classification tasks in which each class is independent and not mutually exclusive.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/916/1*upg_XYa10VSOIDT1umE1TQ.png" /><figcaption>Cross-entropy formula</figcaption></figure><h4>Results</h4><p>Below is an evaluation example with two different trainings runs, one with the base NeXtVLAD architecture (dashed) and the other with some architecture improvement like adding in-house metadata (plain).</p><p>Let’s have a look at the precision-coverage curves:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hDcroprmU21W7a1XAP4WpQ.jpeg" /></figure><p>For our product requirement of 80% precision, we obtain the following results:</p><ul><li><strong>Not retrained model, </strong>mapping initial yt8m labels to ours: we had around <strong>30% coverage, </strong>giving an <strong>f1 score of ~0.44</strong></li><li><strong>Base architecture</strong>: we have obtained around <strong>46% coverage</strong>, <strong>f1 score~0.58</strong></li><li><strong>Improved architecture</strong>: we have obtained around <strong>64% coverage</strong>, <strong>f1 score~0.71</strong></li></ul><blockquote>By adding our in-house metadata within the network and retraining it end-to-end, we managed to significantly increase the coverage.</blockquote><h3>Production Pipeline Overview</h3><p>To put such a model in production is a challenge since many different parts need to work at scale: video download, frame extraction, preprocessing with InceptionV3, and finally the NeXtVLAD network inference. We need to put all of these parts together in a pipeline to answer our two use cases:</p><ul><li>Run our model on every new video uploaded. An important scaling is required.</li><li>Backfill our video catalog, ie. run the model for all our videos uploaded in the past. Huge scaling is needed here since there are dozens of millions of videos available in our catalog.</li></ul><p>To fit these two use cases with the scale they require we designed the following pipeline:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cIRqfnjbUrGYBxm0XTnZNg.jpeg" /><figcaption>Schema of our pipeline</figcaption></figure><p>This pipeline uses the framework <a href="https://github.com/spotify/klio">Klio</a> developed by Spotify, initially designed for large-scale audio pipelines but it also suits our video pipeline needs.</p><h3>Merging Visual &amp; Textual results</h3><p>We have two kinds of models that classify our content based on different inputs: textual and visual. We can think about how to use and merge the different predictions we get when a video is scored by two different models. Since one of our product needs is to increase the number of IAB categories per video we decided to begin with a simple union of the predictions.</p><p>With this simple approach, for the video already classified by a textual model, we managed <strong>to increase our number of IAB categories by</strong> <strong>44% on French and English</strong> videos and <strong>by</strong> <strong>50% for our multilingual model</strong>.</p><h3>Future Work &amp; Improvements</h3><p>Enhancing our targeting possibilities with computer vision has been very challenging both in terms of machine learning and data engineering and we are happy we have managed to improve the base performance we initially achieved. Still, we have many ideas to continue to improve our pipeline:</p><ul><li>As mentioned earlier, we initially excluded the audio input, and obviously re-adding it would be a good improvement possibility.</li><li>The union of the different predictions is a simple but naive approach that we can improve.</li><li>We also think that with better visual descriptions of the frames we would attain better performance. We currently use the output from InceptionV3 but some more recent architectures have better performance on ImageNet. Also, we have seen at Neurips this year that robustness leads to improved feature representation [9], so using a robustly trained ImageNet model could be an idea as well.</li></ul><p>Video categorization has already allowed us to improve Dailymotion’s user experience and contextual advertising capabilities while respecting user privacy. Advanced Machine Learning models can now interpret what a video is about, the feeling it’s evoking, and at which exact video frame a specific product category is shown, opening infinite new opportunities for hyper contextual targeting.</p><blockquote>The quest to find more sustainable methods and “healthy data” is only just beginning, so stay tuned to hear more about our technical solutions to leverage video signals.</blockquote><p><a href="https://dailymotionadvertising.com/">Dailymotion Advertising - the home for videos that matter</a></p><h4><strong>References</strong></h4><blockquote>[1] <a href="http://research.google.com/youtube8m/workshop2017/index.html">CVPR’17 Workshop on YouTube-8M Large-Scale Video Understanding</a></blockquote><blockquote>[2] <a href="http://research.google.com/youtube8m/workshop2018/index.html">The 2nd Workshop on YouTube-8M Large-Scale Video Understanding</a></blockquote><blockquote>[3] <a href="https://hal.inria.fr/inria-00633013/document/">Aggregating local image descriptors into compact codes</a></blockquote><blockquote>[4] <a href="https://arxiv.org/abs/1511.07247">NetVLAD: CNN architecture for weakly supervised place recognition</a></blockquote><blockquote>[5] <a href="https://arxiv.org/abs/1811.05014">NeXtVLAD: An Efficient Neural Network to Aggregate Frame-level Features for Large-scale Video Classification</a></blockquote><blockquote>[6] <a href="https://arxiv.org/abs/1706.06905">Learnable pooling with Context Gating for video classification</a></blockquote><blockquote>[7] <a href="https://arxiv.org/abs/1709.01507">Squeeze-and-Excitation Networks</a></blockquote><blockquote>[8] <a href="https://arxiv.org/abs/1512.00567">Rethinking the Inception Architecture for Computer Vision</a></blockquote><blockquote>[9] <a href="https://arxiv.org/abs/2007.08489">Do Adversarially Robust ImageNet Models Transfer Better?</a></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c9ca7c8fc4e9" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/how-deep-learning-can-boost-contextual-advertising-capabilities-c9ca7c8fc4e9">How Deep Learning can boost Contextual Advertising Capabilities</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How we used Cross-Lingual Transfer Learning to categorize our content]]></title>
            <link>https://medium.com/dailymotion/how-we-used-cross-lingual-transfer-learning-to-categorize-our-content-c8e0f9c1c6c3?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/c8e0f9c1c6c3</guid>
            <category><![CDATA[language]]></category>
            <category><![CDATA[nlp]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[data]]></category>
            <dc:creator><![CDATA[Samuel Leonardo Gracio]]></dc:creator>
            <pubDate>Tue, 20 Oct 2020 08:43:03 GMT</pubDate>
            <atom:updated>2020-10-20T08:43:03.411Z</atom:updated>
            <content:encoded><![CDATA[<h4>How Dailymotion transfers the knowledge from an English/French textual model to new languages</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*orvLse2H2oqgyO4qdw6urw.jpeg" /></figure><p><a href="https://www.dailymotion.com/"><strong>Dailymotion</strong></a><strong> is a video platform hosting hundreds of millions of videos in more than 20 languages which are watched every day by millions of users. One of our main priorities is to provide the most suitable content to our users. This can be done only through a precise categorization of our videos no matter the language.</strong></p><p>A year ago, Dailymotion presented how to <a href="https://medium.com/dailymotion/how-to-design-deep-learning-models-with-sparse-inputs-in-tensorflow-keras-fd5e754abec1">predict the main categories of a video based on its textual metadata with sparse inputs in Tensorflow Keras</a>. The results provided by using our <a href="https://medium.com/dailymotion/topic-annotation-automatic-algorithms-data-377079d27936">Granular Topics</a> generator for English and French videos encouraged us to investigate how to expand such results to other languages. How did we manage to transfer the results of our previous model to a larger set of languages?</p><h3>A need for multilingual categories</h3><p>One of the main issues a video hosting platform faces is to be able to <strong>automatically categorize a video</strong>, or improve the <a href="https://medium.com/dailymotion/building-modern-recommender-systems-when-deep-learning-meets-product-principles-c79b16375109">recommender system</a>, for instance. At Dailymotion, we have already built a strong Deep Learning pipeline that automatically predicts the category of an uploaded video from its textual metadata (title, tags, description…) using a Bag-of-Words classification model.</p><p><a href="https://medium.com/dailymotion/bag-of-words-representation-for-video-channels-semantic-structuring-4f2777591e4a">Bag-of-words representation for video channels’ semantic structuring</a></p><p>Nevertheless, this solution has a major limitation: it only works for English and French videos. In fact, generalizing this method to other languages would be sub-optimal and would require a lot of hand-labeled data for every single language.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9EhwX9xxhWqSs7Nq8_4DfQ.png" /><figcaption>Dailymotion video catalog distribution per languages</figcaption></figure><p>Moreover,<strong> </strong>other languages represent<strong> more than a third </strong>of our video catalog.<strong> </strong>As an international company, we needed to tackle this issue.</p><h3>A Transfer Learning problem</h3><p>There are several ways to tackle this issue with the appearance of <strong>strong multilingual NLP models</strong> such as m-BERT or XLM, but we chose to approach this as a Transfer Learning problem. In order to use the work previously done, we wanted to build a model that trains on English and French textual metadata but predicts on other languages.</p><blockquote>“How is it possible to learn with English and French textual data and predict in other languages ?”</blockquote><p>The objective of this article is to share how we were able to test and use new state-of-the-art multilingual NLP models in order to complete this cross-lingual classification task.</p><h4>“To Translate or not to Translate, that is the question…”</h4><p>One can wonder : <em>Can you just simply translate all your textual metadata in English ? </em>The answer is yes… and no. We can do this using the Google Translate API, for instance but this is a very trivial solution that would cost us a lot of money. In fact, we found a happy medium: a multilingual pre-trained model that can handle<strong> </strong>textual information in several languages.</p><h4>What is a Multilingual pre-trained model?</h4><p>The recent improvements in NLP research seem to converge to a specific type of model: heavy models trained on hundreds of millions of Wikipedia pages. These new models, as impressive as they are, can’t be retrained easily: during their trainings, they require a lot of computing power, often including dozens of <a href="https://cloud.google.com/blog/products/compute/tesla-v100-gpus-are-now-generally-available">Tesla V100 GPU.</a></p><p>Usually, these models have been trained once for a very general purpose. They are then available with pre-trained weights. Below is a short list of the multilingual pre-trained models that we have used during our research:</p><ul><li><a href="https://github.com/google-research/bert/blob/master/multilingual.md"><strong>m-BERT</strong></a><strong>:</strong> a multilingual version of the now most famous NLP model, BERT. Trained on 104 languages, using shared <a href="https://arxiv.org/abs/1706.03762">Transformers</a>.</li><li><a href="https://github.com/facebookresearch/XLM"><strong>XLM</strong></a><strong>:</strong> based on BERT architecture, XLM introduces a different training approach which is supposed to be more efficient for cross-lingual tasks.</li><li><a href="https://tfhub.dev/google/universal-sentence-encoder-multilingual/3"><strong>MUSE (Multilingual Universal Sentence Encoder)</strong></a><strong>:</strong> very different from the others, introduces a model focused on aligning embeddings.</li></ul><blockquote><strong>Note:</strong> All these models are available in <strong>several versions </strong>(large, small, etc.). This article will present their application on a more concrete data science problem.</blockquote><h4>Complexity of our task</h4><p>We want to train with English and French textual metadata and predict categories on other languages. This is called <em>“Zero-Shot cross-lingual classification problem”</em>. If all of the models presented above are all supposed to be multilingual, i.e, built in order to beat theoretical benchmarks on cross-lingual tasks such as XNLI, they are very often<strong> </strong>evaluated on simpler tasks.</p><blockquote><strong>Note:</strong> <a href="https://github.com/facebookresearch/XNLI">XNLI </a>is an evaluation corpus for language transfer and cross-lingual sentence classification in 15 languages.</blockquote><p>For a real-world data problem, you wouldn’t test these models in the same conditions as in a research paper. Below are examples of some issues that may occur:</p><ul><li><strong>Complex data</strong>: since we are using the textual descriptions of our videos, the data is different from a Wikipedia page, for instance. In fact, these descriptions sometimes go straight to the point and contain abbreviations, or even spelling mistakes.</li><li><strong>Content distribution:</strong> in our case, we know that our video catalog can be different for each language or country. For instance, we know that our French video catalog contains more videos categorized as <em>“Soccer” </em>than Korea’s, due to the difference in culture between these two countries.</li></ul><p>This is the reason why we needed to test and build our own implementation of these multilingual NLP models as we cannot blindly follow theoretical benchmarks.</p><h3>What is a good cross-lingual model ?</h3><p>Now that we have presented three multilingual models, we can explore how we decided between them.</p><h4>The importance of aligned embeddings</h4><p>All the state-of-the-art models presented in this article share a common structure: they take a sentence in input, convert its words into a sequence of tokens and then output an embedding. The main objective for these three multilingual models is to create a common vector space for all the languages. Nevertheless, the main difference between them is precisely this common vector space, i.e how they were trained and how their embeddings are built.</p><p>Although XLM and m-BERT do not share the exact same structure, they do share a common purpose: being able to perform on several cross-lingual tasks. For that reason, their training tasks are more general and the resulting embeddings are more complex, not simply aligned. On the other side, MUSE pre-training was focused on one goal: to create <a href="https://arxiv.org/abs/2002.03518">the most aligned embeddings possible</a>, no matter the language.</p><blockquote>“But… What do you mean by aligned embeddings ?”</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/844/1*5FJj599kX-L0PPXhux3hgA.png" /><figcaption>Example of MUSE textual similarity : the darker the box, the more similar the sentences.</figcaption></figure><p>MUSE was trained simultaneously on 16 languages with a shared encoder working with translation tasks. The result of that is a very good capability of mapping two similar sentences in two different languages in the same vector space. <em>For instance, if MUSE encodes two sentences about Cristiano Ronaldo, one in English and the other in French, the resulting embeddings will be very similar. MUSE is not language specific. </em>On the other hand, m-BERT and XLM embeddings are more general: they are not necessarily aligned per language but encode more information than that. Unfortunately, complexity can sometimes be a burden.</p><p>In theory, the MUSE shared representation between languages is better for a Zero-Shot Classification Task : if we use the embedding at the output of this model in input of our classifier, we will manage to get similar inputs for similar texts, no matter the language, without using any translation.</p><h4>From embeddings to cross-lingual classifier</h4><p>In order to really compare these pre-trained models, we present the following structure for our cross-lingual classifier:</p><ul><li><strong>Input: </strong>Embedding.<em> </em>Obtained from the pre-trained multilingual models, by passing them the textual metadata of the video in input.</li><li><strong>Classifier core:</strong> Two Dense layers, followed by a Batch Norm layer and dropout.</li><li><strong>Output: </strong>Sigmoid, resulting into a vector with a confidence for each possible class. Thus, a video can have multiple class that characterize its content.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qTswcGkYz6cTGGtZkeumNQ.png" /><figcaption>Structure our final model</figcaption></figure><p>After testing all of the different multilingual pre-trained models, including both their small and large versions and days spent on hyper-parameters tuning, we found a winner.</p><h3>The success of simplicity</h3><p>Despite the huge amount of research articles about the surprising multilingual aspect of m-BERT or the incredible performances of XLM, our own conclusions are mixed.</p><h4>BERT is dead, long live MUSE</h4><p>We tried to test our architecture with different versions of both m-BERT and XLM, but neither of them gave us satisfying results. In fact, our task may be too different from the usual benchmarks. For a cross-lingual task like ours, bordering on a problem where large-scale translation would be required, it seems that MUSE in its lighter version, is far better than these very heavy pre-trained models based on the below Transformer architecture :</p><ul><li><strong>Computing time:</strong> the lightest version of MUSE, based on CNNs, is able to compute an embedding three times faster than BERT or XLM, going from 8ms to 24ms on average for the models built with Transformers.</li><li><strong>Aligned Embeddings:</strong> as explained, we believe that for this task, the most important feature for a cross-lingual model is to provide aligned embeddings. MUSE is far better than the two others for that purpose.</li><li><strong>Global performances:</strong> we used a <a href="https://www.quora.com/What-does-the-terms-Top-1-and-Top-5-mean-in-the-context-of-Machine-Learning-research-papers-when-report-empirical-results">Top-1 accuracy</a> in order to measure the performances of each model. We saw significant differences between these models in terms of metrics.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5VuXac8jMKP_220Dqwjnyg.png" /><figcaption>Example of categories predicted on a German video using our model</figcaption></figure><p>Overall, despite the actual popularity of <a href="https://arxiv.org/abs/1706.03762">Transformers</a>-based NLP models, we believe that simplicity is key. This real-world project required a cross-lingual Transfer Learning model and MUSE, with its aligned embeddings per language seems to be the best solution.</p><h3>What’s Next ?</h3><ul><li>As already done for the English and French videos, this multilingual model is <strong>now in production</strong>. Each time a video gets uploaded on the platform, it is <strong>automatically tagged</strong> with a category.</li><li>We will continue to improve the categorization of our video catalog by using other signals. For instance, we are currently working on a <strong>computer-vision based model</strong> that tags videos using their frames.</li></ul><ul><li><a href="https://medium.com/dailymotion/topic-annotation-automatic-algorithms-data-377079d27936">On topic annotation: how to extract relevant labels from videos?</a></li><li><a href="https://medium.com/dailymotion/building-modern-recommender-systems-when-deep-learning-meets-product-principles-c79b16375109">Building modern recommender systems: when deep learning meets product principles</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c8e0f9c1c6c3" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/how-we-used-cross-lingual-transfer-learning-to-categorize-our-content-c8e0f9c1c6c3">How we used Cross-Lingual Transfer Learning to categorize our content</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Dailymotion’s Product design operations for facilitating shorter time to market]]></title>
            <link>https://medium.com/dailymotion/dailymotions-product-design-operations-for-facilitating-shorter-time-to-market-981a0a2b53e6?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/981a0a2b53e6</guid>
            <category><![CDATA[engineering]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[operations]]></category>
            <category><![CDATA[framework]]></category>
            <category><![CDATA[dailymotion]]></category>
            <dc:creator><![CDATA[Binard Guillaume]]></dc:creator>
            <pubDate>Thu, 24 Sep 2020 08:00:05 GMT</pubDate>
            <atom:updated>2020-09-24T08:02:04.591Z</atom:updated>
            <content:encoded><![CDATA[<h4><em>Dailymotion’s journey to adapt our design methodologies to shorter, time-boxed missions</em></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UYoyYOnmb24MPyCQyZvY1A.png" /></figure><p><strong>Soon after </strong><a href="https://medium.com/dailymotion/how-dailymotion-hacked-its-feature-team-project-model-to-shorten-time-to-market-618232f671da"><strong>deploying our own project management’s model in September 2019</strong></a><strong>, we have been developing specific design missions with the purpose of supporting this new model in its success. Whether you’re product design team leader or another key stakeholder, anyone interested in shipping products earlier and its processes will find this article useful.</strong></p><p>In September 2019, with the goal of reducing time to market, Dailymotion implemented a new project organization model. To do so “We created two types of mission: the <strong>Discovery Mission</strong> and the Delivery Mission. The first one lasts for two weeks, the aim being reduce uncertainty and define the work to be potentially done on a <strong>Delivery Mission</strong>.” By all accounts, this new organization has been successful: more team accountability and more missions hitting the market earlier.</p><p><a href="https://medium.com/dailymotion/how-dailymotion-hacked-its-feature-team-project-model-to-shorten-time-to-market-618232f671da">How Dailymotion hacked its feature team project model to shorten time to market</a></p><p>But soon after implementing the new model, the product design team noticed challenges that made it clear that some aspects of the model needed greater definition. After all, the work of design varies from one project mission to another: “Discovery mission” being the most design-heavy mission, this label lacked the detail that designers needed in order to set product managers’ expectations. Not only that, but this lack of specificity was a huge missed opportunity to identify projects’ maturity, articulate each mission’s scope, facilitate design operations and awareness within the project team. To ensure that the new project model was a success both in terms of product management and product design, the design team decided to triage Discovery missions into three types of missions: <strong>Explo</strong>,<strong> Recon</strong>,<strong> </strong>and<strong> Build</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IBh5uespuG1wLdUe55gIzw.gif" /><figcaption>The Discovery mission is most design heavy mission.</figcaption></figure><h3>The need to change our design operations</h3><p>The purpose of the two-week Discovery mission is to reduce uncertainty before the engineering team starts building new features. It is during this short initial mission that the bulk of the design work happens; anything from user research and competitive analysis, to designing and polishing complete interactions can take place at this stage. As a sprint is obviously not enough to provide a meaningful and exhaustive design from scratch, we needed to organize our contribution to the Discovery mission in a substantial and sustainable way. To make these two-week projects as productive as possible, we established the following goals:</p><h4><strong><em>Identify granularly each project’s maturity level</em></strong></h4><p>How to objectively qualify the maturity of a project? What is our real knowledge level versus our desire to ship early? How to identify how many discovery missions would be necessary to tackle the project?</p><h4>Accurately estimate each mission’s scope</h4><p>Shipping earlier doesn’t mean shipping faster — it means shipping less. How to help the scope being more adapted to the team and timeframe capacity?</p><h4><strong><em>Facilitate design operations and its awareness through teams</em></strong></h4><p>Helping designers be more efficient in their operations and raising the project team awareness is key to performing well: raising quality bar while following the pace.</p><h3>Co-creating Discovery design missions’ operations</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*f-yx4fGG6SKiWurOeakSdA.gif" /><figcaption>Mapping design activities for each discovery missions</figcaption></figure><p>To facilitate cooperation and buy-in from product managers, developers, designers, and other contributors, we scheduled a series of workshops in our Paris and New York offices. The goal of the workshops was to introduce a logic to triage the main different types of Discovery missions, set expectations for each of them, and map the kinds of activities designers undertake during each type of mission. This helped the team truly weigh design operations in such scenarios.</p><h4><strong><em>Adding granularity to the Discovery mission</em></strong></h4><p>Being involved in a Discovery mission is somehow similar to being involved in a commando operation: short time frame, and very localized action. As a Discovery mission is too general and too large to be specific in a short sprint cadence, we decided to break it down in three Discovery mission types, each referring to a crucial step in the design workflow: EXPLO, RECON and BUILD. These refers to commando types of missions.</p><blockquote>To make simple analogies, an <strong>EXPLO</strong> mission is about investigating, collecting information about why should we, for example, cross this river? <strong>RECON</strong> mission is about experimenting how to cross this river (bridge, boat, swim, submarine, plane, catapult, rope…). <strong>BUILD</strong> mission is about defining the specific solution we need to develop (What specific type of bridge?)</blockquote><p>Those three words helps the team instantly visualize the project’s status and synchronize expected operations. This framework of three distinct missions is the very core of any design activities. The commando image is used for its inspiration clarity, and really fits our project organization at Dailymotion.</p><h4><strong><em>Map activities with our internal collaborators</em></strong></h4><p>Having defined those three Discovery mission types, we held workshops for the design &amp; product management teams in Paris and New York. “what we did was gave everyone a marker and asked them to write examples of inputs and outputs on a whiteboard for each mission”. Inputs refers to the knowledge previously acquired about the project, and outputs focuses on what the team agrees to deliver at the end of the mission. This make it easier to responsibly and accurately estimate the amount of work that can be done in two weeks. This exercise helped align expectations of designers and product managers and also raised the project team awareness about how design operations unfold.</p><p>In addition, it was a great opportunity to address participants’ doubts about this process. For example: we don’t necessarily need to always run the three missions in a row. We can skip one mission and move to the next if the prior knowledge is objectively sufficient. As well, we can iterate each type of mission if the workload is too consequent to be achieved in one mission.</p><blockquote>By synthesizing the various workshops outcomes, we defined the key activities for each of the three types of design missions.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*n5vA_yttwW7_F8Jfe7vg1g.jpeg" /><figcaption>The three Discovery missions cards.</figcaption></figure><h4><strong><em>Setup missions’ facilitation tools</em></strong></h4><p>Having organized design activities through the three Discovery missions’, it was the time to build tools that will help teams properly run those missions. We added the following tools to our mission Wiki, the company’s centralized knowledge platform:</p><blockquote><strong><em>Mission cards:</em> </strong>These cards explain the nature and goals of each mission as well as the conditions that must be met in order to launch each type of mission.</blockquote><blockquote><strong><em>Missions checklist cards:</em></strong> Every mission comes with its own checklist. Input checklist help teams validate the acquired knowledge and confirm the right Discovery mission to be launched. Output checklist helps the team finetune the goal and agree on the deliverables to produce.</blockquote><blockquote><strong><em>Pre-scheduled calendar:</em></strong> Once the team has checked the design activities to be done, they can arrange them on the sprint calendar, which help monitor and manage the operations throughout the mission.</blockquote><blockquote><strong><em>Artifact links:</em> </strong>As we use a lot of different tools to conduct our studies, making them accessible and easy to find is crucial. It also makes it easier for new team members joining a mission to get up to speed quickly.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*3uW4SyVNdq32pB8ewq6BYw.jpeg" /><figcaption>The tool box help the team run better design operations</figcaption></figure><h3>Design operations supporting the new organization</h3><p>Thanks to the collaboration and support from each team at Dailymotion, the first results after the introduction of the three Discovery design missions were very encouraging. EXPLO, RECON and BUILD words were joining our teams’ vocabulary and it was easier for everyone to visualize what would happen in those missions while using these terminologies. Forms and questionnaires sent to teams helped us measure the benefits of the three Discovery design missions. The people who answered the questionnaire noticed the following benefits and improvements:</p><h4><strong><em>More focused Missions</em></strong></h4><p>Selecting the right mission phase for the right purpose, setting clear goals and select the most efficient outcomes helped enhance our team efficiency. For this improvement alone, this Design process was worth it.</p><h4><strong><em>Key design activities</em></strong></h4><p>Checklists helped designers have examples of meaningful activities listed per missions which helped them focus on the project itself. As an example, we partnered with our User Researcher to produce cards that helped designers run better research activities in a two weeks’ timeframe.</p><h4>Increase awareness of the design process</h4><p>As the work of design is often unclear to colleagues on other teams, having clear Discovery design mission with a clear deliverables’ checklist helped raise awareness of design activities for everyone in the project team.</p><h4><strong><em>Greater oversight</em></strong></h4><p>After a few months of practice, we were able to see which missions were the most frequent. While BUILD and RECON were used equally, we saw that there were significantly fewer EXPLO missions. This helped develop awareness of our upcoming challenges, like participating more in the projects’ genesis. If you want to know which design team you are, categorizing your missions done across a semester might be a good way to know it.</p><blockquote>As a result, we are more efficient, focus, and we are delivering better quality work.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/721/1*1ZUZSPeoS2Og0i1-C3sm7w.png" /><figcaption>The three discovery missions helping oversee team’s global activity</figcaption></figure><p>We’ve already seen impressive results on our own team, but if applied across the company, we could achieve even more fluid communication, efficient pace.</p><p><strong>Ship faster,</strong> alone, might easily <strong>bring chaos</strong> in teams expectations, operations and puts the product quality in danger as a result. But <strong>Ship earlier</strong>, regularly, implies a <strong>sense of measure</strong>, reason and order. And this was our intention by bringing the three Discovery design missions. We hope it’ll continue to support positively our new project’s organization structure at Dailymotion and that it <strong>will benefit</strong> to <strong>other organizations</strong> facing design operations challenges.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=981a0a2b53e6" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/dailymotions-product-design-operations-for-facilitating-shorter-time-to-market-981a0a2b53e6">Dailymotion’s Product design operations for facilitating shorter time to market</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to automate users management in Wireguard]]></title>
            <link>https://medium.com/dailymotion/how-to-automate-users-management-in-wireguard-633ff591866e?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/633ff591866e</guid>
            <category><![CDATA[adtech]]></category>
            <category><![CDATA[engineering]]></category>
            <category><![CDATA[vpn]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[wireguard]]></category>
            <dc:creator><![CDATA[Ben]]></dc:creator>
            <pubDate>Thu, 02 Jul 2020 08:50:12 GMT</pubDate>
            <atom:updated>2020-07-02T08:50:12.797Z</atom:updated>
            <content:encoded><![CDATA[<h4>Introduction to Asteroid, Dailymotion’s open-source application</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UIcb7syuVwiPIM4NxD4YRw.jpeg" /></figure><p><strong>Our philosophy at Dailymotion is that if nothing fits our technical needs, we’ll create it. That’s why we developed Asteroid, our home-made open-source application to easily manage our Wireguard server. The app is written in Go and has greatly improved our efficiency when adding and removing access to our infrastructure.</strong></p><p>When I joined the Dailymotion Ad-tech team, a VPN was almost always required to access infrastructure resources, and for this we were using OpenVPN. Out of curiousity, we decided to trial Wireguard. We quickly saw many benefits, including but not limited to: reduced latency, improved performances and an easier and faster setup.</p><p>After this initial testing phase, we started adding more and more people to the system. Unhappy with the need to manually add and remove users, we searched far and wide but were unable to find a tool to automate this aspect of the Wireguard server management.</p><h3>Asteroid, our app created with Go</h3><p>We wanted an application that allows us to easily add, remove and view peers on our Wireguard server. We chose the Go programming language as it has a small footprint and is easy to deploy as a single binary.</p><p>While implementing the ssh connection with Wireguard, we faced some issues with shell escape sequences. They look something like:</p><pre>\e[0; 33m </pre><p>They are used for coloring the output on our remote systems. They’re easy to overlook because your local shell might also hide them.</p><h4>Adding a new peer or user with Asteroid</h4><p>Here’s how Asteroid works; to add a new peer or user, we just run these commands:</p><pre>$ asteroid add -address=”172.16.0.7/32&quot; -key <br>“eXaMPL3Ave8q+kmNVmiw4KdKiXc//M0EGOY6K9C14nw</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xuviJImtxeUKP3kc2QDDiw.jpeg" /></figure><h4>Removing a peer or user with Asteroid</h4><p>Removing a peer or user is also extremely simple:</p><pre>$ asteroid delete -key “eXaMPL3Ave8q+kmNVmiw4KdKiXc//M0EGOY6K9C14nw</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*x0K1_fpdVWQPKXhTsE5A-Q.jpeg" /></figure><h4>Viewing peers or users added to the server with Asteroid</h4><p>To view peers or users added to the server, we use the view command:</p><pre>$ asteroid view</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Py3APhPUO2Ymj_9mIhQuVg.jpeg" /></figure><h4>The help command</h4><p>The “help” command is very useful to check what each command does or which arguments to give:</p><pre>$ asteroid -h</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*herEPZyo16D0SqvLTBwKLw.jpeg" /></figure><h3>Why we chose to go for open source</h3><p>Wireguard was built as an open-source component to improve upon the OpenVPN status-quo. We’re happy to have switched to this new alternative and open-sourcing our Asteroid tool is a way of giving back to the open-source community. In the coming weeks, we’re thinking of adding a way to batch adding and removing users.</p><blockquote>If you want to try it out and contribute, please visit: <a href="https://github.com/dailymotion/asteroid">https://github.com/dailymotion/asteroid</a></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=633ff591866e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/how-to-automate-users-management-in-wireguard-633ff591866e">How to automate users management in Wireguard</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Activate a Global Audience in Less than a Week]]></title>
            <link>https://medium.com/dailymotion/how-to-activate-a-global-audience-in-less-than-a-week-7d2693a7dcc2?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/7d2693a7dcc2</guid>
            <category><![CDATA[marketing]]></category>
            <category><![CDATA[solution-partner]]></category>
            <category><![CDATA[dailymotion]]></category>
            <category><![CDATA[videos]]></category>
            <category><![CDATA[audience]]></category>
            <dc:creator><![CDATA[Wade Slitkin]]></dc:creator>
            <pubDate>Wed, 24 Jun 2020 14:06:26 GMT</pubDate>
            <atom:updated>2020-06-24T17:23:10.710Z</atom:updated>
            <content:encoded><![CDATA[<h3>How to activate a global audience in less than a week</h3><h4><strong>The foundation of Amplification at Dailymotion</strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*e1mJAmowWBDJuxx6Bq_84w.png" /></figure><p><strong>Dailymotion was tasked with activating its global audience in support of an unprecedented live digital event, for a brand-new Partner, in just a few short days. We implemented an amplification strategy that leveraged four key elements: cadence, targeting, creative workflow, and asset management to help the Partner achieve their goals.</strong></p><p>Dailymotion joined the world’s biggest digital platforms to stream “<em>One World: Together At Home</em>”, a live broadcast — in support of the healthcare workers on the frontlines battling the COVID-19 crisis. As a truly global company, it was an honor to activate our international technology and communications (and music lovers!) teams to support such a historic live event.</p><p><a href="https://medium.com/dailymotion/how-to-move-300-people-to-full-remote-in-24-hours-34ff9bbb2b59">How to move 300 people to full remote in 24 hours</a></p><h3>Monday — The Kickoff</h3><p>It was a late Monday afternoon when we received word that we would be streaming “<em>Together At Home</em>” the charity event put together by Global Citizen (our Partner), whose goal was to raise money for the World Health Organization and frontline healthcare workers. From a technology perspective, Dailymotion has been in the online video business for 15 years and has delivered billions of video views; all we needed was access to the live stream and we’d be up and running. No concern there. However, we also needed to activate our worldwide audience to tune in and take action in less than a week. This warranted an eyebrow raise, at least.</p><p>To give you a sense of scale, we have content teams across the world who help localize (35 international destination sites, to an audience in more than 50 countries) communications, multi-language social handles, a handful of hyper-targeted newsletters, blogs, press avenues, internal communications, push notifications, in-app notifications and an editorial team who curates and shares relevant content alongside our recommendation algorithm. This huge mechanism provides Dailymotion the unique ability to target, amplify, and subsequently drive specific traffic onsite. However, without a succinct plan, these benefits can turn to detriments in no-time.</p><p>To keep such a nuanced machine running and on-task requires is a sound communication plan. This rests on the pillars of <em>cadence</em>, <em>targeting</em>, <em>creative</em> <em>workflow,</em> and <em>asset</em> <em>management</em>. Combined, they inform a consistent and clear channel strategy that engages an audience from awareness through retention.</p><p><a href="https://medium.com/dailymotion/how-dailymotion-hacked-its-feature-team-project-model-to-shorten-time-to-market-618232f671da">How Dailymotion hacked its feature team project model to shorten time to market</a></p><h3>Tuesday — The Plan</h3><p>Tuesday morning post an internal ‘kick-off,’ we got to work on how the <em>cadence </em>of our communications would help the Partner achieve their goals (viewership and tune-in). Cadence provides guide rails for everything from engagement to the amount and type of creative needed.</p><p>The first step was to identify the messaging hierarchy. This was a charitable streaming event, so communications had to encourage users to take action with Global Citizen (primary message) and inform them of the live event (tertiary message).</p><p>Secondarily, we had to determine when these messages would be pushed live. It was important to avoid frantic spamming due to the tight timeline (t-minus 5 days) so we set up three messaging windows: pre-event (“<em>take action</em>”), live-event (“<em>tune-in</em>”), post-event (“<em>thank you and results</em>”) to control output. The pre-event phase focused on informing users about #Togetherathome by driving them to the event website. The live-event phase drove users to Dailymotion.com where they could watch. The post-event thanked those who tuned-in and shared the results (more than $127M raised!).</p><h3>Wednesday — The Target</h3><p>The cadence strategy provided the “<em>when</em>”, so during Wednesday’s stand-up, we were able to address the next piece of the puzzle, the “<em>who</em>”. Dailymotion’s Partners include publishers who leverage the player (streaming technology) as well as viewers (who frequent the destination site, <a href="https://www.dailymotion.com/fr">dailymotion.com</a>). We then mapped those personas to datapoints showing previous engagement wins per channel. Meaning that we knew which channels gave us the best chance to activate the desired personas.</p><p>With “when” and “who” locked in, it was time to outline the “how.” A detailed <em>creative workflow</em> document is a marketing manager’s best friend. If constructed concisely and carefully, it saves the team from multiple email threads, slacks, and the need for additional meetings. It becomes the source of truth for any inflight campaign. The document should consist of:</p><ul><li><strong>Approval flows</strong> (internal and external) which identify stakeholders and current statuses.</li><li><strong>A creative</strong> <strong>checklist</strong> that has primary and alternative messaging with corresponding assets.</li><li><strong>Timing windows</strong> inform channel managers when to activate.</li><li><strong>Target profiles </strong>remind channel mangers of their campaign audience for further targeting.</li><li><strong>Support contacts </strong>offer backup personnel for pivots or emergencies.</li></ul><p>There is a myriad of ways that companies streamline this process so being flexible and taking into account your own resource constraints can affect how you track and execute this step. The one constant to remember is that this is a live document and that it is subject to change from every stakeholder (Partner, channel owners, leadership, etc). So, encourage channel owners to always be checking the document like the rearview mirror in a car before they schedule or post.</p><h3><strong>Thursday — The Tools</strong></h3><p>Without warning, it was Thursday. Meaning we were less than 24 hours away from launch. With <em>cadence</em> established<em>, targets </em>identified, and <em>creative workflows </em>outlined the teams began to schedule and prep their channels for “<em>go</em>.” The final step was to collate and organize approved assets into a single repository. Saying <em>asset management </em>out loud seems like a no-brainer but more times than not, this step is often overlooked. Teams assume that such an obvious thing is being taken care of…by someone.</p><p>If files and folders are not clearly marked or if there are asset changes or replacements coming down the pike, you’ll have teams borrowing or shoe-horning other creative not optimized for their channels. The wrong asset can make or break a post. Take your time, have consistent naming conventions, label, file, and version meticulously.</p><h3><strong>Friday — The Execution</strong></h3><p>Friday meant “<em>go</em>” and all inbound and outbound channels began to go live. Communication lines were open through the weekend to ensure that each channel was carefully following the schedule and creative guidelines. Any changes were funneled through team comms so edits were captured and implemented in realtime.</p><p>This coordinated effort resulted in <strong>more than a million views and hundreds of thousands of concurrent streams</strong>. Dailymotion’s unique position as a technology and video destination allows its passionate storytellers to work hand in hand with its <a href="https://www.dailymotion.com/dm/partner/">Partners</a>. It’s Dailymotion’s pleasure to raise awareness and extend the reach of our Partners worldwide for the videos that matter.</p><p><a href="https://medium.com/dailymotion/how-dailymotion-and-canal-managed-to-host-a-pr-screening-with-closed-cinemas-82dc46b8e89b">How Dailymotion and CANAL+ managed to host a PR screening… with cinemas closed</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7d2693a7dcc2" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/how-to-activate-a-global-audience-in-less-than-a-week-7d2693a7dcc2">How to Activate a Global Audience in Less than a Week</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Starting a new job in the midst of a Pandemic]]></title>
            <link>https://medium.com/dailymotion/starting-a-new-job-in-the-midst-of-a-pandemic-d63b9a482395?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/d63b9a482395</guid>
            <category><![CDATA[jobs]]></category>
            <category><![CDATA[recruiting]]></category>
            <category><![CDATA[remote-working]]></category>
            <category><![CDATA[people]]></category>
            <category><![CDATA[covid19]]></category>
            <dc:creator><![CDATA[Cristina Calle Jordá]]></dc:creator>
            <pubDate>Thu, 30 Apr 2020 09:33:51 GMT</pubDate>
            <atom:updated>2020-05-04T08:29:47.316Z</atom:updated>
            <content:encoded><![CDATA[<h4>What does remote-joining look like for a new employee at Dailymotion in times of Coronavirus</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_JKGLN6ouW3-sHyTWNEzgA.jpeg" /></figure><p><strong>Starting a new position should always be a thrilling experience. After a testing recruitment process, you proved your value and the long-awaited day is finally here. I was excited for the change and the new, out of the ordinary challenges that were waiting for me when joining Dailymotion. Little did I know that there was a Pandemic looming just around the corner. When I said out of the ordinary, I did not think it would mean being part of Dailymotion from the comfort of my home, but hey, your career should never stop surprising you. This is how my adventure as a </strong><a href="https://medium.com/dailymotion/how-do-i-legitimately-hire-tech-profiles-as-an-hr-166d72d379d4?source=collection_category---5------2-----------------------"><strong>Dailymotion Talent Acquisition Specialist</strong></a><strong> began.</strong></p><h3>First day</h3><p>Thinking about any first day, that newbie feeling can bring up a cocktail of emotions. Some excitement, some confusion, but how to manage all that while being on full remote? Well, it’s not all that different from sitting down at your office desk. From the first day, I could feel that teams took on a <a href="https://medium.com/dailymotion/are-you-ready-to-take-action-cc0a539a2152">“champion each other”</a> mentality and made sure that I was encouraged as well. In many ways, I believe have been additionally looked after since everyone understood that starting under these special circumstances it would be harder to feel comfortable and part of the team. Sensing that the situation was strange, I tried to avoid feeling lost. My focus during those first days was seeking to create a sense of team and community. Therefore my activities focused mainly on accepting invitations to meetings, outside or inside my department, team-lunches, after-work drinks, themed webinars, and “blind-test” games. Anything that could get me close to having an established communication and introduction to the world of Dailymotion.</p><p><a href="https://medium.com/dailymotion/are-you-ready-to-take-action-cc0a539a2152">Are you ready to take action?</a></p><h4>Not your typical first impression</h4><p>Part of the excitement in starting a new role is that you get to meet inspiring new people, different ways of working, and from my side, a whole new industry. A new job means new challenges and new experiences. Imagine having to develop a strong relationship with your manager, even though you have only met them a couple of times. At Dailymotion, I could sense that my feelings were acknowledged. It was alright to feel lost and frustrated. Trust was and is still being created through communication and reassurance that if I had made it this far, I could only do better. For my other newbie colleagues and I, we are demonstrating that we can get out of our comfort zone with this one. We get to have a truly uncommon onboarding experience, we get to meet, live, and see Dailymotion even before setting one foot in the office.</p><h3>Business and fun as usual</h3><p>At Dailymotion, we are indeed fighting the COVID-19 backlash, but with a fighting response of our own. Lots of positivity, good spirits, and support. This became clear to me from day one, as every single hour of my first week was programmed, dozens of meetings planned, including every kind of office tradition that could be put on a Zoom call. Our <a href="https://medium.com/dailymotion/are-you-ready-to-take-action-cc0a539a2152">Principles of Motion</a> got put to the test and resulted in a creativity that was remarkable to witness as we were all making the best out of an unprecedented situation. The Dailymotion community seems to have come together in a very present way over Slack. Everyone understands that communication is key now more than ever, but not only do we do it for our work, I believe that we also do it to champion each other. And we are very creative at it too — you’ll find memes, GIFs and inside jokes on every channel, while our statuses get increasingly funnier with people finding new ways to express their moods and activities through emojis.</p><h4>Making it work</h4><p>To be clear, we are not all thrilled about the idea of working from home. I’ve only visited the offices a couple of times, and just like with other experiences seeing it live must be much more exciting. However, our mission is a comprehensive one, we are going through this with high spirits and adaptability. From my experience, it is all about taking it one day at a time while having a clear long-term picture. My team meets every day, we do regular syncs, everyone is up for even a virtual lunch or coffee break together. And as we are dealing with the now, we are also preparing for what is yet to come, we are talking about BIG projects, those exciting groundbreaking kinds of projects. So maybe this was the perfect opportunity to step back, avoid the office distractions and do some of our best work.</p><h3>Doing the best that you can</h3><p>Being part of a new team during quarantine can seem a little odd at times. Even if I am the one being welcomed as the newest member of the group, it seems that we are all meeting new versions of our colleagues. As everyone does their best to create the most comfortable and professional working environment at home, we can all confirm to have experienced some peculiar situations.</p><h4>Come and see my house, everyone already has</h4><p>A side effect of being quarantined while working is that everybody gets to see you in a new light. When starting this adventure at Dailymotion one of my worries was also trying to make a good first impression. That can become a little difficult when a cat keeps jumping in front of the camera… At Dailymotion we have officially seen it all at this point. Kids, the passing-by partners, pets, and of course a great competition for the best virtual Zoom background. Being exposed from the first day appeared as a little uncomfortable to me. That social and professional barrier was suddenly lifted. But it is all part of the process and it adds a touch of humanity. We are first and foremost humans and yes, employees have a life outside of work.</p><p>When creating an onboarding plan for new joiners, Dailymotion makes a point in trying to generate a guided and impactful experience. Considering the COVID-19 circumstances, it is safe to say that I will certainly remember my first days and weeks at Dailymotion. From a personal perspective having the freedom to feel acknowledged and part of the community, was a necessary factor in fulfilling my job. This is experience has so far served as a test for multiple initiatives, such as making the case for remote work and creating trust in everyone’s potential. I’m looking forward to what is yet to come from the comfort of my dining table, and hopefully soon from the Dailymotion headquarters!</p><p><a href="https://medium.com/dailymotion/how-to-move-300-people-to-full-remote-in-24-hours-34ff9bbb2b59">How to move 300 people to full remote in 24 hours</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d63b9a482395" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/starting-a-new-job-in-the-midst-of-a-pandemic-d63b9a482395">Starting a new job in the midst of a Pandemic</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How Dailymotion and CANAL+ managed to host a PR screening… with cinemas closed]]></title>
            <link>https://medium.com/dailymotion/how-dailymotion-and-canal-managed-to-host-a-pr-screening-with-closed-cinemas-82dc46b8e89b?source=rss----5ab3bf42288e---4</link>
            <guid isPermaLink="false">https://medium.com/p/82dc46b8e89b</guid>
            <category><![CDATA[screening]]></category>
            <category><![CDATA[press]]></category>
            <category><![CDATA[public-relations]]></category>
            <category><![CDATA[series]]></category>
            <category><![CDATA[solution-partner]]></category>
            <dc:creator><![CDATA[Colas Courjal]]></dc:creator>
            <pubDate>Fri, 10 Apr 2020 11:56:38 GMT</pubDate>
            <atom:updated>2020-04-10T12:10:42.588Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aj3sZEfSbdWsiT0o2B-Uog.jpeg" /><figcaption>Virtual VIP preview: available at home for all guests with a password</figcaption></figure><p><strong>The launch of a new season from CANAL+’s “Original Creation” catalog is usually an opportunity to organize a VIP event with a screening of the first episode. Guests, including producers, talent, partners, press and advertisers are invited to a VIP venue in Paris… the perfect occasion for everyone to get a sneak preview of the new season and to chat with the production team. But that was before COVID-19.</strong></p><p>As a major digital broadcaster, Dailymotion was in a unique position to offer an alternative way to promote this major series. And that’s what we did for the new season of The Bureau (<em>Le Bureau des Légendes</em>), thanks to strong collaboration with the Communication, Public Relations and Digital teams at CANAL+.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VBqRWKqGWo3940j1UpVcew.png" /><figcaption><strong>The Bureau (Le Bureau des Légendes), </strong>Season 5: 10 episodes of 52 minutes,<br>created by Éric Rochant. Season 5 from Monday, April 6, <a href="https://www.canalplus.com/series/le-bureau-des-legendes/">only on CANAL+</a></figcaption></figure><h3>How to be social during social distancing?</h3><p>The PR screening of the first episode of The Bureau had been planned for a long time. Confinement in France was announced on the evening of March 16, 2020 by the President of the Republic, Emmanuel Macron, thereby leading to the de-facto cancellation of all public or private events, even more so those organized in a closed space. The production team quickly reorganized themselves to finish the final post-production touch-ups, as the broadcasting date of the new season on CANAL+ and myCanal<strong> </strong>was not to be delayed. The first episode was scheduled for Monday April 6th.</p><p>CANAL+ is already managing multiple channels on Dailymotion, where they publish trailers, short extracts, and promotional content around their programs. So, the idea of organizing a dedicated digital PR event on Dailymotion was quite logical.</p><h3>A new form of digital PR event</h3><p>The video was uploaded by the CANAL+ Digital Team in private mode and protected with a password. An invitation email was sent to all the guests, providing them with the link to the episode and the password.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tcS5alR9NIVvsCaUkJR9_g.png" /></figure><p>Before 8 pm, CANAL+ published the trailer, and at 8 pm they replaced the trailer video with the first episode. Video replacement is a unique feature on Dailymotion, available to verified partners allowing them to change the video source without modifying the video URL. In this case it was really important that the guests who had already received the invitation by mail earlier in the afternoon were able to access the new video.</p><h3>Short and private, just like IRL</h3><p>In the same way, a real PR screening is organized, the video was only available for 4 hours. Additionally, as this is sensitive content with regards to piracy, the video was also protected by HLS encryption.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SSSYHx0mR7prqLw6Mb1oVw.png" /><figcaption>Introductory speech from Gérald-Brice Viret,<br>General Manager of Canal+ Group Programs</figcaption></figure><p>CANAL+ also decided to include speeches from Gérald-Brice Viret<br>General Manager of Canal+ Group Programs, Alex Berger, President &amp; Executive Producer TOP (The Oligarchs Productions), and Éric Rochant, Showrunner of The Bureau (“<em>Le Bureau des Légendes</em>”). It was an original way to replace the habitual introductory speeches, giving guests important information about context, artistic intentions, broadcasting planning, special thanks and fun facts.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Yc5kAaXhw4OBLR-63TiZ8Q.png" /><figcaption>Introductory speech from Éric Rochant,<br> The Bureau (Le Bureau des Légendes) Showrunner</figcaption></figure><p>Thanks to the Advanced Statistics tool available in the <a href="https://www.dailymotion.com/dm/partner">Dailymotion Partner Space</a>, we estimated the audience at <strong>more than 400 simultaneous viewers</strong> (80% on computer, 15% on mobile and 5% on tablet). That’s a huge virtual room! We are proud to have been part of this digital adventure and to have helped media and communication teams ensure the continued promotion of their premium content to confined audiences.</p><blockquote>“We are delighted with the incredible success of this virtual projection, which was very appreciated. We are also very proud to have had the opportunity to promote one of our major series, Le Bureau des Légendes, despite the confinement”, <strong>Emilie Pietrini, Chief Communication and Brand Officer of CANAL+ Group</strong>.</blockquote><p>The current crisis is forcing everyone to rethink quickly standard communication patterns. This initiative can also inspire any partners working in PR, communication and marketing.</p><p><strong><em>Special thanks </em></strong><em>to all the team of The Bureau (Le Bureau des Légendes), Alex Berger, President &amp; Executive producer TOP-The Oligarchs Productions and Eric Rochant, Showrunner of the series.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=82dc46b8e89b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/dailymotion/how-dailymotion-and-canal-managed-to-host-a-pr-screening-with-closed-cinemas-82dc46b8e89b">How Dailymotion and CANAL+ managed to host a PR screening… with cinemas closed</a> was originally published in <a href="https://medium.com/dailymotion">Dailymotion</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>