diff options
author | Chris Dyer <redpony@gmail.com> | 2009-12-14 20:35:11 -0500 |
---|---|---|
committer | Chris Dyer <redpony@gmail.com> | 2009-12-14 20:35:11 -0500 |
commit | 851e389dffdd6996ea32d70defb8906de80b9edc (patch) | |
tree | 8c68ee77205badc056b8ab5b332e67e3e98017df /src/lattice.cc | |
parent | dc6930c00b4b276883280cff1ed6dcd9ddef03c7 (diff) |
few small fixes of alignment tools, add new orthographic similarity feature for word aligner, final naming of directories, libraries in cdec
Diffstat (limited to 'src/lattice.cc')
-rw-r--r-- | src/lattice.cc | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/lattice.cc b/src/lattice.cc deleted file mode 100644 index 56bc9551..00000000 --- a/src/lattice.cc +++ /dev/null @@ -1,61 +0,0 @@ -#include "lattice.h" - -#include "tdict.h" -#include "hg_io.h" - -using namespace std; - -static const int kUNREACHABLE = 99999999; - -void Lattice::ComputeDistances() { - const int n = this->size() + 1; - dist_.resize(n, n, kUNREACHABLE); - for (int i = 0; i < this->size(); ++i) { - const vector<LatticeArc>& alts = (*this)[i]; - for (int j = 0; j < alts.size(); ++j) - dist_(i, i + alts[j].dist2next) = 1; - } - for (int k = 0; k < n; ++k) { - for (int i = 0; i < n; ++i) { - for (int j = 0; j < n; ++j) { - const int dp = dist_(i,k) + dist_(k,j); - if (dist_(i,j) > dp) - dist_(i,j) = dp; - } - } - } - - for (int i = 0; i < n; ++i) { - int latest = kUNREACHABLE; - for (int j = n-1; j >= 0; --j) { - const int c = dist_(i,j); - if (c < kUNREACHABLE) - latest = c; - else - dist_(i,j) = latest; - } - } - // cerr << dist_ << endl; -} - -bool LatticeTools::LooksLikePLF(const string &line) { - return (line.size() > 5) && (line.substr(0,4) == "((('"); -} - -void LatticeTools::ConvertTextToLattice(const string& text, Lattice* pl) { - Lattice& l = *pl; - vector<WordID> ids; - TD::ConvertSentence(text, &ids); - l.resize(ids.size()); - for (int i = 0; i < l.size(); ++i) - l[i].push_back(LatticeArc(ids[i], 0.0, 1)); -} - -void LatticeTools::ConvertTextOrPLF(const string& text_or_plf, Lattice* pl) { - if (LooksLikePLF(text_or_plf)) - HypergraphIO::PLFtoLattice(text_or_plf, pl); - else - ConvertTextToLattice(text_or_plf, pl); - pl->ComputeDistances(); -} - |