| 164 | self.sents = self.extract_sentences() |
| 165 | |
| 166 | def extract_sentences(self): |
| 167 | offset = 0 |
| 168 | ent_iter = iter(self.ents) |
| 169 | ent = next(ent_iter, None) |
| 170 | sents = [] |
| 171 | for text in self.text.split('。'): |
| 172 | sent_ents = [] |
| 173 | while (ent is not None and |
| 174 | ent.start_pos >= offset and |
| 175 | ent.end_pos <= offset + len(text)): |
| 176 | sent_ents.append(ent.offset(-offset)) |
| 177 | ent = next(ent_iter, None) |
| 178 | sent = Sentence(self.doc_id, offset, text, sent_ents) |
| 179 | sents.append(sent) |
| 180 | offset += len(text) + 1 |
| 181 | return sents |
| 182 | |
| 183 | def pad(self, pad_left=0, pad_right=0, pad_val=" "): |
| 184 | text = pad_left * pad_val + self.text + pad_right * pad_val |