使用python提取基于文本主题的子文本(数据清理/提取/处理)

时间:2019-01-28 13:18:57

标签: python text nlp data-cleaning

考虑文字1:

  

什么是Lorem Ipsum:
  Lorem Ipsum只是印刷和排版行业的伪文本。

     

它来自哪里:
  与普遍的看法相反,Lorem Ipsum不仅仅是简单的随机文本。

     

为什么要使用它:
  一个长期的事实是,读者将成为   在查看页面布局时会被页面的可读内容分散注意力。

text2:

  

什么是Lorem Ipsum:
  Lorem Ipsum只是印刷和排版行业的伪文本。

     

其他主题:
  Lorem Ipsum的段落有很多变化。

     

为什么要使用它:
  一个长期的事实是,读者将成为   在查看页面布局时会被页面的可读内容分散注意力。

text3:

  

什么是Lorem Ipsum:
  Lorem Ipsum只是印刷和排版行业的伪文本。

     

它来自哪里:
  与普遍的看法相反,Lorem Ipsum不仅仅是简单的随机文本。

     

其他一些主题:
  这些年来,各种版本都有所发展。

我可以使用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:”,“它来自何处:”,“我们为什么使用它:”相关的文本。

预期结果:
文字1:

  

什么是Lorem Ipsum:
  Lorem Ipsum只是印刷和排版行业的伪文本。

     

它来自哪里:
  与普遍的看法相反,Lorem Ipsum不仅仅是简单的随机文本。

     

为什么要使用它:
  一个长期的事实是,读者将成为   在查看页面布局时会被页面的可读内容分散注意力。

text2:

  

什么是Lorem Ipsum:
  Lorem Ipsum只是印刷和排版行业的伪文本。

     

为什么要使用它:
  一个长期的事实是,读者将成为   在查看页面布局时会被页面的可读内容分散注意力。

text3:

  

什么是Lorem Ipsum:
  Lorem Ipsum只是印刷和排版行业的伪文本。

     

它来自哪里:
  与普遍的看法相反,Lorem Ipsum不仅仅是简单的随机文本。

我在一个巨大的数据集中拥有如上所述的文本集合。我需要做的只是基于必要主题提取所需的子文本。我如何在python中实现呢?我希望我有道理。

1 个答案:

答案 0 :(得分:0)

这正是您想要的:

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(":"))