v. 0.3 ====== * Compatibility with OpenFst 1.8.3 (0.3.8) * Decoding no logner strips path weights (0.3.7) * Logs average likelihood after each batch (0.3.7) * Removes obsolete fields from expectation tables (0.3.7) * Training now normalizes the channel model each iteration (0.3.7) * Compatibility with OpenFst 1.8.1 (0.3.6) * Compatibility with OpenFst 1.8.0 (0.3.5) * Uses `constexpr-if` in place of SFINAE (0.3.5) * Compatibility with OpenFst 1.7.9 (0.3.4) * Automatically configures decipherment mode using input type (0.3.4) * Adds minibatch support via `--batch_size` (0.3.3) * Uses OpenFst `Adder` class to implement `LogAdder` (0.3.3) * Configures expectation table via `--normalize_ilabel` (0.3.3) * Separates out randomization and adds `baumwelchrandomize` (0.3.2) * Adds stepwise training, with learning rate controlled by `--lr` (0.3.2) * Places the A* decoding function in a separate header (0.3.1) * Fixes CPPFLAG handling (0.3.0) * Removes obsolete OILabel functor (0.3.0) v. 0.2 (beta) ============= * Splits binaries (0.2.9) * More documentation (0.2.8) * Decode functions no longer reset their FARs (0.2.8) * Uses rvalue references in expectation tables (0.2.7) * Correctly catches non-(co)accessible weights (0.2.7) * OpenFst 1.7.0 compatibility fixes (0.2.6) * Modifies path decoding so it returns an alignment (0.2.4) * Adds A* count collection for idempotent semirings (0.2.4) * Correctly detects and logs composition failures (0.2.3) * Renames the binaries `baumwelchdecode` and `baumwelchtrain` (0.2.2) * Removes `--power` flag; use `fstmap --map_type=power` instead (0.2.1) * Adds A* decoding for non-path semirings (0.2.0) v. 0.1 (alpha) ============== * Adds normalization as the first step before training (0.1.5) * Simplifies state-sorting during decoding (0.1.5) * Refactoring of BaumWelch class (0.1.5) * Improves logging verbosity (0.1.5) * Halts training when likelihood decreases (0.1.4) * Adds internal log-summation class (0.1.4) * Performs normalization earlier (0.1.4) * Renames 'baumwelch*' files to 'train*' (0.1.2) * Optimizations to training (0.1.2) * Fixes reading beyond the end of ShortestDistance weight vectors (0.1.1) * Adds documentation for decipherment problems (0.1.1) * Fixes likelihood logging (0.1.1) * Alpha release (0.1.0)