Зависимость WS4J от некоторых файлов конфигурации и WordNet (200 Мб)

Я использую WS4J API для вычисления семантического сходства между словами:

ILexicalDatabase db = new NictWordNet();
RelatednessCalculator lin = new Lin(db);
RelatednessCalculator wup = new WuPalmer(db);

String w1 = "science";
String w2 = "university";
System.out.println(lin.calcRelatednessOfWords(w1, w2));
System.out.println(wup.calcRelatednessOfWords(w1, w2));

Проблема в том, что этот API зависит от следующих файлов конфигурации, которые должны быть помещены в каталог проекта (я использую /resources для этого):

jaw.jaw.conf
similarity.conf
wordnet folder

Более того, жаль, что эта библиотека недоступна в репозитории Maven.

Есть ли способ избежать размещения вышеупомянутых файлов в папке моего локального проекта? Эти файлы занимают более 100 МБ....

Я также проверил библиотеку DISCO, но она не такая мощная, как WS4J.

1 ответ

Видимо, сделайте так, чтобы вам пришлось модифицировать WS4J.

Например, файл Similarity.conf загружается классом WS4JConfiguration через InputStream:

final public class WS4JConfiguration {

    private final static String CONF = "/similarity.conf";

     ...

    private WS4JConfiguration(){
        InputStream stream = null;
        try {
            stream = WS4JConfiguration.class.getResourceAsStream( CONF );

Итак, WS4JConfiguration загружает ресурсы, используя тот же загрузчик классов, который загружал ваше приложение, и он должен иметь доступ к ресурсам в ваших JAR-файлах.

Другие вопросы по тегам