Используя OpenNLP API, вы можете анализировать данные предложения. В этой главе мы обсудим, как анализировать необработанный текст с помощью OpenNLP API.
Разбор необработанного текста с использованием библиотеки OpenNLP
Чтобы обнаружить предложения, OpenNLP использует предопределенную модель, файл с именем en-parserchunking.bin . Это предопределенная модель, которая обучается анализировать данный необработанный текст.
Класс Parser пакета opennlp.tools.Parser используется для хранения компонентов анализа, а класс ParserTool пакета opennlp.tools.cmdline.parser используется для анализа содержимого.
Ниже приведены шаги, которые необходимо выполнить для написания программы, которая анализирует данный необработанный текст с использованием класса ParserTool .
Шаг 1: Загрузка модели
Модель для анализа текста представлена классом с именем ParserModel , который принадлежит пакету opennlp.tools.parser .
Чтобы загрузить модель токенизатора —
-
Создайте объект InputStream модели (создайте экземпляр FileInputStream и передайте путь модели в формате String ее конструктору).
-
Создайте экземпляр класса ParserModel и передайте InputStream (объект) модели в качестве параметра ее конструктору, как показано в следующем блоке кода.
Создайте объект InputStream модели (создайте экземпляр FileInputStream и передайте путь модели в формате String ее конструктору).
Создайте экземпляр класса ParserModel и передайте InputStream (объект) модели в качестве параметра ее конструктору, как показано в следующем блоке кода.
//Loading parser model InputStream inputStream = new FileInputStream(".../en-parserchunking.bin"); ParserModel model = new ParserModel(inputStream);
Шаг 2: Создание объекта класса Parser
Класс Parser пакета opennlp.tools.parser представляет структуру данных для хранения компонентов анализа. Вы можете создать объект этого класса, используя статический метод create () класса ParserFactory .
Вызовите метод create () ParserFactory , передав объект модели, созданный на предыдущем шаге, как показано ниже —
//Creating a parser Parser parser = ParserFactory.create(model);
Шаг 3: Разбор предложения
Метод parseLine () класса ParserTool используется для анализа необработанного текста в OpenNLP. Этот метод принимает —
-
строковая переменная, представляющая текст для анализа.
-
объект парсера.
-
целое число, представляющее количество разборов, которые должны быть выполнены.
строковая переменная, представляющая текст для анализа.
объект парсера.
целое число, представляющее количество разборов, которые должны быть выполнены.
Вызовите этот метод, передав предложение следующим параметрам: объект разбора, созданный на предыдущих шагах, и целое число, представляющее требуемое количество разборов, которые необходимо выполнить.
//Parsing the sentence String sentence = "Tutorialspoint is the largest tutorial library."; Parse topParses[] = ParserTool.parseLine(sentence, parser, 1);
пример
Ниже приводится программа, которая анализирует данный необработанный текст. Сохраните эту программу в файле с именем ParserExample.java .
import java.io.FileInputStream; import java.io.InputStream; import opennlp.tools.cmdline.parser.ParserTool; import opennlp.tools.parser.Parse; import opennlp.tools.parser.Parser; import opennlp.tools.parser.ParserFactory; import opennlp.tools.parser.ParserModel; public class ParserExample { public static void main(String args[]) throws Exception{ //Loading parser model InputStream inputStream = new FileInputStream(".../en-parserchunking.bin"); ParserModel model = new ParserModel(inputStream); //Creating a parser Parser parser = ParserFactory.create(model); //Parsing the sentence String sentence = "Tutorialspoint is the largest tutorial library."; Parse topParses[] = ParserTool.parseLine(sentence, parser, 1); for (Parse p : topParses) p.show(); } }
Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:
javac ParserExample.java java ParserExample
При выполнении вышеуказанная программа считывает заданный необработанный текст, анализирует его и отображает следующий вывод: