dongxiaoqun commited on
Commit ·
2794e9d
1
Parent(s): ee0ea74
Update README.md
Browse files
README.md
CHANGED
|
@@ -25,7 +25,39 @@ Task: Summarization
|
|
| 25 |
import jieba_fast as jieba
|
| 26 |
jieba.initialize()
|
| 27 |
from transformers import PegasusForConditionalGeneration,BertTokenizer
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
model = PegasusForConditionalGeneration.from_pretrained('dongxq/test_model')
|
| 30 |
tokenizer = BertTokenizer.from_pretrained('dongxq/test_model')
|
| 31 |
|
|
|
|
| 25 |
import jieba_fast as jieba
|
| 26 |
jieba.initialize()
|
| 27 |
from transformers import PegasusForConditionalGeneration,BertTokenizer
|
| 28 |
+
class PegasusTokenizer(BertTokenizer):
|
| 29 |
+
model_input_names = ["input_ids", "attention_mask"]
|
| 30 |
+
def __init__(self, **kwargs):
|
| 31 |
+
super().__init__(pre_tokenizer=lambda x: jieba.cut(x, HMM=False), **kwargs)
|
| 32 |
+
self.add_special_tokens({'additional_special_tokens':["<mask_1>"]})
|
| 33 |
+
|
| 34 |
+
def build_inputs_with_special_tokens(
|
| 35 |
+
self,
|
| 36 |
+
token_ids_0: List[int],
|
| 37 |
+
token_ids_1: Optional[List[int]] = None) -> List[int]:
|
| 38 |
+
|
| 39 |
+
if token_ids_1 is None:
|
| 40 |
+
return token_ids_0 + [self.eos_token_id]
|
| 41 |
+
return token_ids_0 + token_ids_1 + [self.eos_token_id]
|
| 42 |
+
|
| 43 |
+
def _special_token_mask(self, seq):
|
| 44 |
+
all_special_ids = set(
|
| 45 |
+
self.all_special_ids) # call it once instead of inside list comp
|
| 46 |
+
# all_special_ids.remove(self.unk_token_id) # <unk> is only sometimes special
|
| 47 |
+
return [1 if x in all_special_ids else 0 for x in seq]
|
| 48 |
+
|
| 49 |
+
def get_special_tokens_mask(
|
| 50 |
+
self,
|
| 51 |
+
token_ids_0: List[int],
|
| 52 |
+
token_ids_1: Optional[List[int]] = None,
|
| 53 |
+
already_has_special_tokens: bool = False) -> List[int]:
|
| 54 |
+
if already_has_special_tokens:
|
| 55 |
+
return self._special_token_mask(token_ids_0)
|
| 56 |
+
elif token_ids_1 is None:
|
| 57 |
+
return self._special_token_mask(token_ids_0) + [self.eos_token_id]
|
| 58 |
+
else:
|
| 59 |
+
return self._special_token_mask(token_ids_0 +
|
| 60 |
+
token_ids_1) + [self.eos_token_id]
|
| 61 |
model = PegasusForConditionalGeneration.from_pretrained('dongxq/test_model')
|
| 62 |
tokenizer = BertTokenizer.from_pretrained('dongxq/test_model')
|
| 63 |
|