WEKA және Snowball JAR-да экспорттағанда жұмыс істемейді

Бұл мәселе мені ақылға сыйғызады,

ҚАНДАЙ ҚАНДАЙ ҚАНДАЙ ҚАНДАЙ ҚАНДАЙ ҚАНДАЙ ДЕП СҰРЫП БАР?

Менің «баруға» деген сөзді «баруға» негіздейтін қарапайым негізгі класы бар:

import weka.core.stemmers.SnowballStemmer;

public class StemmerTest {
    public static void main(String[] args) {
        SnowballStemmer stemmer = new SnowballStemmer();
        stemmer.setStemmer("english");
        System.out.println(stemmer.stem("going"));
    }
}

First when I run it in eclipse it works and I get the following output:

Refreshing GOE props...
---Registering Weka Editors---
Trying to add database driver (JDBC): RmiJdbc.RJDriver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): jdbc.idbDriver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): org.gjt.mm.mysql.Driver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Warning, not in CLASSPATH?
[KnowledgeFlow] Loading properties and plugins...
[KnowledgeFlow] Initializing KF...
go

However when I export it as a runnable jar from eclipse "stem.jar" and execute it in the terminal "java -jar stem.jar" it doesn't work and I get the following output:

Refreshing GOE props...
[KnowledgeFlow] Loading properties and plugins...
[KnowledgeFlow] Initializing KF...
Stemmer 'porter' unknown!
Stemmer 'english' unknown!
going

Мен түсінбеймін, неге snowball.jar экспортталған банкада танылмайды ... Weka.jar және snowball.jar екеуі экспортталған құмыраға кіреді. Мұнда stem.jar файл құрылымы:

stem.jar
       |
       |---META-INF
       |---org
       |---StemmerTest.class
       |---snowball.jar
       |---weka.jar

Мәселе бойынша кез келген көмекті бағалаймын

EDIT 1: Generated ANT Script:


<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required                                        -->

    
        
            
            
            
            
        
        
        
        
        
        
    

EDIT 2:

Міне, MANIFEST.MF-тың сұранысы бойынша мазмұны.

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 23.25-b01 (Oracle Corporation)
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Rsrc-Main-Class: StemmerTest
Rsrc-Class-Path: ./ weka.jar snowball.jar
Class-Path: .

Алдын-ала рақмет, TeFa

1
Ал бұл века мен қардың класс жолында болмайтындығына наразы емес, өйткені олар. JDBC драйвері сынып жолында болмағанына шағымданады. Мүмкін weka және snowball конфигурациялық файлдарды өңдей алады және дерекқорға тәуелділікті алып тастауы мүмкін. Мен weka немесе snowball туралы ештеңе білмеймін.
қосылды автор NickJ, көзі
Шығару «Stemmer» портьері белгісіз болғанда! « бұл weka қапшық топтамасын класс жолдарында табады дегенді білдіреді. Wiki
қосылды автор TeFa, көзі
Шығару «Stemmer» портьері белгісіз болғанда! « бұл weka қапшық топтамасын класс жолдарында табады дегенді білдіреді. Wiki
қосылды автор TeFa, көзі
@DaveHowes Мен Eclipse арқылы жасалынған құмырсқалар сценарийін пайдаланамын ... Мен өзімнің сұрағыма қосылдым ... Мен құмырсқаға немесе махинаға сарапшы емеспін, неге мен жасанды антикалық сценарийді eclipse арқылы қолданамын ... Егер сценарийді қалай жұмыс істеуге өңдеуді қалайсыз деп ойлаймын, мен оны шынымен бағалаймын :)
қосылды автор TeFa, көзі
@DaveHowes Мен Eclipse арқылы жасалынған құмырсқалар сценарийін пайдаланамын ... Мен өзімнің сұрағыма қосылдым ... Мен құмырсқаға немесе махинаға сарапшы емеспін, неге мен жасанды антикалық сценарийді eclipse арқылы қолданамын ... Егер сценарийді қалай жұмыс істеуге өңдеуді қалайсыз деп ойлаймын, мен оны шынымен бағалаймын :)
қосылды автор TeFa, көзі
@DaveHowes Дайын, менің сұрағымды жаңарттым ...
қосылды автор TeFa, көзі
@DaveHowes Дайын, менің сұрағымды жаңарттым ...
қосылды автор TeFa, көзі
@DaveHowes Дайын, менің сұрағымды жаңарттым ...
қосылды автор TeFa, көзі
Сондай-ақ, ішіндегі тәуелді банкалар бар jar файлын іске қосу тривиальды емес. Бұл кодты банк файлына экспорттау ғана емес. МЕНИФЕСТ.МФ файлын жасау өте қатал және оны қамтуы керек. Бұл сілтеме ( docs.oracle.com /javase/1.5.0/docs/guide/jar/jar.html#Name-Va‌ lue жұптары және Бөлімдер) біраз ескі, бірақ дұрыс бағытта жүреді. Егер сіз Maven-ды қолдансаңыз, онда бұл ауырсынуды кетіруге арналған жақсы құрал
қосылды автор DaveH, көзі
Rsrc-Class-Path атрибутының көрінісін ұнатпаңыз: бұл мәселе көмектеседі ма: stackoverflow.com/questions/858766/…
қосылды автор DaveH, көзі
Rsrc-Class-Path атрибутының көрінісін ұнатпаңыз: бұл мәселе көмектеседі ма: stackoverflow.com/questions/858766/…
қосылды автор DaveH, көзі
manifest.mf файлының мазмұнын орналастыра аласыз ба?
қосылды автор DaveH, көзі
manifest.mf файлының мазмұнын орналастыра аласыз ба?
қосылды автор DaveH, көзі
Сондай-ақ, ішіндегі тәуелді банкалар бар jar файлын іске қосу тривиальды емес. Бұл кодты банк файлына экспорттау ғана емес. МЕНИФЕСТ.МФ файлын жасау өте қатал және оны қамтуы керек. Бұл сілтеме ( docs.oracle.com /javase/1.5.0/docs/guide/jar/jar.html#Name-Va‌ lue жұптары және Бөлімдер) біраз ескі, бірақ дұрыс бағытта жүреді. Егер сіз Maven-ды қолдансаңыз, онда бұл ауырсынуды кетіруге арналған жақсы құрал
қосылды автор DaveH, көзі

12 жауаптар

Мен үшін бұл түсініксіз болса да, мен ондай тітіркендіргіш мәселені шешіп алдым (10 сағат өткеннен кейін): -

  • «snowball.jar» үшін «fileet» орнына «zipgroupfileset» файлын құрастырылған jar файлындағы мазмұнды түзету үшін пайдалану.

  • Класс жолынан «snowball.jar» шығармаңыз (оның құрылған файлға енгізілгендіктен).

Кейбір себептермен weka.jar-дегі қар қабығы қалыңдығына дейін қардан жасырын таба алмады.

Міне, мен үшін жұмыс істейтін командалық сценарий:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

    
        
            
            
        
    

    
        
    

    
        
            
                
                
            
            
            
        
    

Біреу біреу қарлы бөртпелерді қолданса, бұл көмектеседі деп үміттенемін.

2
қосылды
Сәлеметсіздер ме, мен сол мәселемен айналысамын. Жоғарыда айтылған нәрсені қолдануға тырыстым. Бірақ мәселе әлі де бар. Сіз оны қалай шеше алатынымды білесіз бе?
қосылды автор Neha, көзі

Мен үшін бұл түсініксіз болса да, мен ондай тітіркендіргіш мәселені шешіп алдым (10 сағат өткеннен кейін): -

  • «snowball.jar» үшін «fileet» орнына «zipgroupfileset» файлын құрастырылған jar файлындағы мазмұнды түзету үшін пайдалану.

  • Класс жолынан «snowball.jar» шығармаңыз (оның құрылған файлға енгізілгендіктен).

Кейбір себептермен weka.jar-дегі қар қабығы қалыңдығына дейін қардан жасырын таба алмады.

Міне, мен үшін жұмыс істейтін командалық сценарий:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

    
        
            
            
        
    

    
        
    

    
        
            
                
                
            
            
            
        
    

Біреу біреу қарлы бөртпелерді қолданса, бұл көмектеседі деп үміттенемін.

2
қосылды
Сәлеметсіздер ме, мен сол мәселемен айналысамын. Жоғарыда айтылған нәрсені қолдануға тырыстым. Бірақ мәселе әлі де бар. Сіз оны қалай шеше алатынымды білесіз бе?
қосылды автор Neha, көзі

Мен үшін бұл түсініксіз болса да, мен ондай тітіркендіргіш мәселені шешіп алдым (10 сағат өткеннен кейін): -

  • «snowball.jar» үшін «fileet» орнына «zipgroupfileset» файлын құрастырылған jar файлындағы мазмұнды түзету үшін пайдалану.

  • Класс жолынан «snowball.jar» шығармаңыз (оның құрылған файлға енгізілгендіктен).

Кейбір себептермен weka.jar-дегі қар қабығы қалыңдығына дейін қардан жасырын таба алмады.

Міне, мен үшін жұмыс істейтін командалық сценарий:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

    
        
            
            
        
    

    
        
    

    
        
            
                
                
            
            
            
        
    

Біреу біреу қарлы бөртпелерді қолданса, бұл көмектеседі деп үміттенемін.

2
қосылды
Сәлеметсіздер ме, мен сол мәселемен айналысамын. Жоғарыда айтылған нәрсені қолдануға тырыстым. Бірақ мәселе әлі де бар. Сіз оны қалай шеше алатынымды білесіз бе?
қосылды автор Neha, көзі

Мен оны 1 сағаттық тесттен кейін жасадым, себебі бұл жерде викиде ештеңе жоқ. Бұл шешім келесідей:

SnowballStemmer stemmer = new SnowballStemmer();
stemmer.setStemmer("English");
StringToWordVector STWfilter = new StringToWordVector(1000);
STWfilter.setUseStoplist(true);
STWfilter.setIDFTransform(true);
STWfilter.setTFTransform(true);
STWfilter.setNormalizeDocLength(new SelectedTag(StringToWordVector.FILTER_NORMALIZE_ALL, StringToWordVector.TAGS_FILTER));
STWfilter.setOutputWordCounts(true);
STWfilter.setStemmer(stemmer);
STWfilter.setInputFormat(train);

Мен сізді осы әдісті дұрыс өткізуге жұмсайтын етіп сақтау үшін бүкіл мысалды жібердім.

0
қосылды

Мен оны 1 сағаттық тесттен кейін жасадым, себебі бұл жерде викиде ештеңе жоқ. Бұл шешім келесідей:

SnowballStemmer stemmer = new SnowballStemmer();
stemmer.setStemmer("English");
StringToWordVector STWfilter = new StringToWordVector(1000);
STWfilter.setUseStoplist(true);
STWfilter.setIDFTransform(true);
STWfilter.setTFTransform(true);
STWfilter.setNormalizeDocLength(new SelectedTag(StringToWordVector.FILTER_NORMALIZE_ALL, StringToWordVector.TAGS_FILTER));
STWfilter.setOutputWordCounts(true);
STWfilter.setStemmer(stemmer);
STWfilter.setInputFormat(train);

Мен сізді осы әдісті дұрыс өткізуге жұмсайтын етіп сақтау үшін бүкіл мысалды жібердім.

0
қосылды

Менің картоппен мультимедиялық режимде жұмыс істейтін мәселе болды. Мен оны келесідей шештік:

SnowballStemmer st = new SnowballStemmer();
do{
            //wait until the German stemmer is initialized
}while(!st.stemmerTipText().contains("german"));
st.setStemmer("german");
filter.setStemmer(st);

Қате туралы хабар «Stemmer 'porter' белгісіз!» қалады, бірақ ол неміс стеммерін дұрыс орнатады.

0
қосылды

Менің картоппен мультимедиялық режимде жұмыс істейтін мәселе болды. Мен оны келесідей шештік:

SnowballStemmer st = new SnowballStemmer();
do{
            //wait until the German stemmer is initialized
}while(!st.stemmerTipText().contains("german"));
st.setStemmer("german");
filter.setStemmer(st);

Қате туралы хабар «Stemmer 'porter' белгісіз!» қалады, бірақ ол неміс стеммерін дұрыс орнатады.

0
қосылды

Менің картоппен мультимедиялық режимде жұмыс істейтін мәселе болды. Мен оны келесідей шештік:

SnowballStemmer st = new SnowballStemmer();
do{
            //wait until the German stemmer is initialized
}while(!st.stemmerTipText().contains("german"));
st.setStemmer("german");
filter.setStemmer(st);

Қате туралы хабар «Stemmer 'porter' белгісіз!» қалады, бірақ ол неміс стеммерін дұрыс орнатады.

0
қосылды

Менің картоппен мультимедиялық режимде жұмыс істейтін мәселе болды. Мен оны келесідей шештік:

SnowballStemmer st = new SnowballStemmer();
do{
            //wait until the German stemmer is initialized
}while(!st.stemmerTipText().contains("german"));
st.setStemmer("german");
filter.setStemmer(st);

Қате туралы хабар «Stemmer 'porter' белгісіз!» қалады, бірақ ол неміс стеммерін дұрыс орнатады.

0
қосылды

Мен бұл әдісті ұстандым және ол жұмыс істеді. Менің IDE - NetBeans. Мен банкті мұнда жүктеп алдым. Бұл екінші рет қарлы бөртпенің атауы. Мен оны класс жолына қосып, сүзгіге стеммер қосу үшін келесі кодты қолдандым.

SnowballStemmer stemmer = new SnowballStemmer();
stemmer.setStemmer("english");
StringToWordVector filter = new StringToWordVector();
filter.setStemmer(stemmer);
0
қосылды

Мен бұл әдісті ұстандым және ол жұмыс істеді. Менің IDE - NetBeans. Мен банкті мұнда жүктеп алдым. Бұл екінші рет қарлы бөртпенің атауы. Мен оны класс жолына қосып, сүзгіге стеммер қосу үшін келесі кодты қолдандым.

SnowballStemmer stemmer = new SnowballStemmer();
stemmer.setStemmer("english");
StringToWordVector filter = new StringToWordVector();
filter.setStemmer(stemmer);
0
қосылды

Мен бұл әдісті ұстандым және ол жұмыс істеді. Менің IDE - NetBeans. Мен банкті мұнда жүктеп алдым. Бұл екінші рет қарлы бөртпенің атауы. Мен оны класс жолына қосып, сүзгіге стеммер қосу үшін келесі кодты қолдандым.

SnowballStemmer stemmer = new SnowballStemmer();
stemmer.setStemmer("english");
StringToWordVector filter = new StringToWordVector();
filter.setStemmer(stemmer);
0
қосылды