-
Java SDK 11 through 19. 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 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
.
Important
Unless otherwise specified, all inputs to RNI need to be UTF-8 encoded.
Verify that documents that have been copied from another system maintain UTF-8 encoding and have not been converted to another encoding scheme such as ASCII or UTF-16.
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 7.3
|
aarch64-glibc226-gcc73
|
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-glibc226-gcc73.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 Files
-
RNI-RNT-<version>-api-reference.zip
-
RNI-RNT-<version>-ReleaseNotes.pdf
-
RNI-RNT-<version>-AppDevGuide.pdf
When you obtain RNI-RNT, you should receive the following files:
-
The SDK package listed above for your platform: e.g., rni-rnt-<version>-sdk-amd64-glibc217-gcc48.tar.gz
-
The Rosette License: rlp-license.xml
.
Expand the SDK into the install 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 .
Note
For Windows users, you must add
\rlp\bin\*
to your PATH environment variable. In this case, you must replace * with the name of the subdirectory which contains the platform-specific binary library files (for example, amd64-w64-msvc120)
.
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-log4j-1.17.36.jar
, for the logging system of your choice, and the jar for that logging system (such as log4j-2.19.0.jar
). You also need to include the SLF4J API jar, slf4j-api-1.17.36.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 the Java SDK bin directory is on your PATH.