Quiero encontrar similitudes de Word usando WordNet
Frecuentes
Visto 2,865 equipos
0
Estoy haciendo un proyecto de último año sobre "categorización de videos web", en el que una parte es encontrar palabras similares (sinónimos) para una palabra en particular y quiero eliminar términos similares.
Conozco el lenguaje Java, así que elegí "Similitud de palabras para Java" ws4j
Para eso solo he usado WS4J1.0.1 jar, aunque no he descargado ningún archivo adicional como WordNet base de datos léxica o sqlite base de datos para almacenarlo. Porque en ese sitio web han mencionado que todos están contenidos como precompilados en este archivo jar.
Cuando ejecuté el programa Demo SimilarityCalculationDemo.java, Tengo los siguientes errores:
java.sql.BatchUpdateException: batch entry 0: [SQLITE_CORRUPT] The database disk image is malformed (database disk image is malformed)
at org.sqlite.Stmt.executeBatch(Stmt.java:226)
at org.sqlite.Stmt.executeBatch(Stmt.java:226)
at edu.cmu.lti.jawjaw.db.SQL.createIndexIfNotExists(SQL.java:118)
at edu.cmu.lti.jawjaw.db.SQL.createSQLConnection(SQL.java:98)
at edu.cmu.lti.jawjaw.db.SQL.<init>(SQL.java:55)
at edu.cmu.lti.jawjaw.db.SQL.<clinit>(SQL.java:45)
at edu.cmu.lti.jawjaw.db.WordDAO.findWordsByLemmaAndPos(WordDAO.java:124)
at edu.cmu.lti.jawjaw.util.WordNetUtil.wordToSynsets(WordNetUtil.java:38)
at edu.cmu.lti.lexical_db.NictWordNet.getAllConcepts(NictWordNet.java:38)
atedu.cmu.lti.ws4j.util.WordSimilarityCalculator.calcRelatednessOfWords(WordSimilarityCalculator.java:79)
at edu.cmu.lti.ws4j.RelatednessCalculator.calcRelatednessOfWords(RelatednessCalculator.java:61)
at web_cat.SimilarityCalculationDemo.run(SimilarityCalculationDemo.java:37)
at web_cat.SimilarityCalculationDemo.main(SimilarityCalculationDemo.java:43)
java.sql.SQLException: [SQLITE_CORRUPT] The database disk image is malformed (database disk image is malformed)
at org.sqlite.DB.newSQLException(DB.java:383)
at org.sqlite.DB.newSQLException(DB.java:387)
at org.sqlite.DB.throwex(DB.java:374)
at org.sqlite.NativeDB.prepare(Native Method)
at org.sqlite.DB.prepare(DB.java:123)
at org.sqlite.Stmt.execute(Stmt.java:113)
at edu.cmu.lti.jawjaw.db.SQL.setPragmaCacheSize(SQL.java:137)
at edu.cmu.lti.jawjaw.db.SQL.createSQLConnection(SQL.java:99)
at edu.cmu.lti.jawjaw.db.SQL.<init>(SQL.java:55)
at edu.cmu.lti.jawjaw.db.SQL.<clinit>(SQL.java:45)
at edu.cmu.lti.jawjaw.db.WordDAO.findWordsByLemmaAndPos(WordDAO.java:124)
at edu.cmu.lti.jawjaw.util.WordNetUtil.wordToSynsets(WordNetUtil.java:38)
at edu.cmu.lti.lexical_db.NictWordNet.getAllConcepts(NictWordNet.java:38)
at edu.cmu.lti.ws4j.util.WordSimilarityCalculator.calcRelatednessOfWords(WordSimilarityCalculator.java:79)
at edu.cmu.lti.ws4j.RelatednessCalculator.calcRelatednessOfWords(RelatednessCalculator.java:61)
at web_cat.SimilarityCalculationDemo.run(SimilarityCalculationDemo.java:37)
at web_cat.SimilarityCalculationDemo.main(SimilarityCalculationDemo.java:43)
java.sql.SQLException: [SQLITE_CORRUPT] The database disk image is malformed (database disk image is malformed)
at org.sqlite.DB.newSQLException(DB.java:383)
at org.sqlite.DB.newSQLException(DB.java:387)
at org.sqlite.DB.throwex(DB.java:374)
at org.sqlite.NativeDB.prepare(Native Method)
at org.sqlite.DB.prepare(DB.java:123)
at org.sqlite.PrepStmt.<init>(PrepStmt.java:42)
at org.sqlite.Conn.prepareStatement(Conn.java:404)
at org.sqlite.Conn.prepareStatement(Conn.java:399)
at org.sqlite.Conn.prepareStatement(Conn.java:383)
at edu.cmu.lti.jawjaw.db.SQL.prepareStatements(SQL.java:151)
at edu.cmu.lti.jawjaw.db.SQL.<init>(SQL.java:56)
at edu.cmu.lti.jawjaw.db.SQL.<clinit>(SQL.java:45)
at edu.cmu.lti.jawjaw.db.WordDAO.findWordsByLemmaAndPos(WordDAO.java:124)
at edu.cmu.lti.jawjaw.util.WordNetUtil.wordToSynsets(WordNetUtil.java:38)
at edu.cmu.lti.lexical_db.NictWordNet.getAllConcepts(NictWordNet.java:38)
at edu.cmu.lti.ws4j.util.WordSimilarityCalculator.calcRelatednessOfWords(WordSimilarityCalculator.java:79)
at edu.cmu.lti.ws4j.RelatednessCalculator.calcRelatednessOfWords(RelatednessCalculator.java:61)
at web_cat.SimilarityCalculationDemo.run(SimilarityCalculationDemo.java:37)
at web_cat.SimilarityCalculationDemo.main(SimilarityCalculationDemo.java:43)
Exception in thread "main" java.lang.NullPointerException
at edu.cmu.lti.jawjaw.db.WordDAO.findWordsByLemmaAndPos(WordDAO.java:125)
at edu.cmu.lti.jawjaw.util.WordNetUtil.wordToSynsets(WordNetUtil.java:38)
at edu.cmu.lti.lexical_db.NictWordNet.getAllConcepts(NictWordNet.java:38)
at edu.cmu.lti.ws4j.util.WordSimilarityCalculator.calcRelatednessOfWords(WordSimilarityCalculator.java:79)
at edu.cmu.lti.ws4j.RelatednessCalculator.calcRelatednessOfWords(RelatednessCalculator.java:61)
at web_cat.SimilarityCalculationDemo.run(SimilarityCalculationDemo.java:37)
at web_cat.SimilarityCalculationDemo.main(SimilarityCalculationDemo.java:43)
Java Result: 1
Estoy usando Netbeans IDE 7.4 con JDK 6.
¿Podría alguien ayudarme, por favor, cómo superar este problema, porque hay menos documentación disponible en Internet sobre ws4j.
1 Respuestas
1
Bueno, no pude reproducir tu error. Para mí, funcionó perfectamente desde el primer momento, usando eclipse, así que intentaré ayudarlo a reproducir exactamente lo que hice.
descargar ws4j-1.0.1.jar desde https://ws4j.googlecode.com/files/ws4j-1.0.1.jar y asegúrese de que su tamaño después de la descarga sea de 41,362,723 bytes (al menos, eso es lo que me dijo eclipse en mi caja de Linux)
Usa java 7
Cree un proyecto de eclipse simple y suelte el frasco allí. Luego agregue el jar a la ruta de compilación (clic derecho -> ruta de compilación -> agregar)
Cree un paquete y una clase apropiados para acomodar la clase de demostración
Simplemente ejecute la demostración y obtendrá algo como
edu.cmu.lti.ws4j.impl.HirstStOnge 0.0 edu.cmu.lti.ws4j.impl.LeacockChodorow 1.3862943611198906 edu.cmu.lti.ws4j.impl.Lesk 0.0 edu.cmu.lti.ws4j.impl.WuPalmer 0.4 edu.cmu.lti.ws4j.impl.Resnik 2.5031573470157453 edu.cmu.lti.ws4j.impl.JiangConrath 0.11150424023847051 edu.cmu.lti.ws4j.impl.Lin 0.3582442863008455 edu.cmu.lti.ws4j.impl.Path 0.14285714285714285 Done in 1951 msec.
respondido 06 mar '14, 17:03
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas java netbeans wordnet ws4j or haz tu propia pregunta.
Estoy usando el sistema operativo Windows8 con NetBeans IDE 7.4. ¿Hay algún problema en el uso del Sistema Operativo? porque hice lo mismo que tú al ejecutar el archivo de demostración: nawazlj
en teoría, no. He ejecutado el mío en Linux - Leo
¿Estás seguro de que tu jar no está dañado? - Leo
Acabo de descargar el archivo jar del mismo enlace ayer y lo ejecuté en NetBeansIDE 7.4. pero muestra el mismo error de tiempo de ejecución - nawazlj
acabas de salvarme el día, aunque todo lo que necesitaba era descargar el archivo ws4j.jar original - R.jzadeh