jubatus_core  0.1.2
Jubatus: Online machine learning framework for distributed environment
Public Member Functions | Private Attributes | List of all members
jubatus::core::recommender::inverted_index Class Reference

#include <inverted_index.hpp>

Inheritance diagram for jubatus::core::recommender::inverted_index:
Inheritance graph
Collaboration diagram for jubatus::core::recommender::inverted_index:
Collaboration graph

Public Member Functions

void clear ()
 
void clear_row (const std::string &id)
 
void get_all_row_ids (std::vector< std::string > &ids) const
 
framework::mixableget_mixable () const
 
 inverted_index ()
 
void neighbor_row (const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const
 
void pack (framework::packer &packer) const
 
void similar_row (const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const
 
std::string type () const
 
void unpack (msgpack::object o)
 
void update_row (const std::string &id, const sfv_diff_t &diff)
 
 ~inverted_index ()
 
- Public Member Functions inherited from jubatus::core::recommender::recommender_base
void complete_row (const std::string &id, common::sfv_t &ret) const
 
void complete_row (const common::sfv_t &query, common::sfv_t &ret) const
 
void decode_row (const std::string &id, common::sfv_t &ret) const
 
virtual const core::storage::recommender_storage_baseget_const_storage () const
 
virtual jubatus::util::lang::shared_ptr< const storage::column_tableget_const_table () const
 
virtual jubatus::util::lang::shared_ptr< storage::column_tableget_table ()
 
virtual jubatus::util::lang::shared_ptr< unlearner::unlearner_baseget_unlearner ()
 
virtual void neighbor_row (const std::string &id, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const
 
 recommender_base ()
 
virtual void similar_row (const std::string &id, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const
 
virtual ~recommender_base ()
 
- Public Member Functions inherited from jubatus::core::framework::model
virtual ~model ()
 

Private Attributes

jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storagemixable_storage_
 

Additional Inherited Members

- Static Public Member Functions inherited from jubatus::core::recommender::recommender_base
static float calc_l2norm (const common::sfv_t &query)
 
static float calc_similality (common::sfv_t &q1, common::sfv_t &q2)
 
- Protected Attributes inherited from jubatus::core::recommender::recommender_base
core::storage::sparse_matrix_storage orig_
 
- Static Protected Attributes inherited from jubatus::core::recommender::recommender_base
static const uint64_t complete_row_similar_num_ = 128
 

Detailed Description

Definition at line 35 of file inverted_index.hpp.

Constructor & Destructor Documentation

jubatus::core::recommender::inverted_index::inverted_index ( )

Definition at line 36 of file inverted_index.cpp.

References mixable_storage_.

37  : mixable_storage_() {
38  typedef storage::inverted_index_storage ii_storage;
39  typedef storage::mixable_inverted_index_storage mii_storage;
40  jubatus::util::lang::shared_ptr<ii_storage> p(new ii_storage);
41  mixable_storage_.reset(new mii_storage(p));
42 }
framework::linear_mixable_helper< inverted_index_storage, inverted_index_storage::diff_type > mixable_inverted_index_storage
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_
jubatus::core::recommender::inverted_index::~inverted_index ( )

Definition at line 44 of file inverted_index.cpp.

44  {
45 }

Member Function Documentation

void jubatus::core::recommender::inverted_index::clear ( )
virtual

Implements jubatus::core::recommender::recommender_base.

Definition at line 68 of file inverted_index.cpp.

References jubatus::core::storage::sparse_matrix_storage::clear(), mixable_storage_, and jubatus::core::recommender::recommender_base::orig_.

68  {
69  orig_.clear();
70  mixable_storage_->get_model()->clear();
71 }
core::storage::sparse_matrix_storage orig_
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_

Here is the call graph for this function:

void jubatus::core::recommender::inverted_index::clear_row ( const std::string &  id)
virtual

Implements jubatus::core::recommender::recommender_base.

Definition at line 73 of file inverted_index.cpp.

References jubatus::core::storage::sparse_matrix_storage::get_row(), mixable_storage_, jubatus::core::recommender::recommender_base::orig_, jubatus::core::storage::inverted_index_storage::remove(), and jubatus::core::storage::sparse_matrix_storage::remove_row().

73  {
74  vector<pair<string, float> > columns;
75  orig_.get_row(id, columns);
76  storage::inverted_index_storage& inv = *mixable_storage_->get_model();
77  for (size_t i = 0; i < columns.size(); ++i) {
78  inv.remove(columns[i].first, id);
79  }
80  orig_.remove_row(id);
81 }
void get_row(const std::string &row, std::vector< std::pair< std::string, float > > &columns) const
core::storage::sparse_matrix_storage orig_
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_

Here is the call graph for this function:

void jubatus::core::recommender::inverted_index::get_all_row_ids ( std::vector< std::string > &  ids) const
virtual

Implements jubatus::core::recommender::recommender_base.

Definition at line 91 of file inverted_index.cpp.

References mixable_storage_.

91  {
92  mixable_storage_->get_model()->get_all_column_ids(ids); // inv.column = row
93 }
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_
framework::mixable * jubatus::core::recommender::inverted_index::get_mixable ( ) const
virtual

Implements jubatus::core::recommender::recommender_base.

Definition at line 113 of file inverted_index.cpp.

References mixable_storage_.

113  {
114  return mixable_storage_.get();
115 }
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_
void jubatus::core::recommender::inverted_index::neighbor_row ( const common::sfv_t query,
std::vector< std::pair< std::string, float > > &  ids,
size_t  ret_num 
) const
virtual

Implements jubatus::core::recommender::recommender_base.

Definition at line 58 of file inverted_index.cpp.

References similar_row().

61  {
62  similar_row(query, ids, ret_num);
63  for (size_t i = 0; i < ids.size(); ++i) {
64  ids[i].second = 1 - ids[i].second;
65  }
66 }
void similar_row(const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const

Here is the call graph for this function:

void jubatus::core::recommender::inverted_index::pack ( framework::packer packer) const
virtual

Implements jubatus::core::framework::model.

Definition at line 99 of file inverted_index.cpp.

References mixable_storage_, jubatus::core::recommender::recommender_base::orig_, and jubatus::core::storage::sparse_matrix_storage::pack().

99  {
100  packer.pack_array(2);
101  orig_.pack(packer);
102  mixable_storage_->get_model()->pack(packer);
103 }
void pack(framework::packer &packer) const
msgpack::packer< jubatus_packer > packer
Definition: bandit_base.hpp:31
core::storage::sparse_matrix_storage orig_
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_

Here is the call graph for this function:

void jubatus::core::recommender::inverted_index::similar_row ( const common::sfv_t query,
std::vector< std::pair< std::string, float > > &  ids,
size_t  ret_num 
) const
virtual

Implements jubatus::core::recommender::recommender_base.

Definition at line 47 of file inverted_index.cpp.

References mixable_storage_.

Referenced by neighbor_row().

50  {
51  ids.clear();
52  if (ret_num == 0) {
53  return;
54  }
55  mixable_storage_->get_model()->calc_scores(query, ids, ret_num);
56 }
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_

Here is the caller graph for this function:

string jubatus::core::recommender::inverted_index::type ( ) const
virtual

Implements jubatus::core::recommender::recommender_base.

Definition at line 95 of file inverted_index.cpp.

95  {
96  return string("inverted_index");
97 }
void jubatus::core::recommender::inverted_index::unpack ( msgpack::object  o)
virtual

Implements jubatus::core::framework::model.

Definition at line 105 of file inverted_index.cpp.

References mixable_storage_, jubatus::core::recommender::recommender_base::orig_, and jubatus::core::storage::sparse_matrix_storage::unpack().

105  {
106  if (o.type != msgpack::type::ARRAY || o.via.array.size != 2) {
107  throw msgpack::type_error();
108  }
109  orig_.unpack(o.via.array.ptr[0]);
110  mixable_storage_->get_model()->unpack(o.via.array.ptr[1]);
111 }
core::storage::sparse_matrix_storage orig_
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_

Here is the call graph for this function:

void jubatus::core::recommender::inverted_index::update_row ( const std::string &  id,
const sfv_diff_t diff 
)
virtual

Implements jubatus::core::recommender::recommender_base.

Definition at line 83 of file inverted_index.cpp.

References mixable_storage_, jubatus::core::recommender::recommender_base::orig_, jubatus::core::storage::inverted_index_storage::set(), and jubatus::core::storage::sparse_matrix_storage::set_row().

83  {
84  orig_.set_row(id, diff);
85  storage::inverted_index_storage& inv = *mixable_storage_->get_model();
86  for (size_t i = 0; i < diff.size(); ++i) {
87  inv.set(diff[i].first, id, diff[i].second);
88  }
89 }
core::storage::sparse_matrix_storage orig_
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_
void set_row(const std::string &row, const std::vector< std::pair< std::string, float > > &columns)

Here is the call graph for this function:

Member Data Documentation

jubatus::util::lang::shared_ptr<storage::mixable_inverted_index_storage> jubatus::core::recommender::inverted_index::mixable_storage_
private

The documentation for this class was generated from the following files: