Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: components/translate/core/browser/translate_ranker_impl.cc

Issue 2697703004: Allow TranslateRanker to override decisions taken by heuristics. (Closed)
Patch Set: Make TranslateAcceptLanguages default constructor protected. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/translate/core/browser/translate_ranker_impl.h" 5 #include "components/translate/core/browser/translate_ranker_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 const base::Feature kTranslateRankerQuery{"TranslateRankerQuery", 76 const base::Feature kTranslateRankerQuery{"TranslateRankerQuery",
77 base::FEATURE_DISABLED_BY_DEFAULT}; 77 base::FEATURE_DISABLED_BY_DEFAULT};
78 78
79 const base::Feature kTranslateRankerEnforcement{ 79 const base::Feature kTranslateRankerEnforcement{
80 "TranslateRankerEnforcement", base::FEATURE_DISABLED_BY_DEFAULT}; 80 "TranslateRankerEnforcement", base::FEATURE_DISABLED_BY_DEFAULT};
81 81
82 const base::Feature kTranslateRankerLogging{"TranslateRankerLogging", 82 const base::Feature kTranslateRankerLogging{"TranslateRankerLogging",
83 base::FEATURE_ENABLED_BY_DEFAULT}; 83 base::FEATURE_ENABLED_BY_DEFAULT};
84 84
85 const base::Feature kTranslateRankerDecisionOverride{
86 "TranslateRankerDecisionOverride", base::FEATURE_DISABLED_BY_DEFAULT};
87
85 TranslateRankerFeatures::TranslateRankerFeatures() {} 88 TranslateRankerFeatures::TranslateRankerFeatures() {}
86 89
87 TranslateRankerFeatures::TranslateRankerFeatures(int accepted, 90 TranslateRankerFeatures::TranslateRankerFeatures(int accepted,
88 int denied, 91 int denied,
89 int ignored, 92 int ignored,
90 const std::string& src, 93 const std::string& src,
91 const std::string& dst, 94 const std::string& dst,
92 const std::string& cntry, 95 const std::string& cntry,
93 const std::string& locale) 96 const std::string& locale)
94 : accepted_count(accepted), 97 : accepted_count(accepted),
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 << "ignore_ratio=" << ignored_ratio; 134 << "ignore_ratio=" << ignored_ratio;
132 } 135 }
133 136
134 TranslateRankerImpl::TranslateRankerImpl(const base::FilePath& model_path, 137 TranslateRankerImpl::TranslateRankerImpl(const base::FilePath& model_path,
135 const GURL& model_url) 138 const GURL& model_url)
136 : is_logging_enabled_( 139 : is_logging_enabled_(
137 base::FeatureList::IsEnabled(kTranslateRankerLogging)), 140 base::FeatureList::IsEnabled(kTranslateRankerLogging)),
138 is_query_enabled_(base::FeatureList::IsEnabled(kTranslateRankerQuery)), 141 is_query_enabled_(base::FeatureList::IsEnabled(kTranslateRankerQuery)),
139 is_enforcement_enabled_( 142 is_enforcement_enabled_(
140 base::FeatureList::IsEnabled(kTranslateRankerEnforcement)), 143 base::FeatureList::IsEnabled(kTranslateRankerEnforcement)),
144 is_decision_override_enabled_(base::FeatureList::IsEnabled(
145 translate::kTranslateRankerDecisionOverride)),
141 weak_ptr_factory_(this) { 146 weak_ptr_factory_(this) {
142 if (IsQueryEnabled() || IsEnforcementEnabled()) { 147 if (IsQueryEnabled() || IsEnforcementEnabled() ||
148 IsDecisionOverrideEnabled()) {
143 model_loader_ = base::MakeUnique<RankerModelLoader>( 149 model_loader_ = base::MakeUnique<RankerModelLoader>(
144 base::Bind(&ValidateModel), 150 base::Bind(&ValidateModel),
145 base::Bind(&TranslateRankerImpl::OnModelAvailable, 151 base::Bind(&TranslateRankerImpl::OnModelAvailable,
146 weak_ptr_factory_.GetWeakPtr()), 152 weak_ptr_factory_.GetWeakPtr()),
147 model_path, model_url, kUmaPrefix); 153 model_path, model_url, kUmaPrefix);
148 model_loader_->Start(); 154 model_loader_->Start();
149 } 155 }
150 } 156 }
151 157
152 TranslateRankerImpl::~TranslateRankerImpl() {} 158 TranslateRankerImpl::~TranslateRankerImpl() {}
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 } 195 }
190 196
191 bool TranslateRankerImpl::IsQueryEnabled() { 197 bool TranslateRankerImpl::IsQueryEnabled() {
192 return is_query_enabled_; 198 return is_query_enabled_;
193 } 199 }
194 200
195 bool TranslateRankerImpl::IsEnforcementEnabled() { 201 bool TranslateRankerImpl::IsEnforcementEnabled() {
196 return is_enforcement_enabled_; 202 return is_enforcement_enabled_;
197 } 203 }
198 204
205 bool TranslateRankerImpl::IsDecisionOverrideEnabled() {
206 return is_decision_override_enabled_;
207 }
208
199 int TranslateRankerImpl::GetModelVersion() const { 209 int TranslateRankerImpl::GetModelVersion() const {
200 return model_ ? model_->proto().translate().version() : 0; 210 return model_ ? model_->proto().translate().version() : 0;
201 } 211 }
202 212
203 bool TranslateRankerImpl::ShouldOfferTranslation( 213 bool TranslateRankerImpl::ShouldOfferTranslation(
204 const TranslatePrefs& translate_prefs, 214 const TranslatePrefs& translate_prefs,
205 const std::string& src_lang, 215 const std::string& src_lang,
206 const std::string& dst_lang) { 216 const std::string& dst_lang) {
207 DCHECK(sequence_checker_.CalledOnValidSequence()); 217 DCHECK(sequence_checker_.CalledOnValidSequence());
208 // The ranker is a gate in the "show a translation prompt" flow. To retain 218 // The ranker is a gate in the "show a translation prompt" flow. To retain
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 return model_loader_ != nullptr; 302 return model_loader_ != nullptr;
293 } 303 }
294 304
295 } // namespace translate 305 } // namespace translate
296 306
297 std::ostream& operator<<(std::ostream& stream, 307 std::ostream& operator<<(std::ostream& stream,
298 const translate::TranslateRankerFeatures& features) { 308 const translate::TranslateRankerFeatures& features) {
299 features.WriteTo(stream); 309 features.WriteTo(stream);
300 return stream; 310 return stream;
301 } 311 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698