Извлечение подтекста на основе тем в тексте с использованием Python (очистка / извлечение / обработка данных) - PullRequest
0 голосов
/ 28 января 2019

Рассмотрим текст1:

Что такое Lorem Ipsum:
Lorem Ipsum - это просто фиктивный текст индустрии печати и набора текста.

Откуда он взялся:
Вопреки распространенному мнению, Lorem Ipsum - это не просто случайный текст.

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

text2:

Что такое Lorem Ipsum:
Lorem Ipsum - просто фиктивный текст индустрии печати и набора текста.

Другая тема:
Существует множество вариаций отрывков Lorem Ipsum.

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

text3:

Что такое Lorem Ipsum:
Lorem Ipsum - это просто фиктивный текст индустрии печати и набора текста.

Где этовзято из:
Вопреки распространенному мнению, Lorem Ipsum - это не просто случайный текст.

Некоторая другая тема:
Различные версии развивались на протяжении многих лет.

Iможет обработать этот текст с помощью Python для извлечения между начальной и конечной строкой.Код, используемый мной -

# This code is run once separately for each text variation 
import sys
s = "text1 or text2 or text3" # one at a time
start_String = s.find("What is Lorem Ipsum:")
end_String = s.find("Why do we use it:")
if start_String == -1 or end_String == -1:
    print("Not found")
    sys.exit(0)
print(s[start_String:end_String])

Но мое требование - это нечто иное.Мне нужен текст, относящийся только к «Что такое Lorem Ipsum:», «Откуда он взялся:», «Почему мы его используем:».

Ожидаемые результаты:
text1:

Что такое Lorem Ipsum:
Lorem Ipsum - просто фиктивный текст индустрии печати и набора текста.

Откуда он взялся:
Вопреки распространенному мнению, Lorem Ipsum - это не просто случайный текст.

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

text2:

Что такое Lorem Ipsum:
Lorem Ipsum - просто фиктивный текст в полиграфической и печатной индустрии.

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

text3:

Что такое Lorem Ipsum:
Lorem Ipsum - просто фиктивный текст в полиграфической и печатной индустрии.

Где этоисходят из:
Вопреки распространенному мнению, Lorem Ipsum - это не просто случайный текст.

У меня есть текстовая коллекция, подобная приведенной выше, в огромном наборе данных.Все, что мне нужно сделать, это извлечь только необходимый текст на основе необходимых тем.Как я могу реализовать это в Python?Надеюсь, я понял.

1 Ответ

0 голосов
/ 28 января 2019

Это дает именно то, что вы хотите:

my_list=["""What is Lorem Ipsum:
Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Where does it come from:
Contrary to popular belief, Lorem Ipsum is not simply random text.

Why do we use it:
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.""","""What is Lorem Ipsum:
Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Why do we use it:
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.""","""What is Lorem Ipsum:
Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Where does it come from:
Contrary to popular belief, Lorem Ipsum is not simply random text."""]


new_list =[]   ## Creating an empty list

for i in range(len(my_list)):
    new_list.extend(my_list[i].split(":"))
...