WedX - журнал о программировании и компьютерных науках

ColdFusion 8 JavaLoader LingPipe или OpenNLP, как его запустить?

Я использую JavaLoader.cfc. Я использовал его раньше, но у меня возникли проблемы с пониманием того, как заставить одну из этих библиотек отвечать мне.

Я поместил файлы JAR в свою папку java. Я создал объект "JavaLoader" и передал ему "пути". Но он продолжает говорить, что не может найти имена классов в файлах jar или что-то в этом роде...

Запрошенный класс не найден. Запрошенный класс opennlp.tools.sentdetect не найден в загруженных банках/каталогах.

Я признаю, что я полный ноль, когда дело доходит до Java и того, как связать ее с ColdFusion. Я уверен, что это какая-то глупость, если бы я ЗНАЛ, что мог бы использовать любой файл JAR в моем распоряжении...

Пожалуйста, помоги, если можешь!

05.04.2011

  • было бы полезно, если бы вы поделились своим кодом для загрузки JavaLoader и его инициализации, а также файлов Jar, которые вы включили в пути, которые вы передаете. 05.04.2011

Ответы:


1

Я проверил javadocs OpenNLP здесь и кажется, что opennlp.tools.sentdetect не имеет конструктора, поэтому он возвращает ошибку. Какой метод вы хотите вызвать?

Я сделал простой пример для обнаружения предложений, но для этого вам нужно получить доступную английскую модель здесь :

<cfscript>
// load NLP jar libraries
sourcePaths = [expandPath("opennlp-tools-1.5.0\opennlp-tools-1.5.0.jar"),expandPath("opennlp-tools-1.5.0\lib\maxent-3.0.0.jar"),expandPath("opennlp-tools-1.5.0\lib\jwnl-1.3.3.jar")];
javaloader = createObject("component", "javaloader.JavaLoader").init(sourcePaths);

// load our model (here english model)
// you can create your own model using the TrainerTool
inputFile = ExpandPath("en-sent.bin");
modelIn = createObject("java", "java.io.FileInputStream").init(inputFile);
model = javaloader.create("opennlp.tools.sentdetect.SentenceModel").init(modelIn);

// let's try the sentence detector
sentenceDetector = javaloader.create("opennlp.tools.sentdetect.SentenceDetectorME").init(model);
sentences = sentenceDetector.sentDetect("I love working with Java in ColdFusion! CF rocks, really! But sometimes working with Java libraries is a bit tricky :-)");
</cfscript>

<cfdump var="#sentences#">

Веселиться! :-)

05.04.2011
  • Именно то, что мне было нужно. Добрый привет! 06.04.2011
  • кажется, что opennlp.tools.sentdetect не имеет конструктора Точнее, это путь к пакету, а не фактический класс, и поэтому он не работает. createObject ожидает полный путь к классу. 27.08.2014

  • 2

    Здесь также нет эксперта по Java, но я заставил POI работать, следуя инструкциям Rays здесь есть две статьи. Он рассказывает о настройке Javaloader

    05.04.2011

    3

    Ваша проблема может быть просто на пути к JAR. Также убедитесь, что вы передаете путь к JAR-файлу в виде строки в массиве.

    Совет 1: Вам не нужно помещать файл в папку java. JavaLoader дает вам возможность поместить файл JAR в любой каталог (возможно, в корень приложения). В противном случае вы можете не использовать JavaLoader и просто поместить файлы JAR в путь к классам JVM.

    Совет 2: Убедитесь, что JavaLoader инициализирован в области сервера, так как это значительно сократит ваши накладные расходы.

    06.04.2011
    Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]