Spaces:
Paused
Paused
tt
Browse files- tutorial.ipynb +28 -12
tutorial.ipynb
CHANGED
|
@@ -5,7 +5,9 @@
|
|
| 5 |
"cell_type": "markdown",
|
| 6 |
"metadata": {},
|
| 7 |
"source": [
|
| 8 |
-
"## tokenizer"
|
|
|
|
|
|
|
| 9 |
]
|
| 10 |
},
|
| 11 |
{
|
|
@@ -14,48 +16,62 @@
|
|
| 14 |
"metadata": {},
|
| 15 |
"outputs": [],
|
| 16 |
"source": [
|
|
|
|
| 17 |
"from transformers import AutoTokenizer\n",
|
| 18 |
"tokenizer = AutoTokenizer.from_pretrained(\"liam168/c2-roberta-base-finetuned-dianping-chinese\")"
|
| 19 |
]
|
| 20 |
},
|
| 21 |
{
|
| 22 |
"cell_type": "code",
|
| 23 |
-
"execution_count":
|
| 24 |
"metadata": {},
|
| 25 |
"outputs": [
|
| 26 |
{
|
| 27 |
"name": "stdout",
|
| 28 |
"output_type": "stream",
|
| 29 |
"text": [
|
| 30 |
-
"['这', '是', '中', '英', '文', 'test', '语', '句', ',', 'mix', '中', '英', '文', '及', '标', '点', '符', '号']\n"
|
|
|
|
| 31 |
]
|
| 32 |
}
|
| 33 |
],
|
| 34 |
"source": [
|
|
|
|
| 35 |
"input = \"这是中英文test语句,mix中英文及标点符号\"\n",
|
| 36 |
-
"
|
| 37 |
-
"
|
| 38 |
-
"print(
|
|
|
|
| 39 |
]
|
| 40 |
},
|
| 41 |
{
|
| 42 |
"cell_type": "code",
|
| 43 |
-
"execution_count":
|
| 44 |
"metadata": {},
|
| 45 |
"outputs": [
|
| 46 |
{
|
| 47 |
"name": "stdout",
|
| 48 |
"output_type": "stream",
|
| 49 |
"text": [
|
| 50 |
-
"
|
| 51 |
-
" 9678, 704, 5739, 3152, 1350, 3403, 4157, 5016, 1384, 102]])
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
]
|
| 53 |
}
|
| 54 |
],
|
| 55 |
"source": [
|
| 56 |
-
"
|
| 57 |
-
"
|
| 58 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
]
|
| 60 |
}
|
| 61 |
],
|
|
|
|
| 5 |
"cell_type": "markdown",
|
| 6 |
"metadata": {},
|
| 7 |
"source": [
|
| 8 |
+
"## tokenizer\n",
|
| 9 |
+
"\n",
|
| 10 |
+
"tokenizer负责将输入的字符串,转换为token,或者转换为ids序列"
|
| 11 |
]
|
| 12 |
},
|
| 13 |
{
|
|
|
|
| 16 |
"metadata": {},
|
| 17 |
"outputs": [],
|
| 18 |
"source": [
|
| 19 |
+
"# 导入模型\n",
|
| 20 |
"from transformers import AutoTokenizer\n",
|
| 21 |
"tokenizer = AutoTokenizer.from_pretrained(\"liam168/c2-roberta-base-finetuned-dianping-chinese\")"
|
| 22 |
]
|
| 23 |
},
|
| 24 |
{
|
| 25 |
"cell_type": "code",
|
| 26 |
+
"execution_count": 16,
|
| 27 |
"metadata": {},
|
| 28 |
"outputs": [
|
| 29 |
{
|
| 30 |
"name": "stdout",
|
| 31 |
"output_type": "stream",
|
| 32 |
"text": [
|
| 33 |
+
"['这', '是', '中', '英', '文', 'test', '语', '句', ',', 'mix', '中', '英', '文', '及', '标', '点', '符', '号']\n",
|
| 34 |
+
"['测', '试', 'mix', '中', '英', '文', '及', '标', '点', '符', '号']\n"
|
| 35 |
]
|
| 36 |
}
|
| 37 |
],
|
| 38 |
"source": [
|
| 39 |
+
"# 转换为token\n",
|
| 40 |
"input = \"这是中英文test语句,mix中英文及标点符号\"\n",
|
| 41 |
+
"input_array = [\"测试\",\"mix中英文及标点符号\"]\n",
|
| 42 |
+
"print(tokenizer.tokenize(input))\n",
|
| 43 |
+
"print(tokenizer.tokenize(input_array))\n",
|
| 44 |
+
"\n"
|
| 45 |
]
|
| 46 |
},
|
| 47 |
{
|
| 48 |
"cell_type": "code",
|
| 49 |
+
"execution_count": 18,
|
| 50 |
"metadata": {},
|
| 51 |
"outputs": [
|
| 52 |
{
|
| 53 |
"name": "stdout",
|
| 54 |
"output_type": "stream",
|
| 55 |
"text": [
|
| 56 |
+
"tensor([[ 101, 6821, 3221, 704, 5739, 3152, 10060, 6427, 1368, 8024,\n",
|
| 57 |
+
" 9678, 704, 5739, 3152, 1350, 3403, 4157, 5016, 1384, 102]])\n",
|
| 58 |
+
"tensor([[ 101, 3844, 6407, 102, 9678, 704, 5739, 3152, 1350, 3403, 4157, 5016,\n",
|
| 59 |
+
" 1384, 102]])\n",
|
| 60 |
+
"['[CLS]', '这', '是', '中', '英', '文', 'test', '语', '句', ',', 'mix', '中', '英', '文', '及', '标', '点', '符', '号', '[SEP]']\n",
|
| 61 |
+
"['[CLS]', '测', '试', '[SEP]', 'mix', '中', '英', '文', '及', '标', '点', '符', '号', '[SEP]']\n"
|
| 62 |
]
|
| 63 |
}
|
| 64 |
],
|
| 65 |
"source": [
|
| 66 |
+
"#转换为id序列\n",
|
| 67 |
+
"ids = tokenizer(input,padding=True,truncation=True,max_length=512,return_tensors=\"pt\")\n",
|
| 68 |
+
"print(ids.input_ids)\n",
|
| 69 |
+
"idss = tokenizer([input_array],padding=True,truncation=True,max_length=512,return_tensors=\"pt\")\n",
|
| 70 |
+
"print(idss.input_ids)\n",
|
| 71 |
+
"\n",
|
| 72 |
+
"#将ids序列,又解码成为token\n",
|
| 73 |
+
"print(tokenizer.convert_ids_to_tokens(ids.input_ids[0]))\n",
|
| 74 |
+
"print(tokenizer.convert_ids_to_tokens(idss.input_ids[0]))"
|
| 75 |
]
|
| 76 |
}
|
| 77 |
],
|