次の機能を備えた Generalized Suffix Tree (GST) の Java 実装を探しています。
たとえば 1000 個の文字列から GST を作成した後、これらの 1000 個の文字列のうちいくつの文字列に他の文字列「s」が含まれているかを調べたいと思います。
平均長が 10 の約 100,000 個の候補文字列に検索を適用する必要があるため、検索は静かに高速である必要があります。
次の機能を備えた Generalized Suffix Tree (GST) の Java 実装を探しています。
たとえば 1000 個の文字列から GST を作成した後、これらの 1000 個の文字列のうちいくつの文字列に他の文字列「s」が含まれているかを調べたいと思います。
平均長が 10 の約 100,000 個の候補文字列に検索を適用する必要があるため、検索は静かに高速である必要があります。
独自の検索機能やその他のマッチング アルゴリズムを簡単に追加できるサフィックス ツリーを Java で作成しました。私のブログ投稿Suffix Trees in Javaには、最新バージョンをダウンロードするための概要と手順が記載されています。私の Java 実装は、Mark Nelson のFast String Searching With Suffix Trees記事に基づいています。
2016-06-18 更新
Semantic Discovery Toolkitを試してください。text/src/java/org/sd/text/radixtree に実装があります
非一般的な接尾辞木のJava実装があります:http://illya-keeplearning.blogspot.com/2009/04/suffix-trees-java-ukkonens-algorithm.html