Beispiel #1
0
 def run_modules(self, modules: list):
     module: BaseModule
     cluster = Cluster()
     for module in modules:
         command = module.get_command()
         cluster = command(cluster)
     CoreNLP().close()
     print()
Beispiel #2
0
 def _summarize(self, cluster: Cluster) -> Cluster:
     doc_id: str
     doc: Document
     for doc_id, doc in cluster.items():
         combined_doc = self._combine_document(doc)
         summ_doc = self._extract_summ_doc(combined_doc)
         summary = self._generate_summ(summ_doc)
         setattr(doc, 'summary', summary)
     return cluster
 def _gen_summaries(self, cluster: Cluster) -> Cluster:
     doc_id: int
     doc: Document
     for doc_id, doc in cluster.items():
         if not hasattr(doc, 'summary'):
             raise Exception(f'Summary not found for document {doc_id}')
         file_name = f'{doc_id}.system'
         file = open(os.path.join(self.folder, file_name), 'w')
         file.write(' '.join([sent.text for sent in doc.summary]))
         file.close()
     return cluster
 def _summarize(self, cluster: Cluster):
     doc_id: str
     doc: Document
     for doc_id, doc in cluster.items():
         summary = list()
         sentence: Sentence
         for sentence in doc.bodies[:self._params['n_lines']]:
             summary_sent = Sentence()
             summary_sent.text = sentence.text
             summary_sent.pos = len(summary)
             summary.append(summary_sent)
         setattr(doc, 'summary', summary)
     return cluster
 def _annotate(self, cluster: Cluster):
     doc_id: str
     doc: Document
     for doc_id, doc in cluster.items():
         sent: Sentence
         for sent in doc.bodies:
             if self._context.annotation == 'tokenize':
                 self._tokenize(sent)
             elif self._context.annotation == 'pos-tag':
                 self._pos_tag(sent)
             elif self._context.annotation == 'dependency':
                 self._parse_dep(sent)
     return cluster
 def add_module_code(self, cluster: Cluster) -> Cluster:
     if self._context.annotation == 'tokenize':
         cluster.append_code('tokenize')
     elif self._context.annotation == 'pos-tag':
         cluster.append_code('pos-tag')
     elif self._context.annotation == 'dependency':
         cluster.append_code('dependency')
     return cluster
 def _gen_summaries(self, cluster: Cluster) -> Cluster:
     doc_id: int
     doc: Document
     for doc_id, doc in cluster.items():
         file_name = f'{doc_id}'
         file = open(os.path.join(self.folder, file_name), 'w')
         result = ''
         example: Example
         for example in doc.gold_summaries:
             result += ' '.join([sent.text
                                 for sent in example.sentences]) + '\n'
         file.write(result.strip())
         file.close()
     return cluster
 def add_module_code(self, cluster: Cluster) -> Cluster:
     cluster.append_code('lead')
     return cluster