FreeLing
4.0
|
#include <ukb.h>
Public Member Functions | |
ukb (const std::wstring &) | |
Create UKB word sense disambiguator reading config from given file. | |
~ukb () | |
Destructor. | |
void | analyze (freeling::sentence &) const |
analyze given sentence | |
void | analyze (std::list< freeling::sentence > &) const |
analyze given sentences | |
Private Member Functions | |
void | init_synset_vector (const std::list< freeling::sentence > &, std::vector< double > &) const |
Init a weight vector for synsets in the sentences. | |
void | extract_ranks_to_sentences (std::list< freeling::sentence > &, const std::vector< double > &) const |
Rank synsets in each sentence word according to given rank vector. | |
Private Attributes | |
freeling::csr_kb * | wn |
freeling::regexp | RE_wnpos |
freeling::ukb::ukb | ( | const std::wstring & | wsdFile | ) |
Create UKB word sense disambiguator reading config from given file.
References freeling::util::absolute(), freeling::config_file::add_section(), freeling::config_file::close(), ERROR_CRASH, freeling::config_file::get_content_line(), freeling::config_file::get_section(), freeling::config_file::open(), RE_wnpos, TRACE, WARNING, and wn.
Destructor.
References wn.
void freeling::ukb::analyze | ( | freeling::sentence & | s | ) | const [virtual] |
analyze given sentence
Disambiguate given sentence (alone, no extra context) Provided for completitude, but not really useful.
Implements freeling::processor.
void freeling::ukb::analyze | ( | std::list< freeling::sentence > & | ls | ) | const |
analyze given sentences
Disambiguate given sentences (all toghether, this is the expected use)
References extract_ranks_to_sentences(), init_synset_vector(), freeling::csr_kb::pagerank(), and wn.
void freeling::ukb::extract_ranks_to_sentences | ( | std::list< freeling::sentence > & | , |
const std::vector< double > & | |||
) | const [private] |
Rank synsets in each sentence word according to given rank vector.
move obtained ranks to word synsets, sorting sense list by rank
References freeling::csr_kb::get_vertex(), freeling::csr_kb::VERTEX_NOT_FOUND, and wn.
Referenced by analyze().
void freeling::ukb::init_synset_vector | ( | const std::list< freeling::sentence > & | , |
std::vector< double > & | |||
) | const [private] |
Init a weight vector for synsets in the sentences.
get synsets for words in sentence, checking for duplicates
References freeling::csr_kb::get_vertex(), freeling::util::lowercase(), RE_wnpos, freeling::regexp::search(), freeling::csr_kb::size(), freeling::csr_kb::VERTEX_NOT_FOUND, and wn.
Referenced by analyze().
freeling::regexp freeling::ukb::RE_wnpos [private] |
Referenced by init_synset_vector(), and ukb().
freeling::csr_kb* freeling::ukb::wn [private] |
Referenced by analyze(), extract_ranks_to_sentences(), init_synset_vector(), ukb(), and ~ukb().