@PostConstruct public void iniciar() throws IOException { this.tipoBusqueda = "1"; this.cadenaBusqueda = ""; acad = new OntologiaAcademica(); acadAutor = new OntologiaAcademica(); /* ModeloBean ont = (ModeloBean) FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get("modeloBean"); if(ont==null){ ont=new ModeloBean(); } ont.reset(); acad.setModel(ont.getModelOnt()); acadAutor.setModel(ont.getModelOnt()); searcher = ont.getSearcher();*/ contenido = "1"; ServletContext servContx = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext(); String ruta = (String) servContx.getRealPath("/"); Ontologia ont = new Ontologia(); acad.setModel(ont.iniciar(ruta)); acadAutor.setModel(acad.getModel()); dir = FSDirectory.open(new File(ruta + "resources/Indice")); searcher = new IndexSearcher(IndexReader.open(dir)); searcher.setSimilarity(new LMDirichletSimilarity((float) 1)); }
@Before public void setupIndex() throws IOException { dirUnderTest = newDirectory(); List<Similarity> sims = Arrays.asList( new ClassicSimilarity(), new SweetSpotSimilarity(), // extends Classic new BM25Similarity(), new LMDirichletSimilarity(), new BooleanSimilarity(), new LMJelinekMercerSimilarity(0.2F), new AxiomaticF3LOG(0.5F, 10), new DFISimilarity(new IndependenceChiSquared()), new DFRSimilarity(new BasicModelBE(), new AfterEffectB(), new NormalizationH1()), new IBSimilarity(new DistributionLL(), new LambdaDF(), new NormalizationH3()) ); similarity = sims.get(random().nextInt(sims.size())); indexWriterUnderTest = new RandomIndexWriter(random(), dirUnderTest, newIndexWriterConfig().setSimilarity(similarity)); for (int i = 0; i < docs.length; i++) { Document doc = new Document(); doc.add(newStringField("id", "" + i, Field.Store.YES)); doc.add(newField("field", docs[i], Store.YES)); indexWriterUnderTest.addDocument(doc); } indexWriterUnderTest.commit(); indexWriterUnderTest.forceMerge(1); indexWriterUnderTest.flush(); indexReaderUnderTest = indexWriterUnderTest.getReader(); searcherUnderTest = newSearcher(indexReaderUnderTest); searcherUnderTest.setSimilarity(similarity); }
@Override public Similarity getSimilarity() { LMDirichletSimilarity sim = (mu != null) ? new LMDirichletSimilarity(mu) : new LMDirichletSimilarity(); sim.setDiscountOverlaps(discountOverlaps); return sim; }
/** dirichlet with parameters */ public void testParameters() throws Exception { Similarity sim = getSimilarity("text_params"); assertEquals(LMDirichletSimilarity.class, sim.getClass()); LMDirichletSimilarity lm = (LMDirichletSimilarity) sim; assertEquals(1000f, lm.getMu(), 0.01f); }
/** * * @param propatiesPath 設定ファイル.propertiesのパス * @throws IOException */ public SpokendocBaseline(String propatiesPath) throws IOException { Properties conf = new Properties(); FileInputStream fis = new FileInputStream(new File(propatiesPath)); conf.load(fis); this.analyzer = new WhitespaceAnalyzer(Version.LUCENE_46); this.task = conf.getProperty("task"); this.freqfilePath = conf.getProperty("freqfile"); this.tokenizerPath = conf.getProperty("tokenizer"); this.resultPath = conf.getProperty("result"); this.normalization = new Boolean(conf.getProperty("normalization")); //メモリにインデックス保存する。テスト用 //this.directory = new RAMDirectory(); //MMapDirectory: 読み込みはメモリ、書き出しはファイルシステムらしい String indexPath = conf.getProperty("index"); this.indexDirectory = MMapDirectory.open(new File(indexPath)); String selectedSimilarity = conf.getProperty("similarity"); if (selectedSimilarity.equals("LMDirichlet")) { float mu = Float.valueOf(conf.getProperty("mu")); this.similarity = new LMDirichletSimilarity(mu); } else if (selectedSimilarity.equals("BM25")) { float k1 = Float.valueOf(conf.getProperty("k1")); float b = Float.valueOf(conf.getProperty("b")); this.similarity = new BM25Similarity(k1, b); } else { this.similarity = new DefaultSimilarity(); } fis.close(); }
@PostConstruct public void reset() throws IOException{ ServletContext servContx = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext(); ruta = (String) servContx.getRealPath("/"); Ontologia ont=new Ontologia(); modelOnt=ont.iniciar(ruta); prefijo="http://www.owl-ontologies.com/TesisGrado.owl#"; dir = FSDirectory.open(new File(ruta+"resources/Indice")); searcher= new IndexSearcher(IndexReader.open(dir)); searcher.setSimilarity(new LMDirichletSimilarity((float)1)); }
public LMDirichletSimilarityProvider(String name, Settings settings, Settings indexSettings) { super(name); float mu = settings.getAsFloat("mu", 2000f); this.similarity = new LMDirichletSimilarity(mu); }
@Inject public LMDirichletSimilarityProvider(@Assisted String name, @Assisted Settings settings) { super(name); float mu = settings.getAsFloat("mu", 2000f); this.similarity = new LMDirichletSimilarity(mu); }
/** dirichlet with default parameters */ public void test() throws Exception { assertEquals(LMDirichletSimilarity.class, getSimilarity("text").getClass()); }