CINXE.COM

Advances in TF-Ranking

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="description" content="Posted by Michael Bendersky and Xuanhui Wang, Software Engineers, Google Research In December 2018, we introduced TF-Ranking,&amp;nbsp;an open-source T..."><meta name="keywords" content="AI,open source,Information Retrieval,TensorFlow"><link rel="canonical" href="https://research.google/blog/advances-in-tf-ranking/" /><meta property="og:title" content="Advances in TF-Ranking"><meta property="og:url" content="https://research.google/blog/advances-in-tf-ranking/"><meta property="og:description" content="Posted by Michael Bendersky and Xuanhui Wang, Software Engineers, Google Research In December 2018, we introduced TF-Ranking,&amp;nbsp;an open-source T..."><meta property="og:image" content="https://storage.googleapis.com/gweb-research2023-media/images/097108a5eed496cfd455e4880d19b700-i.width-800.format-jpeg.jpg"><meta property="og:image:secure_url" content="https://storage.googleapis.com/gweb-research2023-media/images/097108a5eed496cfd455e4880d19b700-i.width-800.format-jpeg.jpg"><meta property="og:type" content="Website"> <title>Advances in TF-Ranking</title> <meta name="description" content="Posted by Michael Bendersky and Xuanhui Wang, Software Engineers, Google Research In December 2018, we introduced TF-Ranking,&amp;nbsp;an open-source T..." /> <meta name="viewport" content="width=device-width, initial-scale=1 viewport-fit=cover"/> <link rel="icon" type="image/png" href="/gr/static/assets/favicon.ico"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preload" href="https://fonts.googleapis.com/css2?family=Product+Sans&family=Google+Sans+Display:ital@0;1&family=Google+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Google+Sans+Text:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap" as="style"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Product+Sans&family=Google+Sans+Display:ital@0;1&family=Google+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Google+Sans+Text:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap"> <link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;700&display=swap" rel="stylesheet"> <link href="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.css" rel="stylesheet" /> <link href="https://www.gstatic.com/glue/v27_1/glue-material.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="/gr/static/css/googleresearch.css?id=0c26ea1fed8bdd0324f9f4fad1f6a470"> <script> window.dataLayer = window.dataLayer || []; dataLayer.push({ publishDate: '20210727', wordCount: '1281' }); </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-K8QBZ7Q'); </script> <!-- End Google Tag Manager --> </head> <body class=" js-google-tag-wrapper" data-gt-page-path="https://research.google/blog/advances-in-tf-ranking/" data-env="production"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K8QBZ7Q" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <header class="global-header glue-header glue-header--single not-glue"> <a href="#page-content" class="glue-header__skip-content">Jump to Content</a> <div class="glue-header__bar glue-header__bar--mobile not-glue"> <div class="glue-header__tier not-glue"> <!-- mobile lockup component --> <div class="glue-header__container"> <div class="glue-header__lock-up"> <!-- Hamburger button component --> <div class="glue-header__hamburger"> <button class="glue-header__drawer-toggle-btn" aria-label="Open the navigation drawer"> <svg class="glue-icon glue-icon--24px" role="presentation" aria-hidden="true"> <use href="/gr/static/assets/icons/glue-icons.svg#menu"></use> </svg> </button> </div> <div class="glue-header__logo"> <a class="glue-header__logo-link" href="/" title="Google Research"> <!-- Logo component --> <div class="glue-header__logo-container"> <svg role="presentation" aria-hidden="true" alt='Google' class="glue-icon glue-icon glue-header__logo-svg"> <use href="/gr/static/assets/icons/glue-icons.svg#google-color-logo"></use> </svg> </div> <span class="glue-header__logo--product">Research</span> </a> </div> </div> </div> </div> </div> <div class="glue-header__bar glue-header__bar--desktop glue-header__drawer"> <div class="glue-header__tier"> <!-- desktop lockup component --> <div class="glue-header__container"> <div class="glue-header__lock-up"> <div class="glue-header__logo"> <a class="glue-header__logo-link" href="/" title="Google Research"> <!-- Logo component --> <div class="glue-header__logo-container"> <svg role="presentation" aria-hidden="true" alt='Google' class="glue-icon glue-icon glue-header__logo-svg not-glue --dark-logo"> <use href="/gr/static/assets/icons/glue-icons.svg#google-solid-logo"></use> </svg> <svg role="presentation" aria-hidden="true" alt='Google' class="glue-icon glue-icon glue-header__logo-svg --light-logo"> <use href="/gr/static/assets/icons/glue-icons.svg#google-color-logo"></use> </svg> </div> <span class="glue-header__logo--product">Research</span> </a> </div> </div> </div> <!-- linkbar component --> <div class="glue-header__container glue-header__container--linkbar"> <nav class="glue-header__link-bar navigation js-gt-global-nav-wrapper"> <ul class="glue-header__list"> <li class="glue-header__item js-sub-nav-parent --parent" data-gt-primary="Who we are" > <button class="glue-header__link js-sub-nav-target" aria-haspopup="true" aria-expanded="false" > <span class=""> Who we are <span class="icon icon--caret"></span> </span> </button> <div class="navigation__sub js-sub-nav" role="menu"> <div class="navigation__sub__container"> <div class="navigation__sub__mobile-heading"> <button class="glue-header__link js-sub-nav-close-mobile"> <span class="sr-text">Back to</span> <span class="icon icon--caret"></span> Who we are <span class="sr-text">menu</span> </button> <hr/> </div> <div class="block-nav_drawer_columns_content"> <div class="navigation__sub--content" data-gt-secondary="Defining the technology of today and tomorrow."> <div class="navigation__sub__wrapper"> <div class="navigation__sub__heading"> <h2 class="headline-3">Defining the technology of today and tomorrow.</h2> </div> <ul class="navigation__sub__columns"> <li data-gt-secondary="Philosophy"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading"> Philosophy </h2> <p class="navigation__sub__columns__description caption">We strive to create an environment conducive to many different types of research across many different time scales and levels of risk.</p> <a href="https://research.google/philosophy/" class="glue-inline-link js-drawer-link" > <span class="sr-text">Learn more about our Philosophy</span> <span aria-hidden="true">Learn more</span> </a> </div> <div class="navigation__sub__columns__mobile"> <a class="glue-header__link" href="https://research.google/philosophy/" > Philosophy </a> </div> </li> <li data-gt-secondary="People"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading"> People </h2> <p class="navigation__sub__columns__description caption">Our researchers drive advancements in computer science through both fundamental and applied research.</p> <a href="https://research.google/people/" class="glue-inline-link js-drawer-link" > <span class="sr-text">Learn more about our People</span> <span aria-hidden="true">Learn more</span> </a> </div> <div class="navigation__sub__columns__mobile"> <a class="glue-header__link" href="https://research.google/people/" > People </a> </div> </li> </ul> </div> </div> </div> </div> </div> </li> <li class="glue-header__item js-sub-nav-parent --parent" data-gt-primary="Research areas" > <button class="glue-header__link js-sub-nav-target" aria-haspopup="true" aria-expanded="false" > <span class=""> Research areas <span class="icon icon--caret"></span> </span> </button> <div class="navigation__sub js-sub-nav" role="menu"> <div class="navigation__sub__container"> <div class="navigation__sub__mobile-heading"> <button class="glue-header__link js-sub-nav-close-mobile"> <span class="sr-text">Back to</span> <span class="icon icon--caret"></span> Research areas <span class="sr-text">menu</span> </button> <hr/> </div> <div class="block-nav_drawer_columns_link_list"> <div class="navigation__sub--list"> <div class="navigation__sub__wrapper"> <ul class="navigation__sub__columns"> <li data-gt-secondary="Research areas"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading">Research areas</h2> <ul> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/" > Explore all research areas </a> </li> </ul> </div> <div class="navigation__sub__columns__mobile"> <button class="glue-header__link js-sub-nav-target" data-panel="nested" role="menuitem" aria-haspopup="true"> Research areas <span class="icon icon--caret"></span> </button> <div class="navigation__nested-sub js-sub-nav-parent"> <div class="navigation__sub__mobile-heading"> <button class="glue-header__link js-sub-nav-close-mobile" role="menuitem" aria-haspopup="true"> <span class="sr-text">Back to</span> <span class="icon icon--caret"></span> Research areas <span class="sr-text">menu</span> </button> <hr/> </div> <ul> <li role="menuitem"> <a href="https://research.google/research-areas/" class="navigation__sub__columns__mobile__link" > Explore all research areas <span> </span> </a> </li> </ul> </div> </div> </li> <li data-gt-secondary="Foundational ML &amp; Algorithms"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading">Foundational ML &amp; Algorithms</h2> <ul> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/algorithms-and-theory/" > Algorithms &amp; Theory </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/data-management/" > Data Management </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/data-mining-and-modeling/" > Data Mining &amp; Modeling </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/information-retrieval-and-the-web/" > Information Retrieval &amp; the Web </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/machine-intelligence/" > Machine Intelligence </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/machine-perception/" > Machine Perception </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/machine-translation/" > Machine Translation </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/natural-language-processing/" > Natural Language Processing </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/speech-processing/" > Speech Processing </a> </li> </ul> </div> <div class="navigation__sub__columns__mobile"> <button class="glue-header__link js-sub-nav-target" data-panel="nested" role="menuitem" aria-haspopup="true"> Foundational ML &amp; Algorithms <span class="icon icon--caret"></span> </button> <div class="navigation__nested-sub js-sub-nav-parent"> <div class="navigation__sub__mobile-heading"> <button class="glue-header__link js-sub-nav-close-mobile" role="menuitem" aria-haspopup="true"> <span class="sr-text">Back to</span> <span class="icon icon--caret"></span> Foundational ML &amp; Algorithms <span class="sr-text">menu</span> </button> <hr/> </div> <ul> <li role="menuitem"> <a href="https://research.google/research-areas/algorithms-and-theory/" class="navigation__sub__columns__mobile__link" > Algorithms &amp; Theory <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/data-management/" class="navigation__sub__columns__mobile__link" > Data Management <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/data-mining-and-modeling/" class="navigation__sub__columns__mobile__link" > Data Mining &amp; Modeling <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/information-retrieval-and-the-web/" class="navigation__sub__columns__mobile__link" > Information Retrieval &amp; the Web <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/machine-intelligence/" class="navigation__sub__columns__mobile__link" > Machine Intelligence <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/machine-perception/" class="navigation__sub__columns__mobile__link" > Machine Perception <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/machine-translation/" class="navigation__sub__columns__mobile__link" > Machine Translation <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/natural-language-processing/" class="navigation__sub__columns__mobile__link" > Natural Language Processing <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/speech-processing/" class="navigation__sub__columns__mobile__link" > Speech Processing <span> </span> </a> </li> </ul> </div> </div> </li> <li data-gt-secondary="Computing Systems &amp; Quantum AI"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading">Computing Systems &amp; Quantum AI</h2> <ul> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/distributed-systems-and-parallel-computing/" > Distributed Systems &amp; Parallel
Computing </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/hardware-and-architecture/" > Hardware &amp; Architecture </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/mobile-systems/" > Mobile Systems </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/networking/" > Networking </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/quantum-computing/" > Quantum Computing </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/robotics/" > Robotics </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/security-privacy-and-abuse-prevention/" > Security, Privacy, &amp; Abuse
Prevention </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/software-engineering/" > Software Engineering </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/software-systems/" > Software Systems </a> </li> </ul> </div> <div class="navigation__sub__columns__mobile"> <button class="glue-header__link js-sub-nav-target" data-panel="nested" role="menuitem" aria-haspopup="true"> Computing Systems &amp; Quantum AI <span class="icon icon--caret"></span> </button> <div class="navigation__nested-sub js-sub-nav-parent"> <div class="navigation__sub__mobile-heading"> <button class="glue-header__link js-sub-nav-close-mobile" role="menuitem" aria-haspopup="true"> <span class="sr-text">Back to</span> <span class="icon icon--caret"></span> Computing Systems &amp; Quantum AI <span class="sr-text">menu</span> </button> <hr/> </div> <ul> <li role="menuitem"> <a href="https://research.google/research-areas/distributed-systems-and-parallel-computing/" class="navigation__sub__columns__mobile__link" > Distributed Systems &amp; Parallel
Computing <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/hardware-and-architecture/" class="navigation__sub__columns__mobile__link" > Hardware &amp; Architecture <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/mobile-systems/" class="navigation__sub__columns__mobile__link" > Mobile Systems <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/networking/" class="navigation__sub__columns__mobile__link" > Networking <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/quantum-computing/" class="navigation__sub__columns__mobile__link" > Quantum Computing <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/robotics/" class="navigation__sub__columns__mobile__link" > Robotics <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/security-privacy-and-abuse-prevention/" class="navigation__sub__columns__mobile__link" > Security, Privacy, &amp; Abuse
Prevention <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/software-engineering/" class="navigation__sub__columns__mobile__link" > Software Engineering <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/software-systems/" class="navigation__sub__columns__mobile__link" > Software Systems <span> </span> </a> </li> </ul> </div> </div> </li> <li data-gt-secondary="Science, AI &amp; Society"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading">Science, AI &amp; Society</h2> <ul> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/climate-and-sustainability/" > Climate &amp; Sustainability </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/economics-and-electronic-commerce/" > Economics &amp; Electronic Commerce </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/education-innovation/" > Education Innovation </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/general-science/" > General Science </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/health-bioscience/" > Health &amp; Bioscience </a> </li> <li> <a class="navigation__sub__columns__list-link caption js-drawer-link" href="https://research.google/research-areas/human-computer-interaction-and-visualization/" > Human-Computer Interaction and Visualization </a> </li> </ul> </div> <div class="navigation__sub__columns__mobile"> <button class="glue-header__link js-sub-nav-target" data-panel="nested" role="menuitem" aria-haspopup="true"> Science, AI &amp; Society <span class="icon icon--caret"></span> </button> <div class="navigation__nested-sub js-sub-nav-parent"> <div class="navigation__sub__mobile-heading"> <button class="glue-header__link js-sub-nav-close-mobile" role="menuitem" aria-haspopup="true"> <span class="sr-text">Back to</span> <span class="icon icon--caret"></span> Science, AI &amp; Society <span class="sr-text">menu</span> </button> <hr/> </div> <ul> <li role="menuitem"> <a href="https://research.google/research-areas/climate-and-sustainability/" class="navigation__sub__columns__mobile__link" > Climate &amp; Sustainability <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/economics-and-electronic-commerce/" class="navigation__sub__columns__mobile__link" > Economics &amp; Electronic Commerce <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/education-innovation/" class="navigation__sub__columns__mobile__link" > Education Innovation <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/general-science/" class="navigation__sub__columns__mobile__link" > General Science <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/health-bioscience/" class="navigation__sub__columns__mobile__link" > Health &amp; Bioscience <span> </span> </a> </li> <li role="menuitem"> <a href="https://research.google/research-areas/human-computer-interaction-and-visualization/" class="navigation__sub__columns__mobile__link" > Human-Computer Interaction and Visualization <span> </span> </a> </li> </ul> </div> </div> </li> </ul> </div> </div></div> </div> </div> </li> <li class="glue-header__item js-sub-nav-parent --parent" data-gt-primary="Our work" > <button class="glue-header__link js-sub-nav-target" aria-haspopup="true" aria-expanded="false" > <span class=""> Our work <span class="icon icon--caret"></span> </span> </button> <div class="navigation__sub js-sub-nav" role="menu"> <div class="navigation__sub__container"> <div class="navigation__sub__mobile-heading"> <button class="glue-header__link js-sub-nav-close-mobile"> <span class="sr-text">Back to</span> <span class="icon icon--caret"></span> Our work <span class="sr-text">menu</span> </button> <hr/> </div> <div class="block-nav_drawer_columns_content"> <div class="navigation__sub--content" data-gt-secondary=""> <div class="navigation__sub__wrapper"> <ul class="navigation__sub__columns"> <li data-gt-secondary="Projects"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading"> Projects </h2> <p class="navigation__sub__columns__description caption">We regularly open-source projects with the broader research community and apply our developments to Google products.</p> <a href="https://research.google/resources/our-projects/" class="glue-inline-link js-drawer-link" > <span class="sr-text">Learn more about our Projects</span> <span aria-hidden="true">Learn more</span> </a> </div> <div class="navigation__sub__columns__mobile"> <a class="glue-header__link" href="https://research.google/resources/our-projects/" > Projects </a> </div> </li> <li data-gt-secondary="Publications"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading"> Publications </h2> <p class="navigation__sub__columns__description caption">Publishing our work allows us to share ideas and work collaboratively to advance the field of computer science.</p> <a href="https://research.google/pubs/" class="glue-inline-link js-drawer-link" > <span class="sr-text">Learn more about our Publications</span> <span aria-hidden="true">Learn more</span> </a> </div> <div class="navigation__sub__columns__mobile"> <a class="glue-header__link" href="https://research.google/pubs/" > Publications </a> </div> </li> <li data-gt-secondary="Resources"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading"> Resources </h2> <p class="navigation__sub__columns__description caption">We make products, tools, and datasets available to everyone with the goal of building a more collaborative ecosystem.</p> <a href="https://research.google/resources/" class="glue-inline-link js-drawer-link" > <span class="sr-text">Learn more about our Resources</span> <span aria-hidden="true">Learn more</span> </a> </div> <div class="navigation__sub__columns__mobile"> <a class="glue-header__link" href="https://research.google/resources/" > Resources </a> </div> </li> </ul> </div> </div> </div> </div> </div> </li> <li class="glue-header__item js-sub-nav-parent --parent" data-gt-primary="Programs &amp; events" > <button class="glue-header__link js-sub-nav-target" aria-haspopup="true" aria-expanded="false" > <span class=""> Programs &amp; events <span class="icon icon--caret"></span> </span> </button> <div class="navigation__sub js-sub-nav" role="menu"> <div class="navigation__sub__container"> <div class="navigation__sub__mobile-heading"> <button class="glue-header__link js-sub-nav-close-mobile"> <span class="sr-text">Back to</span> <span class="icon icon--caret"></span> Programs &amp; events <span class="sr-text">menu</span> </button> <hr/> </div> <div class="block-nav_drawer_columns_content"> <div class="navigation__sub--content" data-gt-secondary="Shaping the future, together."> <div class="navigation__sub__wrapper"> <div class="navigation__sub__heading"> <h2 class="headline-3">Shaping the future, together.</h2> <a href="https://research.google/programs-and-events/" class="js-drawer-link" > Collaborate with us </a> </div> <ul class="navigation__sub__columns"> <li data-gt-secondary="Student programs"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading"> Student programs </h2> <p class="navigation__sub__columns__description caption">Supporting the next generation of researchers through a wide range of programming.</p> <a href="https://research.google/programs-and-events/student-engagement/" class="glue-inline-link js-drawer-link" > <span class="sr-text">Learn more about our Student programs</span> <span aria-hidden="true">Learn more</span> </a> </div> <div class="navigation__sub__columns__mobile"> <a class="glue-header__link" href="https://research.google/programs-and-events/student-engagement/" > Student programs </a> </div> </li> <li data-gt-secondary="Faculty programs"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading"> Faculty programs </h2> <p class="navigation__sub__columns__description caption">Participating in the academic research community through meaningful engagement with university faculty.</p> <a href="https://research.google/programs-and-events/faculty-engagement/" class="glue-inline-link js-drawer-link" > <span class="sr-text">Learn more about our Faculty programs</span> <span aria-hidden="true">Learn more</span> </a> </div> <div class="navigation__sub__columns__mobile"> <a class="glue-header__link" href="https://research.google/programs-and-events/faculty-engagement/" > Faculty programs </a> </div> </li> <li data-gt-secondary="Conferences &amp; events"> <div class="navigation__sub__columns__desktop"> <h2 class="headline-6 navigation__sub__columns__heading"> Conferences &amp; events </h2> <p class="navigation__sub__columns__description caption">Connecting with the broader research community through events is essential for creating progress in every aspect of our work.</p> <a href="https://research.google/conferences-and-events/" class="glue-inline-link js-drawer-link" > <span class="sr-text">Learn more about our Conferences &amp; events</span> <span aria-hidden="true">Learn more</span> </a> </div> <div class="navigation__sub__columns__mobile"> <a class="glue-header__link" href="https://research.google/conferences-and-events/" > Conferences &amp; events </a> </div> </li> </ul> <div class="navigation__sub__cta"> <a class="glue-button glue-button--high-emphasis js-drawer-link" href="https://research.google/programs-and-events/" target="_blank" rel="noreferrer noopener" > Collaborate with us </a> </div> </div> </div> </div> </div> </div> </li> <li class="glue-header__item " data-gt-primary="Careers" > <a class="glue-header__link " href="https://research.google/careers/" > <span class=""> Careers </span> </a> </li> <li class="glue-header__item " data-gt-primary="Blog" > <a class="glue-header__link " href="https://research.google/blog/" > <span class=""> Blog </span> </a> </li> </ul> </nav> </div> <!-- search (hide on search page) --> <div class="glue-header__search js-header-search"> <div class="glue-header__search__input"> <div class="search-input " data-type="header"> <input type="search" class="caption --empty-search js-search-bar js-gt-search-input" placeholder="Search"> <button class="search-input__button --search js-gt-search-btn"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--18px "> <use href="/gr/static/assets/icons/glue-icons.svg#search"></use> </svg> </button> <button class="search-input__button --clear"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--18px "> <use href="/gr/static/assets/icons/glue-icons.svg#close"></use> </svg> </button> </div> </div> <button class="glue-header__search__btn js-header-search-btn"> <svg role="presentation" aria-hidden="true" aria-hidden="true" class="glue-icon glue-icon--24px search"> <use href="/gr/static/assets/icons/glue-icons.svg#search"></use> </svg> <svg role="presentation" aria-hidden="true" aria-hidden="true" class="glue-icon glue-icon--24px close"> <use href="/gr/static/assets/icons/glue-icons.svg#close"></use> </svg> <span class="sr-text js-header-search-sr-text">Search</span> </button> </div> </div> </div> <div class="glue-header__drawer-backdrop"> <div class="glue-header__mobile_close"> <button class="glue-header__drawer-toggle-btn js-mobile-nav-close" aria-label="Close the navigation drawer"> <svg class="glue-icon glue-icon--24px" role="presentation" aria-hidden="true"> <use href="/gr/static/assets/icons/glue-icons.svg#close"></use> </svg> </button> </div> </div> </header> <main id="page-content"> <div class="blog-detail-page --legacy " > <section class="basic-hero bhoig --theme-dark --large-image" data-gt-id="basic_hero" data-gt-component-name=""> <div class="glue-page"> <div class="glue-grid"> <div class="bhoig__image-wrapper glue-grid__col--span-4 glue-grid__col--span-5-md glue-grid__col--span-4-lg"> <div class="bhoig__image-bg" style=""> <picture> <img src="https://storage.googleapis.com/gweb-research2023-media/original_images/097108a5eed496cfd455e4880d19b700-image1.jpg" alt="" class=""/> </picture> </div> </div> <div class="bhoig__breadcrumb-wrapper glue-grid__col--span-10 glue-grid__col--span-9-md glue-grid__col--span-10-lg"> <nav class="glue-breadcrumbs" aria-label="Breadcrumbs"> <ol class="glue-breadcrumbs__list"> <li class="glue-breadcrumbs__item"> <a class="glue-breadcrumbs__link attribution" href="/">Home</a> <svg role="presentation" aria-hidden="true" class="glue-icon "> <use href="/gr/static/assets/icons/glue-icons.svg#chevron-right"></use> </svg> </li> <li class="glue-breadcrumbs__item"> <a class="glue-breadcrumbs__link attribution" href="/blog/">Blog</a> <svg role="presentation" aria-hidden="true" class="glue-icon "> <use href="/gr/static/assets/icons/glue-icons.svg#chevron-right"></use> </svg> </li> </ol> </nav> </div> <h1 class="headline-1 bhoig__headline glue-grid__col--span-8 glue-grid__col--span-7-md glue-grid__col--span-8-lg">Advances in TF-Ranking</h1> <div class="basic-hero__description bhoig__description glue-grid__col--span-8 glue-grid__col--span-7-md glue-grid__col--span-8-lg"> <div class="basic-hero--blog-detail__description"><p>July 27, 2021</p><span class="dot-separator"></span><p>Posted by Michael Bendersky and Xuanhui Wang, Software Engineers, Google Research</p></div> </div> <div class="bhoig__cta glue-grid__col--span-8 glue-grid__col--span-7-md glue-grid__col--span-8-lg"> </div> </div> </div> </section> <div class="glue-page"> <div class="glue-grid blog-detail-page__grid"> <div class="glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-12-md glue-grid__col--span-9-lg"> <div class="quicklinks-wrapper--mobile"> <div class="block-quick_links"> <section class="quicklinks"> <h2 class="eyebrow">Quick links</h2> <ul class="quicklinks__list"> <li class="quicklinks__item quicklinks__item--share js-quicklinks-share"> <button class="quicklinks__share-button js-quicklinks-share__button" aria-expanded="false" aria-controls="js-quicklinks-share__list"> <span class="icon icon--share"></span> <span class="quicklinks__item__text">Share</span> </button> <section class="glue-social glue-social--monochrome quicklinks__share-list js-quicklinks-share__list glue-elevation-level-1 js-gt-share-wrapper"> <div class="glue-social__group"> <ul class="glue-social__list" role="list"> <li class="glue-social__item"> <a class="glue-social__link" href="https://twitter.com/intent/tweet?text=https%3A//research.google/blog/advances-in-tf-ranking/" title="Share on Twitter" target="_blank" rel="noopener" data-gt-method="x"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--24px"> <use href="/gr/static/assets/icons/twitter-x.svg#twitter-x"></use> </svg> </a> </li> <li class="glue-social__item"> <a class="glue-social__link" href="https://www.facebook.com/sharer/sharer.php?u=https%3A//research.google/blog/advances-in-tf-ranking/" title="Share on Facebook" target="_blank" rel="noopener" data-gt-method="facebook"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-facebook glue-icon--24px"> <use href="/gr/static/assets/icons/facebook.svg#facebook"></use> </svg> </a> </li> <li class="glue-social__item"> <a class="glue-social__link" href="https://www.linkedin.com/shareArticle?url=https%3A//research.google/blog/advances-in-tf-ranking/&amp;mini=true" title="Share on LinkedIn" target="_blank" rel="noopener" data-gt-method="linkedin"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-linkedin glue-icon--24px"> <use href="/gr/static/assets/icons/glue-icons.svg#post-linkedin"></use> </svg> </a> </li> <li class="glue-social__item"> <a class="glue-social__link" href="mailto:name@example.com?subject=Check%20out%20this%20site&body=Check%20out%20https%3A//research.google/blog/advances-in-tf-ranking/" title="Send via Email" data-gt-method="email"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-sharemail glue-icon--24px"> <use href="/gr/static/assets/icons/glue-icons.svg#email"></use> </svg> </a> </li> <li class="glue-social__item"> <div class="glue-social__popover"> <div class="glue-social__icon-trigger" aria-label="Get shareable link" title="Get shareable link" id="share-static-popover-trigger"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-sharelink glue-icon--24px"> <use href="/gr/static/assets/icons/glue-icons.svg#link"></use> </svg> </div> <div class="glue-social__dialog" id="share-popover-dialog"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-sharelink glue-icon--24px"> <use href="/public/icons/glue-icons.svg#link"></use> </svg> <div class="glue-social__copy" glue-copy-success="Copied to clipboard" glue-copy-fail="Press Ctrl+C or ⌘+C to copy"> <input class="glue-social__copy-input" readonly="" type="text" value="https://research.google/blog/advances-in-tf-ranking/" aria-label="URL"> <button class="glue-social__copy-btn" id="share-copy-btn" data-gt-method="link-copied">Copy link</button> </div> <div aria-label="Close" class="glue-social__close-btn"> × </div> </div> </div> </li> </ul> </div> </section> </li> </ul> </section> </div> </div> <div class="blog-detail-wrapper js-gt-blog-detail-wrapper" data-gt-publish-date="20210727"> <div class="rich-text --theme- --mode-" data-gt-id="rich_text" data-gt-component-name=""> <p> In December 2018, <a href="https://ai.googleblog.com/2018/12/tf-ranking-scalable-tensorflow-library.html" target="_blank" rel="noopener noreferrer">we</a> <a href="https://youtu.be/Un0JDL3i5Hg" target="_blank" rel="noopener noreferrer">introduced</a> <a href="https://github.com/tensorflow/ranking" target="_blank" rel="noopener noreferrer">TF-Ranking</a>,&nbsp;an open-source TensorFlow-based library for developing scalable neural <a href="https://en.wikipedia.org/wiki/Learning_to_rank" target="_blank" rel="noopener noreferrer">learning-to-rank</a> (LTR) models, which are useful in settings where users expect to receive an ordered list of items in response to their query. LTR models — unlike standard classification models that classify one item at a time — receive an entire list of items as an input, and learn an ordering that maximizes the utility of the entire list. While search and recommendation systems are the most common applications of LTR models, since its release, we have seen TF-Ranking being applied in diverse domains beyond search, including <a href="https://dl.acm.org/doi/abs/10.1145/3308560.3316603" target="_blank" rel="noopener noreferrer">e-commerce</a>, <a href="https://arxiv.org/abs/1904.12084" target="_blank" rel="noopener noreferrer">SAT solvers</a>, and <a href="https://dl.acm.org/doi/abs/10.1145/3450267.3450538" target="_blank" rel="noopener noreferrer">smart city planning</a>. </p> <a name='more'></a> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-IQTHStDjBVk/YQG1FVsdgNI/AAAAAAAAH-Q/WpWEWkgot483yRy6RhUsDvhaiRmPo2MzwCLcBGAsYHQ/s769/image1.jpg" target="_blank" rel="noopener noreferrer"><img border="0" data-original-height="350" data-original-width="769" height="183" src="https://1.bp.blogspot.com/-IQTHStDjBVk/YQG1FVsdgNI/AAAAAAAAH-Q/WpWEWkgot483yRy6RhUsDvhaiRmPo2MzwCLcBGAsYHQ/w400-h183/image1.jpg" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">The goal of learning-to-rank (LTR) is to learn a function f() that takes as an input a list of items (documents, products, movies, etc.) and outputs the list of items in the optimal order (descending order of relevance). Here, green shade indicates item relevance level, and the red item marked with 'x' is non-relevant.</td></tr></tbody></table> <p> In May 2021, we published a <a href="https://github.com/tensorflow/ranking/releases/tag/v0.4.0" target="_blank" rel="noopener noreferrer">major release</a> of TF-Ranking that enables full support for natively building LTR models using <a href="https://keras.io/about/" target="_blank" rel="noopener noreferrer">Keras</a>, a high-level API of <a href="https://www.tensorflow.org/" target="_blank" rel="noopener noreferrer">TensorFlow 2</a>. Our native Keras ranking model has a brand-new workflow design, including a flexible <em>ModelBuilder</em>, a <em>DatasetBuilder</em> to set up training data, and a <em>Pipeline</em> to train the model with the provided dataset. These components make building a customized LTR model easier than ever, and facilitate rapid exploration of new model structures for production and research. If <a href="https://blog.tensorflow.org/2018/12/introducing-ragged-tensors.html" target="_blank" rel="noopener noreferrer">RaggedTensors</a> are your tool of choice, TF-Ranking is now working with them <a href="https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/examples/keras/antique_ragged.py" target="_blank" rel="noopener noreferrer">as well</a>. In addition, our <a href="https://github.com/tensorflow/ranking/releases/tag/v0.4.2" target="_blank" rel="noopener noreferrer">most recent release</a>, which incorporates the <a href="https://github.com/tensorflow/models/tree/master/orbit" target="_blank" rel="noopener noreferrer">Orbit</a> training library, contains a long list of advances — the culmination of two and half years of neural LTR research. Below we share a few of the key improvements available in the latest TF-Ranking version. </p> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-bL294WB0B6c/YQG1MepjFMI/AAAAAAAAH-U/oh9jrFOSzKAEuAL-r52v87Okb901AT3VgCLcBGAsYHQ/s339/image3.jpg" target="_blank" rel="noopener noreferrer"><img border="0" data-original-height="248" data-original-width="339" height="293" src="https://1.bp.blogspot.com/-bL294WB0B6c/YQG1MepjFMI/AAAAAAAAH-U/oh9jrFOSzKAEuAL-r52v87Okb901AT3VgCLcBGAsYHQ/w400-h293/image3.jpg" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Workflow to build and train a native Keras ranking model. Blue modules are provided by TF-Ranking, and green modules are customizable.</td></tr></tbody></table> <div style="line-height:40%;"> <br> </div> <h2>Learning-to-Rank with TFR-BERT</h2> <p> Recently, pretrained language models like <a href="https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html" target="_blank" rel="noopener noreferrer">BERT</a> have achieved state-of-the-art performance on various language understanding tasks. To capture the expressiveness of these models, TF-Ranking implements a novel TFR-BERT architecture that couples BERT with the power of LTR to optimize the ordering of list inputs. As an example, consider a query and a list of <em>n</em> documents that one might like to rank in response to this query. Instead of learning an independent BERT representation for each <em>&lt;query, document&gt;</em> pair, LTR models apply a <a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2007-40.pdf" target="_blank" rel="noopener noreferrer">ranking loss</a> to jointly learn a BERT representation that maximizes the utility of the entire ranked list with respect to the ground-truth labels. </p> <p> The figure below illustrates this process. First, we flatten a list of <em>n</em> documents to rank in response to a query into a list <em>&lt;query, document&gt;</em> tuples. These tuples are fed into a pre-trained language model (e.g., BERT). The pooled BERT outputs for the entire document list are then jointly fine-tuned with one of the specialized <a href="https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/python/losses.py" target="_blank" rel="noopener noreferrer">ranking losses</a> available in TF-Ranking. Our experience shows that this TFR-BERT architecture delivers significant improvements in pretrained language model performance, leading to state-of-the-art performance for <a href="https://arxiv.org/abs/2004.08476" target="_blank" rel="noopener noreferrer">several</a> <a href="https://arxiv.org/abs/2010.00200" target="_blank" rel="noopener noreferrer">popular</a> ranking tasks, especially when multiple pretrained language models are ensembled. Our users can now get started with TFR-BERT using this <a href="https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/examples/keras/tfrbert_antique_train.py" target="_blank" rel="noopener noreferrer">simple example</a>. </p> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-3Y-7M__j9XM/YQG1RMl5hTI/AAAAAAAAH-Y/i-tZ7G-FTKoSoGnDsCLOYsU1OrWQvEwYgCLcBGAsYHQ/s907/image4.jpg" target="_blank" rel="noopener noreferrer"><img border="0" data-original-height="285" data-original-width="907" height="202" src="https://1.bp.blogspot.com/-3Y-7M__j9XM/YQG1RMl5hTI/AAAAAAAAH-Y/i-tZ7G-FTKoSoGnDsCLOYsU1OrWQvEwYgCLcBGAsYHQ/s16000/image4.jpg" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">An illustration of the TFR-BERT architecture, in which a joint LTR model over a list of n documents is constructed using BERT representations of individual &lt;query, document&gt; pairs.</td></tr></tbody></table> <div style="line-height:40%;"> <br> </div> <h2>Interpretable Learning-to-Rank</h2> <p> Transparency and interpretability are important factors in deploying LTR models in ranking systems that can be involved in determining the outcomes of processes such as loan eligibility assessment, advertisement targeting, or guiding medical treatment decisions. In such cases, the contribution of each individual feature to the final ranking should be examinable and understandable to ensure transparency, accountability and fairness of the outcomes. </p> <p> One possible way to achieve this is using <a href="https://en.wikipedia.org/wiki/Generalized_additive_model" target="_blank" rel="noopener noreferrer">generalized additive models</a> (GAMs) — intrinsically interpretable machine learning models that are linearly composed of smooth functions of individual features. However, while GAMs have been extensively studied on <a href="https://en.wikipedia.org/wiki/Regression_analysis" target="_blank" rel="noopener noreferrer">regression</a> and classification tasks, it is less clear how to apply them in a ranking setting. For instance, while GAMs can be straightforwardly applied to model each individual item in the list, modeling both item interactions and the context in which these items are ranked is a more challenging research problem. To this end, we have developed a <a href="https://arxiv.org/abs/2005.02553" target="_blank" rel="noopener noreferrer">neural ranking GAM</a> — an extension of generalized additive models to ranking problems. </p> <p> Unlike standard GAMs, a neural ranking GAM can take into account both the features of the ranked items and the context features (e.g., query or user profile) to derive an interpretable, compact model. This ensures that not only the contribution of each item-level feature is interpretable, but also the contribution of the context features. For example, in the figure below, using a neural ranking GAM makes visible how distance, price, and relevance, in the context of a given user device, contribute to the final ranking of the hotel. Neural ranking GAMs are now <a href="https://github.com/tensorflow/ranking/issues/202" target="_blank" rel="noopener noreferrer">available</a> as a part of TF-Ranking, </p> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-wLnimKYmhbA/YPrnHWh4jiI/AAAAAAAAH8c/AndggKFG4_YTKo7MeZ6m5E67ZA-Z4wQfgCLcBGAsYHQ/s1270/image2.png" target="_blank" rel="noopener noreferrer"><img border="0" data-original-height="940" data-original-width="1270" src="https://1.bp.blogspot.com/-wLnimKYmhbA/YPrnHWh4jiI/AAAAAAAAH8c/AndggKFG4_YTKo7MeZ6m5E67ZA-Z4wQfgCLcBGAsYHQ/s16000/image2.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">An example of applying neural ranking GAM for local search. For each input feature (e.g., price, distance), a sub-model produces a sub-score that can be examined, providing transparency. Context features (e.g., user device type) can be utilized to derive importance weights of submodels.</td></tr></tbody></table> <div style="line-height:40%;"> <br> </div> <h2>Neural Ranking or Gradient Boosting?</h2> <p> While neural models have achieved state of the art performance in multiple domains, specialized <a href="https://en.wikipedia.org/wiki/Gradient_boosting#Gradient_tree_boosting" target="_blank" rel="noopener noreferrer">gradient boosted decision trees</a> (GBDTs) like <a href="https://www.microsoft.com/en-us/research/uploads/prod/2016/02/MSR-TR-2010-82.pdf" target="_blank" rel="noopener noreferrer">LambdaMART</a> remained the baseline to beat in a variety of open LTR datasets. The success of GBDTs in open datasets is due to several reasons. First, due to their relatively small size, neural models are prone to <a href="https://en.wikipedia.org/wiki/Overfitting" target="_blank" rel="noopener noreferrer">overfitting</a> on these datasets. Second, since GBDTs partition their input feature space using decision trees, they are naturally more resilient to variations in numerical scales in ranking data, which often contain features with <a href="https://en.wikipedia.org/wiki/Zipf%27s_law" target="_blank" rel="noopener noreferrer">Zipfian</a> or otherwise skewed distributions. However, GBDTs do have their limitations in <a href="https://dl.acm.org/doi/pdf/10.1145/3292500.3330676" target="_blank" rel="noopener noreferrer">more realistic</a> ranking scenarios, which often combine both textual and numerical features. For instance, GBDTs cannot be directly applied to large discrete feature spaces, such as raw document text. They are also, in general, less scalable than neural ranking models. </p> <p> Therefore, since the TF-Ranking release, our team has significantly deepened the understanding of how best to leverage neural models in ranking with numerical features. This culminated in a Data Augmented Self-Attentive Latent Cross (DASALC) model, described in an <a href="https://research.google/pubs/pub50030/">ICLR 2021 paper</a>, which is the first to establish parity, and in some cases statistically significant improvements, of neural ranking models over strong LambdaMART baselines on open LTR datasets. This achievement is made possible through a combination of techniques, which include data augmentation, <a href="https://research.google/pubs/pub49171/">neural feature transformation</a>, self-attention for <a href="https://research.google/pubs/pub49364/">modeling</a> document interactions, <a href="https://research.google/pubs/pub48321/">listwise ranking loss</a>, and model ensembling similar to boosting in GBDTs. The architecture of the DASALC model was entirely implemented using the TF-Ranking library. </p> <div style="line-height:40%;"> <br> </div> <h2>Conclusion</h2> <p> All in all, we believe that the new Keras-based TF-Ranking version will make it easier to conduct neural LTR research and deploy production-grade ranking systems. We encourage everyone to try out the <a href="https://github.com/tensorflow/ranking/releases/tag/v0.4.0" target="_blank" rel="noopener noreferrer">latest version</a> and follow <a href="https://github.com/tensorflow/ranking/blob/master/tensorflow_ranking/examples/keras/keras_dnn_tfrecord.py" target="_blank" rel="noopener noreferrer">this introductory example</a> for a hands-on experience. While we are very excited about this new release, our research and development journey is far from over, so we will continue to advance our understanding of learning-to-rank problems and share these advances with our users. </p> <div style="line-height:40%;"> <br> </div> <h2>Acknowledgements</h2> <p> <i>This project was only possible thanks to the current and past members of the TF-Ranking team: Honglei Zhuang, Le Yan, Rama Pasumarthi, Rolf Jagerman, Zhen Qin, Shuguang Han, Sebastian Bruch, Nathan Cordeiro, Marc Najork and Patrick McGregor. We also extend special thanks to our collaborators from the Tensorflow team: Zhenyu Tan, Goldie Gadde, Rick Chao, Yuefeng Zhou, Hongkun Yu, and Jing Li.</i> </p> </div> </div> <section aria-label="List of footnotes" data-gt-id="footnotes" data-gt-component-name="Footnotes"> <ol class="js-footnotes footnotes"> </ol> </section> <section class="blog-labels" data-gt-id="blog_labels" data-gt-component-name="Blog Labels"> <ul class="blog-labels__list"> <span class="caption">Labels:</span> <li class="caption"> <a class="caption" href="/blog/label/machine-intelligence">Machine Intelligence</a> <div class="blog-labels__spacer"></div> </li> <li class="caption"> <a class="caption" href="/blog/label/open-source-models-datasets">Open Source Models &amp; Datasets</a> <div class="blog-labels__spacer"></div> </li> <li class="caption"> <a class="caption" href="/blog/label/product">Product</a> </li> </ul> </section> </div> <div class="glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-12-md glue-grid__col--span-3-lg"> <div class="quicklinks-wrapper--desktop quicklinks-wrapper--sticky"> <div class="block-quick_links"> <section class="quicklinks"> <h2 class="eyebrow">Quick links</h2> <ul class="quicklinks__list"> <li class="quicklinks__item quicklinks__item--share js-quicklinks-share"> <button class="quicklinks__share-button js-quicklinks-share__button" aria-expanded="false" aria-controls="js-quicklinks-share__list"> <span class="icon icon--share"></span> <span class="quicklinks__item__text">Share</span> </button> <section class="glue-social glue-social--monochrome quicklinks__share-list js-quicklinks-share__list glue-elevation-level-1 js-gt-share-wrapper"> <div class="glue-social__group"> <ul class="glue-social__list" role="list"> <li class="glue-social__item"> <a class="glue-social__link" href="https://twitter.com/intent/tweet?text=https%3A//research.google/blog/advances-in-tf-ranking/" title="Share on Twitter" target="_blank" rel="noopener" data-gt-method="x"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--24px"> <use href="/gr/static/assets/icons/twitter-x.svg#twitter-x"></use> </svg> </a> </li> <li class="glue-social__item"> <a class="glue-social__link" href="https://www.facebook.com/sharer/sharer.php?u=https%3A//research.google/blog/advances-in-tf-ranking/" title="Share on Facebook" target="_blank" rel="noopener" data-gt-method="facebook"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-facebook glue-icon--24px"> <use href="/gr/static/assets/icons/facebook.svg#facebook"></use> </svg> </a> </li> <li class="glue-social__item"> <a class="glue-social__link" href="https://www.linkedin.com/shareArticle?url=https%3A//research.google/blog/advances-in-tf-ranking/&amp;mini=true" title="Share on LinkedIn" target="_blank" rel="noopener" data-gt-method="linkedin"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-linkedin glue-icon--24px"> <use href="/gr/static/assets/icons/glue-icons.svg#post-linkedin"></use> </svg> </a> </li> <li class="glue-social__item"> <a class="glue-social__link" href="mailto:name@example.com?subject=Check%20out%20this%20site&body=Check%20out%20https%3A//research.google/blog/advances-in-tf-ranking/" title="Send via Email" data-gt-method="email"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-sharemail glue-icon--24px"> <use href="/gr/static/assets/icons/glue-icons.svg#email"></use> </svg> </a> </li> <li class="glue-social__item"> <div class="glue-social__popover"> <div class="glue-social__icon-trigger" aria-label="Get shareable link" title="Get shareable link" id="share-static-popover-trigger"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-sharelink glue-icon--24px"> <use href="/gr/static/assets/icons/glue-icons.svg#link"></use> </svg> </div> <div class="glue-social__dialog" id="share-popover-dialog"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--color-sharelink glue-icon--24px"> <use href="/public/icons/glue-icons.svg#link"></use> </svg> <div class="glue-social__copy" glue-copy-success="Copied to clipboard" glue-copy-fail="Press Ctrl+C or ⌘+C to copy"> <input class="glue-social__copy-input" readonly="" type="text" value="https://research.google/blog/advances-in-tf-ranking/" aria-label="URL"> <button class="glue-social__copy-btn" id="share-copy-btn" data-gt-method="link-copied">Copy link</button> </div> <div aria-label="Close" class="glue-social__close-btn"> × </div> </div> </div> </li> </ul> </div> </section> </li> </ul> </section> </div> </div> </div> </div> </div> <section class="related-posts offset-two-up --theme-dark" data-gt-id="related_blog_posts" data-gt-component-name="Related Blog Posts"> <div class="glue-page glue-grid"> <div class="offset-two-up__left-col glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-12-md glue-grid__col--span-3-lg"> <h3 class="offset-two-up__headline headline-3">Other posts of interest</h3> </div> <div class="glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-12-md glue-grid__col--span-9-lg"> <ul class="card-stack--basic nested-glue-grid-override"> <li class="glue-grid__col glue-grid__col--span-4-md glue-grid__col--span-4-sm"> <a class="glue-card not-glue " href="/blog/chain-of-agents-large-language-models-collaborating-on-long-context-tasks/" aria-label="" > <div class="glue-card__inner"> <div class="related-posts__image"> <img src="https://storage.googleapis.com/gweb-research2023-media/original_images/CoA-5-HotpotQA.png" alt="" /> </div> <div class="glue-card__content --no-media"> <p class="glue-label glue-spacer-1-bottom">January 23, 2025</p> <span class="headline-5 js-gt-item-id"> Chain of Agents: Large language models collaborating on long-context tasks </span> </div> <ul class="glue-card__link-list"> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Generative AI <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Machine Intelligence <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Natural Language Processing </span> </li> </ul> </div> </a> </li> <li class="glue-grid__col glue-grid__col--span-4-md glue-grid__col--span-4-sm"> <a class="glue-card not-glue " href="/blog/google-research-2024-breakthroughs-for-impact-at-every-scale/" aria-label="" > <div class="glue-card__inner"> <div class="related-posts__image"> <img src="https://storage.googleapis.com/gweb-research2023-media/original_images/2024YiR-0-Hero.png" alt="" /> </div> <div class="glue-card__content --no-media"> <p class="glue-label glue-spacer-1-bottom">December 19, 2024</p> <span class="headline-5 js-gt-item-id"> Google Research 2024: Breakthroughs for impact at every scale </span> </div> <ul class="glue-card__link-list"> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Algorithms &amp; Theory <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Climate &amp; Sustainability <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> General Science <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Generative AI <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Health &amp; Bioscience <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Machine Intelligence <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Quantum <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Year in Review </span> </li> </ul> </div> </a> </li> <li class="glue-grid__col glue-grid__col--span-4-md glue-grid__col--span-4-sm"> <a class="glue-card not-glue " href="/blog/satellite-powered-estimation-of-global-solar-potential/" aria-label="" > <div class="glue-card__inner"> <div class="related-posts__image"> <img src="https://storage.googleapis.com/gweb-research2023-media/original_images/SatelliteSun12_Predictions.png" alt="" /> </div> <div class="glue-card__content --no-media"> <p class="glue-label glue-spacer-1-bottom">December 12, 2024</p> <span class="headline-5 js-gt-item-id"> Satellite powered estimation of global solar potential </span> </div> <ul class="glue-card__link-list"> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Climate &amp; Sustainability <span class="glue-card__link-list__spacer">&#183;</span> </span> </li> <li class="glue-card__link-list__item"> <span class="not-glue caption"> Machine Intelligence </span> </li> </ul> </div> </a> </li> </ul> </div> </div> </section> </div> </main> <footer class="glue-footer"> <div class="glue-page"> <section class="glue-social"> <div class="glue-social__group glue-social--monochrome"> <p class="glue-social__title glue-social__title--inline"> Follow us </p> <nav class="js-gt-follow-us-wrapper" aria-label="Social media links"> <ul class="glue-social__list" role="list"> <li class="glue-social__item"> <a class="glue-social__link" href="https://twitter.com/GoogleAI" title="Follow us on x" target="_blank" rel="noopener" data-gt-method="x"" > <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--24px"> <use href="/gr/static/assets/icons/twitter-x.svg#twitter-x"></use> </svg> </a> </li> <li class="glue-social__item"> <a class="glue-social__link" href="https://www.linkedin.com/showcase/googleresearch/" title="Follow us on linkedin" target="_blank" rel="noopener" data-gt-method="linkedin"" > <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--24px"> <use href="/gr/static/assets/icons/glue-icons.svg#post-linkedin"></use> </svg> </a> </li> <li class="glue-social__item"> <a class="glue-social__link" href="https://www.youtube.com/c/GoogleResearch" title="Follow us on youtube" target="_blank" rel="noopener" data-gt-method="youtube"" > <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--24px"> <use href="/gr/static/assets/icons/glue-icons.svg#video-youtube"></use> </svg> </a> </li> <li class="glue-social__item"> <a class="glue-social__link" href="https://github.com/google-research" title="Follow us on github" target="_blank" rel="noopener" data-gt-method="github"" > <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--24px"> <use href="/gr/static/assets/icons/github.svg#github"></use> </svg> </a> </li> </ul> </nav> </div> </section> </div> <div class="glue-fullbleed"></div> <section class="glue-page"> <nav class="glue-footer__global" aria-label="Footer resource links"> <div class="glue-footer__logo"> <a href="https://www.google.com" title="Google" class="glue-footer__link"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-footer__logo-img"> <use href="/gr/static/assets/icons/glue-icons.svg#google-solid-logo"></use> </svg> </a> </div> <ul class="glue-footer__global-links glue-no-bullet js-gt-global-nav-wrapper" role="list"> <li class="glue-footer__global-links-list-item" data-gt-primary="About Google"> <a class="glue-footer__link" href="https://about.google/" target="_blank" rel="noopener"> About Google </a> </li> <li class="glue-footer__global-links-list-item" data-gt-primary="Google Products"> <a class="glue-footer__link" href="https://about.google/intl/en/products/" target="_blank" rel="noopener"> Google Products </a> </li> <li class="glue-footer__global-links-list-item" data-gt-primary="Privacy"> <a class="glue-footer__link" href="https://policies.google.com/privacy" target="_blank" rel="noopener"> Privacy </a> </li> <li class="glue-footer__global-links-list-item" data-gt-primary="Terms"> <a class="glue-footer__link" href="https://policies.google.com/terms" target="_blank" rel="noopener"> Terms </a> </li> </ul> <ul class="glue-footer__global-links glue-footer__global-links--extra glue-no-bullet" role="list"> <li class="glue-footer__global-links-list-item glue-footer__global-links-list-item--extra"> <a class="glue-footer__link" href="https://support.google.com/?hl=en"> <svg role="presentation" aria-hidden="true" aria-hidden="true" class="glue-icon glue-icon--24px glue-icon--footer-help"> <use href="/gr/static/assets/icons/glue-icons.svg#help"></use> </svg> Help </a> </li> <li class="glue-footer__global-links-list-item glue-footer__global-links-list-item--extra"> <button class="glue-footer__link google-feedback js-feedback-button" href="" data-product-id="5137383" > Submit feedback </button> </li> </ul> </nav> </section> </footer> <script src="https://www.gstatic.com/glue/v27_1/material-components-web.min.js"></script> <script src="https://www.youtube.com/player_api"></script> <script type="text/javascript" src="/gr/static/js/googleresearch.js?id=b70549917812130af912601ad763f13e"></script> <script type="text/javascript" src="https://support.google.com/inapp/api.js"></script> <script src="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.js" data-glue-cookie-notification-bar-category="2B"> </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10