rime.util

Functions

assign_topk(S, k[, tie_breaker, device, ...])

Return a sparse matrix where each row contains k non-zero values.

default_random_split(dataset)

empty_cache_on_exit(func)

explode_user_titles(user_hist, item_titles)

explode last few user events and match with item titles; return splits and discount weights; empty user_hist will be turned into a single pad_title.

export_jsondump(writer)

extract_past_ij(user_df, item_index)

extract_user_item(event_df)

fill_factory_inplace(df, isna, kv)

filter_min_len(event_df, min_user_len, ...)

CAVEAT: use in conjunction with dataclass filter to avoid future-leaking bias

groupby_unexplode(series[, index, return_type])

assume the input is an exploded dataframe with block-wise indices >>> groupby_unexplode(pd.Series([1,2,3,4,5], index=[1,1,2,3,3])).to_dict() {1: [1, 2], 2: [3], 3: [4, 5]} >>> groupby_unexplode(pd.Series([1,2,3,4,5], index=[1,1,2,3,3]), index=[0,1,-1,2,3,4]).to_dict() {0: [], 1: [1, 2], -1: [], 2: [3], 3: [4, 5], 4: []}

indices2csr(indices, shape1[, data])

perplexity(x)

sample_groupA(user_df[, frac, seed])

warn_nan_output(func)

Classes

MissingModel(name, err[, verbose])

timed([name, inline])

Modules

rime.util.dual_bisect

Detailed steps to solve the following convex optimization problem.

rime.util.plotting

rime.util.score_array