OpenGrm NGram README
OpenGrm NGram - Release 1.3
The OpenGrm NGram library is used for making and modifying n-gram language models encoded as weighted finite-state transducers (FSTs).
It makes use of functionality in the
OpenFst library to create, access and manipulate n-gram models.
REQUIREMENTS:
This version is known to work under Linux using
g++ (≥ 4.6) and MacOS X using XCode 5. Expected to work wherever adequate
POSIX (
dlopen
,
ssize_t
,
basename
),
c99 (
snprintf
,
strtoll
,
<stdint.h>
), and
C++11 (
<ordered_set>
,
<ordered_map>
,
<forward_list>
) support are available.
T
It assumes you have installed OpenFst (
www.openfst.org) 1.6.6 or higher and have configured it with it with the
--enable-far
flag.
INSTALLATION:
Follow the generic GNU build system instructions in
./INSTALL. We recommend configuring with
--enable-static=no
for faster compiles.
Configuring with
--enable-bin=no
gives very fast compiles, but excludes the command line utilities.
Compiling with
-Wall -Wno-sign-compare
under g++ should give no warnings from this library.
NOTE: In some versions of MacOS X we have noticed a problem with
configure
whereby it fails to find
fst.h
. If this occurs, try configuring as follows:
CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure
USAGE:
Assuming you've installed under the default
/usr/local
, the GRM binaries are found on
/usr/local/bin
. Headers will be in
/usr/local/include/ngram
, and libraries in
/usr/local/lib
.
To use in your own programs you will need to include <ngram/ngram.h>. Compile with '-I /usr/local/include' and link against
/usr/local/lib/libfst.so
,
/usr/local/lib/fst/libfstfar.so
and
/usr/local/lib/libngram.so
. Set your
LD_LIBRARY_PATH
(or equivalent) to contain
/usr/local/lib
.
The linking is, by default, dynamic so that the Fst and Arc type DSO extensions can be used correctly if desired.
DOCUMENTATION:
See
www.opengrm.org for general documentation.
See
./NEWS for updates since the last release.