Rosette 言語・文字コード判別システム Pure Java版 7.15.0.c58.2 リリースノート


Table of Contents

1. はじめに
2. 変更点
3. 未解決の問題
4. サードパーティー・コンポーネント
5. 不具合修正

Copyright © 2016 Basis Technology Corporation. All rights reserved. This document is property of and is proprietary to Basis Technology Corporation. It is not to be disclosed or reproduced in whole or in part without the express written consent of Basis Technology Corporation.

U.S. Government Rights. This software is commercial computer software owned by Basis Technology Corporation. In accordance with DFARS 48 CFR 227-7202-1 and FAR 48 CFR 227.405-3(a), its use, reproduction, and disclosure by the Government is subject to the terms of Basis Technology's standard software license agreement and as may be set forth in the applicable Government Contract. Copyright © 2016 Basis Technology Corporation. All rights reserved. Licensor/Contractor: Basis Technology Corporation, One Alewife Center, Cambridge, MA 02140, USA.

Web:http://www.basistech.com
サポート受付:support@rosette.com
リリース日:May 10, 2016

1. はじめに

Rosette 言語・文字コード判別システム Pure Java版は、Rosette 言語・文字コード判別システムを100%Javaで実装し直した製品です。364種類の言語-エンコーディング-文字体系の組み合わせに対応しています(56言語、48エンコーディング、18文字体系)。

RLI-JE プログラミングガイドrli-je-appdev-guide.pdfになります。APIガイドはSDKパッケージのrli-je-7.15.0.c58.2/doc/apidocs/index.htmlになります。

2. 変更点

2.1. リリース7.15.0

  • 言語判別の重み付けで特定言語の判別率を上げることができるようになりました。(RLIJE-111)

  • 言語ウェイトのAPIが短文解析にも使用できるようになりました。(RLIJE-204)

  • RLICmdのオプションを変更しました。(RLIJE-230)

  • 言語が判別できない時、短文解析と標準解析で同じ結果を返すようになりました。いずれもこの場合Unknownが返ります。NoMatchException, NotEnoughDataException, LanguageIdentificationExceptionは廃止予定に追加。(RLIJE-272, RLIJE-304)

  • 内部のアルゴリズムを変更し判別精度を向上。(RLIJE-277)

  • 一つの言語に一つの結果を返すオプションを追加。詳細は LanguageIdentifierBuilder#uniqueLanguages(boolean)をご覧ください。(RLIJE-298)

  • LanguageIdentifierBuilderlanguageHintencodingHint メソッドを廃止予定に追加。言語ウェイトAPIをお使いください。(RLIJE-320)

2.2. リリース 7.14.0

  • アラビア語のアルファベット表記など、音訳言語のプロファイルをデフォルトで無効に設定。プロファイルを有効にするにはLanguageIdentifierBuilder#languageWeightAdjustment(LanguageCode, ISO15924, int)をご覧ください。(RLIJE-225)

2.3. リリース 7.13.3

  • 短文解析のモデルをJARファイルから読み込むオプションを追加。詳細はLanguageIdentifierBuilder#useModelsInJar(boolean)をご覧ください。(RLIJE-276)

2.4. リリース 7.13.1

  • RLICmdで言語データが不十分な時に起きていた例外処理の不具合を修正。(RLIJE-216)

  • 複数のドキュメントをRLICmdで同時に処理できるようマルチスレッドに対応。(RLIJE-221)

  • icu4j および args4j を rli-je-shaded jarファイルにシェード。(RLIJE-237)

  • Basisのcommon-lib jarをrli-je-shaded jarにシェード。(RLIJE-248)

  • RLI-JEがadm-shadedの代わりにadm-modelに依存するようになりました。それに伴いRLI-JEはApache Commons Betwixt や Javassistに依存しなくなりました。(RLIJE-252)

  • 短文解析のアルゴリズムを改良。7.13.0よりも20%処理速度が向上。(RLIJE-254)

2.5. リリース 7.13.0

  • 特殊な処理を追加し、短文解析の判別精度を向上。(RLIJE-96)

  • ライセンスディレクトリーをBasisの他の製品に合わせ、license から licenses に変更。(RLIJE-124)

  • コマンドラインユーティリティーRLICmdをtools/bin から bin ディレクトリーに移動。(RLIJE-200)

  • 中国語の判別方法を見直し、言語と文字体系を分離しました。文字体系がHan, Simplified (Hans) およびHan, Traditional (Hant)の時に、いずれも中国語 (zho) と判別するようにしました。従来はそれぞれ別々に簡体字中国語 (zhs) と繁体字中国語 (zht)と判別していました。(RLIJE-152)

2.6. リリース 7.12.0

  • 複数の言語を含むドキュメントを処理する際、各言語領域を検出できるようになりました。(RLIJE-88)

  • LanguageIdentifierFactoryLanguageIdentifierを廃止予定に追加。代わりに LanguageIdentifierBuilderでオプションを設定したり、Annotator オブジェクトを生成し、言語、エンコーディング、文字体系、言語領域を検出します。本実装には、他のRosette製品でも使用されている新しいデータモデル (com.basistech.rosette.dm)を使用します。(RLIJE-93)

2.7. リリース 7.11.0

  • LanguageIdentifierインスタンスを生成するファクトリークラス(LanguageIdentifierFactory) を追加。(RLIJE-15)

  • コマンドラインユーティリティーを LanguageIdentifier から RLICmdに変更。(RLIJE-32)

  • UTF-16のエンコーディングに対し、リトルエンディアン(UTF-16LE) とビッグエンディアン(UTF-16BE)の判別が可能になりました。(RLIJE-51)

  • ライセンスの読み込み方法を拡張。LanguageIdentifierFactoryのコンストラクターが、ファイル、入力ストリーム、xmlの文字列からライセンスの読み込みが可能になりました。

  • LanguageIdentifier setLanguageWeight Adjustmentメソッドで、特定言語のウェイト%を減少できるようになりました。 複数言語からなるドキュメントを解析する際有効です。

  • デフォルトのウェイトを調整し Pushto/Latn および Urdu/Latn の精度が向上。Serbian/Latn のデフォルトウェイトを0に変更。クロアチア語が判別できるようになりました。これらの変更はPushto/Arab, Urdu/Arab, Serbian/Cyrillic に影響しません。(RLIJE-37)

  • lib ディレクトリーに新しい.jarファイルを置きました。mahout-collections-1.0.jar は廃止しました。

2.8. リリース 6.5.1.1

  • trove-2.0.4.jarmahout-collections-1.0.jarで置き換えました。

  • utilities-no-jni-7.1.jar を廃止。rlp-common-1.3.6.jarbtcommon-3.jarで置き換えました。

2.9. リリース 6.5.1

従来のRosette Search Essentials SDKを改め、RLI Java版としての最初のリリースとなります。C++版 RLI 6.5.1の実装を移植しました。

3. 未解決の問題

RLIではUTF-16 データの判別が正しく行えないことがあります。その場合、UTF-8 のバイト配列を取り出しdetect(byte[] data)に渡します。

漢字を含むデータを処理する際 LanguageIdentifier が返す判別結果が信頼度順に並ばないことがあります。これは経験則による結果を反映したものです。

4. サードパーティー・コンポーネント

Basis製品で使用するサードパーティー・コンポーネントは、ThirdPartyLicenses.txtをご覧ください。RLI-JEは以下のサードパーティーコンポーネントを使用しています:

コンポーネントバージョン
Apache Commons CLI1.2
Apache Commons IO 2.4
Apache Log4j 1.2.17
args4j 2.0.26
Fastutil 6.6.0
Google Guava 16.0.1
iHarder.Net Base64 2.1
International Components for Unicode (ICU) ICU4J 53.1
Jackson Annotations 2.4.1
Jackson Core 2.4.4
Jackson Databind 2.4.4
Jackson Dataformat CBOR 2.4.4
Jackson Dataformat Smile 2.4.4
Jackson Dataformat XML 2.4.4
Jackson Dataformat YAML 2.4.4
LIBLINEAR 1.94
SLF4J 1.7.5

5. 不具合修正

5.1. リリース7.15.0

Bug#説明
RLIJE-269RLICmdの -breakRegionOnScriptBoundary オプションがfalseに設定できない不具合を修正。
RLIJE-278短文解析モデルが欠落している際のエラーメッセージを修正。

5.2. リリース 7.14.1

Bug#説明
RLIJE-302UTF-16の大文字英語の処理で起きていたスタックオーバーフローを修正。

5.3. リリース 7.13.1

Bug#説明
RLIJE-202言語ヒントがキリル文字で処理データがUTF-8やUTF-16以外の時、LanguageIdentifierが返していたNotEnoughDataExceptionの不具合を修正。LanguageIdentifierはヒント言語を返すようになりました。
RLIJE-220言語-文字体系のペアと文字体系の指定のない当該言語が異なる設定の時、LanguageIdentifierBuilderが不規則なlanguageWeightAdjustmentsを設定する不具合を修正。言語-文字体系ペアの設定値が優先されるようになりました。
RLIJE-236REX-JEと併用時、シェード版のアノテートデータモデルのパッケージを含むために、RLI-JEのJARファイルをクラスパスの最初の部分に指定するとREXCmdNoSuchMethodExceptionを返す不具合を修正。
RLIJE-259LanguageIdentifierでngramプロファイルからの差異の小さいものから順にソートするアサーションチェックが、漢字データでは経験則に影響されてしまう不具合を修正。
RLIJE-262RLI-JEが5つ以上の結果を返せない不具合を修正。

5.4. リリース 7.13.0

Bug#説明
RLIJE-170大量の入力を処理する際、LanguageRegionAnnotatorIllegalArgumentException を起こす不具合を修正。
RLIJE-176空の文字列を処理する際に起きていたIllegalArgumentExceptionの不具合を修正。
RLIJE-178log4j システムプロパティーの初期化の警告メッセージが出ないよう、RLICmd ユーティリティーを修正。

5.5. リリース 7.12.2

Bug#説明
RLIJE-171rli-je-shaded jarファイルのシェーディングを修正。

5.6. リリース 7.12.1

Bug#説明
RLIJE-161サードパーティーコンポーネントをrli-je-shaded jarファイルにシェーディング。
RLIJE-164LanguageRegionAnnotator.detectRegionmaxRegionの設定よりも大きい領域を判別する場合、 IllegalArgumentExceptionが返るようになりました。

5.7. リリース 6.5.1.2

Bug#説明
RLI-460Webアプリケーションおよびサーブレットのデプロイで起きていたDataCacheの不具合を修正。