2015-08-13 2 views
0

Предположим, у меня есть множество слов. Например. {«Я», «как», «дыни», «Сьюзан», «любит», «яблоки»} (только очень простой пример), я хочу найти, где я должен добавить период, АКА, где я должен отделить предложение , Поэтому ответ будет «Мне нравятся дыни». «Сьюзен любит яблоки».Алгоритм для выделения предложений?

Капитализация может дать некоторые подсказки. Но заглавное слово не гарантирует начальное слово (первое слово предложения). Например, сокращения, такие как NBA, США, название страны, такие как Америка, Канада, капитализируются, но могут быть в середине предложения.

Какой алгоритм можно использовать для выполнения работы?

+2

'Мне нравятся дыни, Сьюзен любит яблоки, также является правильным предложением. – fl00r

+1

Вы можете ориентироваться только на него, и даже тогда это звучит не так просто. Большинство алгоритмов, которые я видел, делают это наоборот: с учетом текста с пунктуацией, попытайтесь найти, где предложение начинается и заканчивается. Но в конце дня предложение представляет собой довольно произвольную единицу текста (как и слово на самом деле), а его рендеринг в письменной форме весьма неоднозначен. – biziclop

ответ

1

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

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

+1

Эта проблема звучит немного сложнее, так как во входных данных нет пунктуации. – biziclop

+0

Да, только что увидел ваш другой комментарий - вероятно, было бы сложно создать какой-либо классификатор, если бы человек не мог даже идентифицировать это как одно или два предложения наверняка. –

Смежные вопросы