получение пишет сообщение, который будет отображен пользователю от HTML

Бит случайного, я желаю иметь игру с некоторым материалом обработки естественного языка, и я хотел бы:

Получите весь текст, который будет отображен пользователю в браузере от HTML.

Мой идеальный вывод не имел бы никаких тегов в нем и будет только иметь fullstops (и любая другая пунктуация используемый) и символы новой строки, хотя я могу терпеть довольно разумную сумму отказа в этом (случайный другой материал, заканчивающийся в выводе).

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

объекты на ул. или теге опций могли быть разделены точками (или быть честными просто проигнорированные).

Я работаю Java, но интересовался бы наблюдением любого кода, который делает это.

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

Пример кода, который я мог бы написать, заканчиваю ли я действительно тем, что делал это, состоял бы в том, чтобы использовать синтаксический анализатор SAX, чтобы найти, что содержание в тегах p, чтобы лишить его любого промежутка или сильный и т.д. отмечает, и добавьте точку, если я поразил отделение или другой p не имея fullstop.

Любые указатели или очень приветствующиеся предложения.

1
задан 13 June 2010 в 09:59
поделиться

3 ответа

Парсеры HTML кажутся разумной отправной точкой для этого.

их несколько, например: HTMLCleaner и Nekohtml работают нормально.

Они хороши тем, что исправляют теги, чтобы вы могли более последовательно обрабатывать их, даже если вы просто их удаляете.

Но, как оказалось, вы, вероятно, захотите избавиться от метаданных тегов скрипта и т. Д. И в этом случае вам лучше работать с хорошо сформированным XML, который эти парни получают для вас из "дикого" html.

есть много SO-вопросов, связанных с этим (например, этот один), хотя вы должны искать «HTML-синтаксический анализ»; -)

0
ответ дан 2 September 2019 в 23:48
поделиться

Хммм ... почти любой анализатор HTML может быть использован для создания желаемого эффекта - просто пропустите все теги и испустите только текстовые элементы, и испустите LF для закрывающего тега каждого блочного элемента. Как вы говорите, реализация SAX будет простой и понятной.

2
ответ дан 2 September 2019 в 23:48
поделиться

Я бы просто удалил все, что имеет теги <>, и если вы хотите иметь полную остановку в конце каждого предложения, проверьте наличие закрывающих тегов и поставьте полную остановку.

Если у вас есть

<strong> test </strong>

(и другие теги, которые меняют вид теста), вы можете поставить условия, чтобы не ставить полную точку здесь.

0
ответ дан 2 September 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: