New issue
Advanced search Search tips

Issue 871674 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

Personalized suggested apps with Roselle

Project Member Reported by charleszhao@chromium.org, Aug 7

Issue description

Feature description:
An on-device ML model that will be applied to app launcher to predict users’ next app launching action, hence provides a better user experience

Eng owner: charleszhao@chromoum.org
Product owner:

Design doc: go/roselle-design-doc

Are you planning on experimenting before launch? 
yes
Any new strings?
Any implications for Google webservices (i.e. sync, translate)? 
no
Binary size? 
tiny.
Do the existing perf tests exercise all aspects of your new feature(s)?
yes.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec

commit 04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec
Author: Charles Zhao <charleszhao@chromium.org>
Date: Fri Aug 17 03:19:09 2018

First CL for SearchResultRanker.

(1) A SearchResultRanker class with a simple AppLaunchPredictor is
    added.

(2) SearchResultRanker lives inside AppSearchProvider and re-rank
    the suggested apps.

(3) training signal is passed from AppListClientImpl to
    SearchController, then to all SearchProviders; but only
    AppSearchProvider responds to that training signal by passing the
    signal to SearchResultRanker.


Change-Id: I9879bcf1932e2928720c43680ca37edf35c3a785

Bug: 871674
Change-Id: I9879bcf1932e2928720c43680ca37edf35c3a785
Reviewed-on: https://chromium-review.googlesource.com/1164863
Commit-Queue: Charles . <charleszhao@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Jia Meng <jiameng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583953}
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/ash/public/cpp/app_list/app_list_features.cc
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/ash/public/cpp/app_list/app_list_features.h
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/app_list_client_impl.cc
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/app_search_provider.cc
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/app_search_provider.h
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/search_controller.cc
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/search_controller.h
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/search_provider.h
[add] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.cc
[add] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.h
[add] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor_unittest.cc
[add] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker.cc
[add] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker.h
[add] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker_unittest.cc
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/browser/ui/app_list/search/tests/app_search_provider_unittest.cc
[modify] https://crrev.com/04d80b5db7f3d2f9518c44b40bf4704e6fcd2eec/chrome/test/BUILD.gn

Project Member

Comment 2 by bugdroid1@chromium.org, Sep 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9c448fac25270ad85d68b399a385cdc44b88144c

commit 9c448fac25270ad85d68b399a385cdc44b88144c
Author: Charles Zhao <charleszhao@chromium.org>
Date: Tue Sep 11 00:29:37 2018

cros: Add HourAppLaunchPredictor for AppSearchResultRanker

(1) Add HourAppLaunchPredictor with unit test.

(2) Add SerializationTesterAppLaunchPredictor for testing
    AppSearchResultRanker materialization logic.

(3) Extend AppLaunchPredictor interface to support more functions.

Bug: 871674
Change-Id: I38bbc0b7efd1ed3576c4c3d170c553ec80dcec93
Reviewed-on: https://chromium-review.googlesource.com/1189506
Commit-Queue: Charles . <charleszhao@chromium.org>
Reviewed-by: Jia Meng <jiameng@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590133}
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/ash/public/cpp/app_list/app_list_features.cc
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/ash/public/cpp/app_list/app_list_features.h
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/app_search_provider.cc
[add] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/search_result_ranker/BUILD.gn
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.cc
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.h
[add] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.proto
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor_unittest.cc
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker.cc
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker.h
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker_unittest.cc
[modify] https://crrev.com/9c448fac25270ad85d68b399a385cdc44b88144c/chrome/browser/ui/app_list/search/tests/app_search_provider_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/558a9191e4fcd712a018e0daeae1698a88580e5b

commit 558a9191e4fcd712a018e0daeae1698a88580e5b
Author: Charles Zhao <charleszhao@chromium.org>
Date: Tue Sep 18 02:14:13 2018

cros: Add SerializedMrfuAppLaunchPredictor for AppSearchResultRanker

(1) Add SerializedMrfuAppLaunchPredictor with unit test.
SerializedMrfuAppLaunchPredictor is basically MrfuAppLaunchPredictor
with extra serialization and deserialization logic.

Bug: 871674
Change-Id: I95bcb2599557ef9f7a860b74814dc4307da109a2
Reviewed-on: https://chromium-review.googlesource.com/1223716
Commit-Queue: Charles . <charleszhao@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591917}
[modify] https://crrev.com/558a9191e4fcd712a018e0daeae1698a88580e5b/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.cc
[modify] https://crrev.com/558a9191e4fcd712a018e0daeae1698a88580e5b/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.h
[modify] https://crrev.com/558a9191e4fcd712a018e0daeae1698a88580e5b/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.proto
[modify] https://crrev.com/558a9191e4fcd712a018e0daeae1698a88580e5b/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/68954ea7cf6d9a7a56e0bfa6e8417bcca3466fa5

commit 68954ea7cf6d9a7a56e0bfa6e8417bcca3466fa5
Author: Charles Zhao <charleszhao@chromium.org>
Date: Fri Sep 21 21:25:34 2018

cros: Add decay to HourAppLaunchPredictor.

This will enable HourAppLaunchPredictor to forget old records so that:
(1) Recent actions are more considered.

(2) App launching records that have not been used for several months
    will be deleted from the saved model file.

Bug: 871674

Change-Id: Iab08dfedc3b10cb9985030f1141a179529e30798
Reviewed-on: https://chromium-review.googlesource.com/1236614
Commit-Queue: Charles . <charleszhao@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Jia Meng <jiameng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593339}
[modify] https://crrev.com/68954ea7cf6d9a7a56e0bfa6e8417bcca3466fa5/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.cc
[modify] https://crrev.com/68954ea7cf6d9a7a56e0bfa6e8417bcca3466fa5/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.h
[modify] https://crrev.com/68954ea7cf6d9a7a56e0bfa6e8417bcca3466fa5/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.proto
[modify] https://crrev.com/68954ea7cf6d9a7a56e0bfa6e8417bcca3466fa5/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor_unittest.cc
[modify] https://crrev.com/68954ea7cf6d9a7a56e0bfa6e8417bcca3466fa5/chrome/test/BUILD.gn

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b9d589be97f8c1c5b629d7bac1716bf927fb4b75

commit b9d589be97f8c1c5b629d7bac1716bf927fb4b75
Author: Charles Zhao <charleszhao@chromium.org>
Date: Mon Oct 29 22:44:49 2018

cros: assign bin_weights_ in constructor.

Since the finch params are constant during the whole chrome session, we
get nothing by reading it in real time.

Instead we only need to read it once in the constructor.

Bug: 871674
Change-Id: Id88f295028f2f52f17229ce685eb40548977e5a3
Reviewed-on: https://chromium-review.googlesource.com/c/1304041
Commit-Queue: Charles . <charleszhao@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603669}
[modify] https://crrev.com/b9d589be97f8c1c5b629d7bac1716bf927fb4b75/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.cc
[modify] https://crrev.com/b9d589be97f8c1c5b629d7bac1716bf927fb4b75/chrome/browser/ui/app_list/search/search_result_ranker/app_launch_predictor.h

Sign in to add a comment