Skip to content

Commit

Permalink
Clean up user_segment_history_rewriter_new_replaceable from decoder e…
Browse files Browse the repository at this point in the history
…xperiment params

#codehealth

PiperOrigin-RevId: 653463000
  • Loading branch information
Toshiyuki Hanaoka authored and hiroyuki-komatsu committed Jul 18, 2024
1 parent dab362c commit 8b71c77
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 90 deletions.
2 changes: 0 additions & 2 deletions src/protocol/commands.proto
Original file line number Diff line number Diff line change
Expand Up @@ -606,8 +606,6 @@ message DecoderExperimentParams {

optional bool apply_user_segment_history_rewriter_for_prediction = 44
[default = false];
optional bool user_segment_history_rewriter_new_replaceable = 53
[default = false];
optional bool user_segment_history_rewriter_use_inner_segments = 54
[default = false];

Expand Down
34 changes: 2 additions & 32 deletions src/rewriter/user_segment_history_rewriter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,6 @@ bool UseInnerSegments(const ConversionRequest &request) {
.user_segment_history_rewriter_use_inner_segments();
}

bool IsNewReplaceableEnabled(const ConversionRequest &request) {
return request.request()
.decoder_experiment_params()
.user_segment_history_rewriter_new_replaceable();
}

class FeatureValue {
public:
FeatureValue() : feature_type_(1), reserved_(0) {}
Expand Down Expand Up @@ -406,23 +400,6 @@ bool IsT13NCandidate(const Segment::Candidate &cand) {
return (cand.lid == 0 && cand.rid == 0);
}

bool IsT13NCandidateV2(const Segment::Candidate &cand) {
// In V2, treat single script type candidate as T13N in addition to
// the original conditions.
const Util::ScriptType script_type = Util::GetScriptType(cand.value);
return ((cand.lid == 0 && cand.rid == 0) || script_type == Util::KATAKANA ||
script_type == Util::HIRAGANA || script_type == Util::ALPHABET);
}

bool IsSingleKanjiCandidate(const Segment::Candidate &cand) {
// POS info for single kanji can be filled using the base candidate and not
// reliable in general.
if (strings::CharsLen(cand.content_value) != 1) {
return false;
}
return Util::IsScriptType(cand.content_value, Util::KANJI);
}

} // namespace

bool UserSegmentHistoryRewriter::SortCandidates(
Expand Down Expand Up @@ -595,15 +572,8 @@ bool UserSegmentHistoryRewriter::Replaceable(
(lhs.functional_value() == rhs.functional_value());
const bool same_pos_group =
(pos_group_->GetPosGroup(lhs.lid) == pos_group_->GetPosGroup(rhs.lid));
if (IsNewReplaceableEnabled(request)) {
return (same_functional_value &&
(same_pos_group || IsT13NCandidateV2(lhs) ||
IsT13NCandidateV2(rhs) || IsSingleKanjiCandidate(lhs) ||
IsSingleKanjiCandidate(rhs)));
} else {
return (same_functional_value &&
(same_pos_group || IsT13NCandidate(lhs) || IsT13NCandidate(rhs)));
}
return (same_functional_value &&
(same_pos_group || IsT13NCandidate(lhs) || IsT13NCandidate(rhs)));
}

void UserSegmentHistoryRewriter::RememberNumberPreference(
Expand Down
50 changes: 0 additions & 50 deletions src/rewriter/user_segment_history_rewriter_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1017,56 +1017,6 @@ TEST_F(UserSegmentHistoryRewriterTest, ReplaceableT13NTest) {
}
}

TEST_F(UserSegmentHistoryRewriterTest, ReplaceableSingleKanji) {
request_->mutable_decoder_experiment_params()
->set_user_segment_history_rewriter_new_replaceable(true);
Segments segments;
std::unique_ptr<UserSegmentHistoryRewriter> rewriter(
CreateUserSegmentHistoryRewriter());

rewriter->Clear();
{
auto set_up_segments = [&]() {
InitSegments(&segments, 2);

{
Segment::Candidate *c =
segments.mutable_segment(0)->mutable_candidate(0);
c->value = "隆史";
c->content_value = "隆史";
c->lid = 10;
c->rid = 10;
}
{
// Single kanji may have arbitrary lid/rid based on the other reference
// candidate.
Segment::Candidate *c =
segments.mutable_segment(0)->mutable_candidate(2);
c->value = "";
c->content_value = "";
c->lid = 20;
c->rid = 20;
}
};

set_up_segments();
segments.mutable_segment(0)->move_candidate(2, 0);
segments.mutable_segment(0)->mutable_candidate(0)->attributes |=
Segment::Candidate::RERANKED;
segments.mutable_segment(0)->set_segment_type(Segment::FIXED_VALUE);

rewriter->Finish(*convreq_, &segments);

set_up_segments();
segments.mutable_segment(1)->mutable_candidate(0)->value =
"not_same_as_before";

rewriter->Rewrite(*convreq_, &segments);

EXPECT_EQ(segments.segment(0).candidate(0).value, "");
}
}

TEST_F(UserSegmentHistoryRewriterTest, LeftRightNumber) {
Segments segments;
std::unique_ptr<UserSegmentHistoryRewriter> rewriter(
Expand Down
6 changes: 0 additions & 6 deletions src/session/session_handler_scenario_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -308,12 +308,6 @@ INSTANTIATE_TEST_SUITE_P(
true);
return request;
}(),
[]() {
auto request = GetMobileRequest();
request.mutable_decoder_experiment_params()
->set_user_segment_history_rewriter_new_replaceable(true);
return request;
}(),
[]() {
auto request = GetMobileRequest();
request.mutable_decoder_experiment_params()
Expand Down

0 comments on commit 8b71c77

Please sign in to comment.