alpertml/TopicModelingForSummarization
0
1### Imports2import stanza3import pandas as pd4import traceback5 6class StanzaSegmentizer:7 ##==========================================================================================================8 """9 Definition of attributes10 """11 __nlp_stanza = None12 ##==========================================================================================================13 """14 Function: __init__15 """16 def __init__(self):17 try:18 if self.__nlp_stanza == None:19 print("Initializing stanza")20 self.initialize_stanza()21 except Exception as excMsg:22 print(excMsg)23 ##==========================================================================================================24 """25 Function: initialize_stanza26 """27 def initialize_stanza(self):28 try: 29 self.__nlp_stanza = stanza.Pipeline('en')30 except Exception as excmsg:31 print(f"An error happens in initialize_spacy(...) {traceback.format_exc()}.")32 self.__nlp_stanza = None33 return self.__nlp_stanza34 ##==========================================================================================================35 """36 Function: segment_into_sentences37 """38 def segment_into_sentences(self, src_text="", _format="str"):39 intermediate_result = None40 41 if isinstance(src_text, str):42 intermediate_result = [s for s in (self.__nlp_stanza(src_text)).sentences]43 elif isinstance(src_text, list):44 intermediate_result = list()45 46 for sent in src_text:47 intermediate_result.extend([s for s in (self.__nlp_stanza(sent)).sentences])48 49 if _format == "str":50 sentences_new_doc = list()51 52 for intsent in intermediate_result:53 sentences_new_doc.append(intsent.text)54 return sentences_new_doc55 else:56 return intermediate_result57 ##==========================================================================================================58 59##==========================================================================================================