RBL-JE is a Java SDK and works on any system with Java, including OpenJDK, installed. However, if
disambiguate is set to
disambiguatorType is set to
DisambiguatorType.DNN, it uses TensorFlow, a native library, for disambiguating Hebrew. Ubuntu 14.04+, Windows 7+, and macOS 10.11+ are fully supported, but you should be able to run the disambiguator successfully on other modern Linux flavors as well. On systems for which RBL-JE does not provide TensorFlow libraries, disambiguating Hebrew tokens with
DisambiguatorType.DNN will throw a
RosetteRuntimeException. Consider using another value of
disambiguatorType if you cannot run TensorFlow in your environment.
The TensorFlow library for Linux requires a system with
GLIBC) 2.17 or newer,
GLIBCXX) 3.4.19 or newer, and
GCC) 3.0 or newer.
The version of TensorFlow included with RBL-JE is configured to work on a broad range of systems, which requires it to avoid some features not available everywhere. Compiling TensorFlow for your specific system and using it on the classpath instead of the default
libtensorflow_jni-<tensorflowversion>.jar will likely improve performance. A JAR with TensorFlow compiled with GPU support for Linux is available for download.
Annotator Management for Multithreaded Applications
For a multithreaded application it is recommended that a pool of
Annotators be constructed. This is because
Annotators must be used on a per-thread basis, and it is desirable to avoid the overhead of creating
Annotators each time one is required. The settings of
Annotators cannot be changed after they are built so if multiple configurations are required they should be stored separately.
The minimum Java heap required to run RBL-JE smoothly is 1.5GB. It has been observed that an -Xmx setting of 8GB allows for optimal performance in significantly multithreaded environments. This memory setting accounts for the simultaneous use of multiple languages.