Зависимость 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-файлах.