Как найти общие фразы в большом теле текста

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

  • Собака перепрыгнула через женщину.
  • Собака вскочила в автомобиль.
  • Собака перешла вверх по лестнице.

От вышеупомянутого примера я хотел бы извлечь "собаку, перешедшую", поскольку это - наиболее распространенная фраза в тексте. Сначала я думал, "о, позволяет, используют ориентированного графа [с повторными узлами]":

ориентированный граф http://img.skitch.com/20091218-81ii2femnfgfipd9jtdg32m74f.png

Править: Извинения, я сделал ошибку при передаче этой схемы, "в" и должен все связаться назад с.

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

  • Собака подпрыгнула.
  • Собака, перешедшая как никакая собака, когда-либо переходила прежде.
  • Собака перешла счастливо.

У нас теперь есть проблема, так как "собака" запустила бы новый корневой узел (на том же уровне как), и мы не определим, что "собака перешла" как теперь являющийся наиболее распространенной фразой. Таким образом, теперь я думаю, возможно, что я мог использовать неориентированного графа, чтобы отобразить отношения между всеми словами и в конечном счете выбрать общие фразы, но я не уверен, как это собирается работать также, поскольку Вы теряете важные отношения порядка между словами.

Делает у любого есть любые общие представления о том, как определить общие фразы в большом теле текста и какую структуру данных я использовал бы.

Спасибо, Ben

18
задан benofsky 18 December 2009 в 23:32
поделиться

1 ответ

Проверьте этот связанный вопрос: Какие существуют методы / инструменты для обнаружения распространенных фраз в фрагментах текста? Также относится к самой длинной распространенной проблеме с подстрокой .

Я публиковал это раньше, но использую ] R для всех моих задач интеллектуального анализа данных, и он хорошо подходит для такого рода анализа. В частности, обратите внимание на пакет tm . Вот несколько соответствующих ссылок:

Подробнее как правило, существует большое количество пакетов интеллектуального анализа текста в представлении обработки естественного языка на CRAN .

12
ответ дан 30 November 2019 в 09:28
поделиться
Другие вопросы по тегам:

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