Java SDK 1.8 or later. RNI-RNT is tested with OpenJDK.
Apache Ant 1.7.1 or later to use the Ant build scripts we provide to build and run the samples.
-
The compressed SDK package file for your platform.
See Supported Platforms and RNI-RNT Package File Names.
-
The compressed documentation package file.
The RNI-RNT documentation set includes the following:
Release Notes with up-to-date information about new features and bug fixes in this release
The RNI-RNT Application Developer's Guide (this document)
Online reference to the Java API
The Rosette license file: rlp-license.xml
.
You must install an SDK package that is appropriate for your platform with respect to operating system and CPU. Since the public API for RNI-RNT is Java, the C++ compiler that appears in the following list is irrelevant.
Table 1. Supported Platforms
OS |
CPU |
Compiler |
BT_BUILD |
MAC OS X v10.9+ (Darwin 13) |
AMD64 |
xcode 5 |
amd64-darwin13-xcode5 |
Linux |
AMD64 |
gcc 4.4 |
amd64-glibc217-gcc48 |
Linux |
AARCH64 |
gcc 9.3 |
aarch64-glibc231-gcc93 |
Windows |
AMD64 |
Visual Studio 2013 |
amd64-w64-msvc120 |
Java Only |
n/a |
n/a |
jvm |
The compressed SDK package file names take the form:
rni-rnt-<version>-sdk-BT_BUILD.<ext>
where <version> is the RNI-RNT version ( x.xx.x.cxx.x is the format), BT_BUILD is in the table above, and <ext> is .zip
for Windows or Java-only, and tar.gz
for Unix platforms.
SDK Package Names for RNI-RNT
rni-rnt-<version>-sdk-amd64-darwin13-xcode5.tar.gz
rni-rnt-<version>-sdk-amd64-glibc217-gcc48.tar.gz
rni-rnt-<version>-sdk-aarch64-glibc231-gcc93.tar.gz
rni-rnt-<version>-sdk-amd64-w64-msvc120.zip
rni-rnt-<version>-sdk-jvm.zip
Note
The version number is embedded in the package file name.
Documentation Package Names
rni-rnt-<version>-doc-win.zip
rni-rnt-<version>-doc-unix.tar.gz
rni-rnt-<version>-javaonly-doc.zip
When you obtain RNI-RNT, you should receive three files:
The SDK package listed above for your platform: e.g., rni-rnt-<version>-sdk-amd64-glibc217-gcc48.tar.gz
The documentation package: e.g., rni-rnt-<version>-doc-unix.tar.gz
or rni-rnt-<version>-doc-win.zip
The Rosette License: rlp-license.xml
.
Expand the SDK and documentation files to the same directory, which we will call BT_ROOT
, and copy the license to the BT_ROOT/rlp/rlp/licenses
subdirectory.
Once you have installed RNI-RNT, you can install RLP. See instructions for Installing RLP with RNI-RNT .
RNI uses the Logging Facade for Java (SLF4J) to log RNI activities. See http://www.slf4j.org/.
SFL4J is a facade for various logging APIs. Using SFL4J, the developer or an administrator can determine which one of many popular logging systems to use at runtime.
This is done by including one and only one adapter jar on the classpath, such as slf4j-log4j12-1.6.4.jar
, for the logging system of your choice, and the jar for that logging system (such as log4j-1.2.15.jar
). You also need to include the SLF4J API jar, slf4j-api-1.6.4.jar
, on the classpath.
By default, all activity is logged to the console. To log to a file and to control the level of logging, place an adapter jar, a logging library, an SLF4J API jar, and the appropriate properties file (e.g., log4j.properties
if you are using log4j) on your classpath.
The adapter, logging, and API jars mentioned above are in samples/java/lib
. A copy of log4j.properties
, which is used by our samples, is in samples/java/logging
. You should adjust the copy of log4j.properties
that you place on your classpath to meet your specific runtime logging needs.
RNI uses libpostal to parse addresses; libpostal is a C library for parsing/normalizing street addresses around the world using statistical NLP and open data.
RNI packages libpostal data in rlp/data/libpostal
. The data directory is relatively large (~2G). If you are certain that you won't be utilizing address matching of unfielded addresses, you can safely delete the libpostal data directory without impacting any other RNI-RNT functionalities.
If you are using both RLP and RNI-RNT together, first install RNI-RNT. Next, install RLP in the same location. When you are installing RLP there will be some overlap of directories, which is expected. Allow the RLP directories and files to replace the existing directories and files.
Setting up your Development Environment
When building or running an RNI-RNT application, you must include the following JAR files on your classpath:
btrlpnc.jar
btcommon-api-<apiversion>.jar
btcommon-api-jackson-<jacksonversion>.jar
btcommon-lib-<libversion>.jar
icu4j-<icuversion>.jar
If using the seq2seq model for Katakana-English matching, you must also include the following JAR files on your classpath:
btrlpnc-seq2seq.jar
-
tensorflow-core-api-<tensorflowversion>-native.jar
If you need GPU support, replace the tensorflow file with the version compiled for your platform. macOS must be at version 10.13 or higher.
jna-<jnaversion>.jar
These files are in BT_ROOT/rlpnc/lib/jvm
.
For information about BT_ROOT
(the Basis root directory) and BT_BUILD
(the platform designator), see Installing RNI-RNT.
To use the Ant scripts described in Building and Running the Sample Applications, make sure you have Ant (1.7.1 or later), the JAVA_HOME
environment variable is set to the root of your Java SDK, and (to use the go
scripts), the Java SDK bin directory is on your PATH.