Java-код для чтения файлов SGML - PullRequest
1 голос
/ 25 февраля 2011

Я делаю свой проект по текстовой категоризации. У меня есть коллекция тестов по текстовой категоризации под названием Reuters-21578 для моего проекта поиска информации. Распространяется в 22 файлах. Каждый из первых 21 файлов (от reut2-000.sgm до reut2-020.sgm) содержит 1000 документов, а последний (reut2-021.sgm) содержит 578 документов. Файлы в формате SGML. Каждый из 22 файлов начинается со строки объявления типа документа: DTD-файл lewis.dtd включен в дистрибутив. За строкой объявления типа документа находятся отдельные статьи Reuters, помеченные тегами SGML.

Мне нужна помощь в написании java-программы для чтения этих 21578 документов или преобразования их в отдельные текстовые файлы 21578.

Может ли кто-нибудь PLZZ помочь мне ?????

Ответы [ 3 ]

1 голос
/ 12 октября 2015

У Lucene есть такой экстрактор в org.apache.lucene.benchmark.utils.ExtractReuters;

На самом деле я не пытался запустить его из файла jar ( Maven repo ), но вы можете легко использовать (и изменить) найденный исходный код Java здесь , поскольку он не имеет внешних зависимостей.

Обратите внимание, что этот код экспортирует большое количество небольших файлов (на самом деле 21578).

1 голос
/ 25 февраля 2011

Кажется, что после пяти минут поиска в Google нет бесплатных SGML-парсеров для Java.Это довольно удивительно, но вы идете.

Я предлагаю вам воспользоваться инструментом SX Джеймса Кларка из пакета SP , который не является Java, но которыйэто portable C , и используйте его для преобразования SGML в XML.Затем вы можете проанализировать XML с помощью анализатора Java XML.

0 голосов
/ 20 сентября 2017

Хотя это очень старый пост, но мой ответ для будущих нуждающихся людей, потому что я много боролся, прежде чем сделать это таким образом.Я не могу сказать, что это подходящий подход или хорошее решение, но он выполнил свою задачу и в течение последних 6 месяцев непрерывно выполнял пакетный процесс.Я написал собственный код для чтения и анализа файлов SGML, и он успешно справился даже с большими файлами.Хотя выходной формат имеет другую структуру, как требуется в моем случае.Вы можете посмотреть, и если это кажется полезным, вы можете сделать некоторые изменения, чтобы использовать его.Пожалуйста, посмотрите здесь

...