【问题标题】:Dependency of WS4J on some configuration files and WordNet (200Mb)WS4J 对一些配置文件和 WordNet 的依赖(200Mb)
【发布时间】:2016-11-09 10:14:25
【问题描述】:

我正在使用 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 仓库中不可用。

有什么方法可以避免将上述文件放入我本地项目的文件夹中?这些文件占用超过 100Mb....

我也查了库 DISCO,但好像没有 WS4J 强大。

【问题讨论】:

    标签: java ws4j


    【解决方案1】:

    显然,这样做你必须修改 WS4J。

    例如,相似性.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 中的资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-30
      • 2020-01-07
      相关资源
      最近更新 更多