515 lines
125 KiB
Plaintext
515 lines
125 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "263af9e9",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"\n",
|
|
"import pickle\n",
|
|
"import tensorflow as tf\n",
|
|
"from tensorflow.keras.models import Model\n",
|
|
"from tensorflow.keras.layers import Input, Embedding, Bidirectional, LSTM, TimeDistributed, Dense\n",
|
|
"from tensorflow.keras.preprocessing.sequence import pad_sequences\n",
|
|
"from tensorflow.keras.utils import to_categorical\n",
|
|
"from sklearn.model_selection import train_test_split\n",
|
|
"from seqeval.metrics import classification_report\n",
|
|
"import matplotlib.pyplot as plt"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"id": "4fc87f1b",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"data = []\n",
|
|
"with open(\"../dataset/dataset_ner_srl.tsv\", encoding=\"utf-8\") as f:\n",
|
|
" tokens, ner_labels, srl_labels = [], [], []\n",
|
|
" for line in f:\n",
|
|
" line = line.strip()\n",
|
|
" if not line:\n",
|
|
" if tokens:\n",
|
|
" data.append({\n",
|
|
" \"tokens\": tokens,\n",
|
|
" \"labels_ner\": ner_labels,\n",
|
|
" \"labels_srl\": srl_labels\n",
|
|
" })\n",
|
|
" tokens, ner_labels, srl_labels = [], [], []\n",
|
|
" else:\n",
|
|
" token, ner, srl = line.split(\"\\t\")\n",
|
|
" tokens.append(token)\n",
|
|
" ner_labels.append(ner)\n",
|
|
" srl_labels.append(srl)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"id": "48553e6b",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"\n",
|
|
"# 2. Preprocessing\n",
|
|
"sentences = [[tok.lower() for tok in item[\"tokens\"]] for item in data]\n",
|
|
"labels_ner = [item[\"labels_ner\"] for item in data]\n",
|
|
"labels_srl = [item[\"labels_srl\"] for item in data]\n",
|
|
"\n",
|
|
"words = sorted({w for s in sentences for w in s})\n",
|
|
"ner_tags = sorted({t for seq in labels_ner for t in seq})\n",
|
|
"srl_tags = sorted({t for seq in labels_srl for t in seq})\n",
|
|
"\n",
|
|
"word2idx = {w: i + 2 for i, w in enumerate(words)}\n",
|
|
"word2idx[\"PAD\"], word2idx[\"UNK\"] = 0, 1\n",
|
|
"\n",
|
|
"tag2idx_ner = {t: i for i, t in enumerate(ner_tags)}\n",
|
|
"tag2idx_srl = {t: i for i, t in enumerate(srl_tags)}\n",
|
|
"idx2tag_ner = {i: t for t, i in tag2idx_ner.items()}\n",
|
|
"idx2tag_srl = {i: t for t, i in tag2idx_srl.items()}\n",
|
|
"\n",
|
|
"X = [[word2idx.get(w, word2idx[\"UNK\"]) for w in s] for s in sentences]\n",
|
|
"y_ner = [[tag2idx_ner[t] for t in seq] for seq in labels_ner]\n",
|
|
"y_srl = [[tag2idx_srl[t] for t in seq] for seq in labels_srl]\n",
|
|
"\n",
|
|
"maxlen = 50\n",
|
|
"X = pad_sequences(X, maxlen=maxlen, padding=\"post\", value=word2idx[\"PAD\"])\n",
|
|
"y_ner = pad_sequences(y_ner, maxlen=maxlen, padding=\"post\", value=tag2idx_ner[\"O\"])\n",
|
|
"y_srl = pad_sequences(y_srl, maxlen=maxlen, padding=\"post\", value=tag2idx_srl[\"O\"])\n",
|
|
"\n",
|
|
"y_ner = to_categorical(y_ner, num_classes=len(tag2idx_ner))\n",
|
|
"y_srl = to_categorical(y_srl, num_classes=len(tag2idx_srl))\n",
|
|
"\n",
|
|
"X_train, X_test, y_ner_train, y_ner_test, y_srl_train, y_srl_test = train_test_split(\n",
|
|
" X, y_ner, y_srl, test_size=0.2, random_state=42, shuffle=True\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"id": "1b4a1c61",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"functional_2\"</span>\n",
|
|
"</pre>\n"
|
|
],
|
|
"text/plain": [
|
|
"\u001b[1mModel: \"functional_2\"\u001b[0m\n"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n",
|
|
"┃<span style=\"font-weight: bold\"> Layer (type) </span>┃<span style=\"font-weight: bold\"> Output Shape </span>┃<span style=\"font-weight: bold\"> Param # </span>┃<span style=\"font-weight: bold\"> Connected to </span>┃\n",
|
|
"┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n",
|
|
"│ input_layer_2 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">50</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │ - │\n",
|
|
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">InputLayer</span>) │ │ │ │\n",
|
|
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
|
|
"│ embedding_2 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">50</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">46,016</span> │ input_layer_2[<span style=\"color: #00af00; text-decoration-color: #00af00\">0</span>]… │\n",
|
|
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Embedding</span>) │ │ │ │\n",
|
|
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
|
|
"│ bidirectional_2 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">50</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">66,048</span> │ embedding_2[<span style=\"color: #00af00; text-decoration-color: #00af00\">0</span>][<span style=\"color: #00af00; text-decoration-color: #00af00\">0</span>] │\n",
|
|
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Bidirectional</span>) │ │ │ │\n",
|
|
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
|
|
"│ ner_output │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">50</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">25</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">3,225</span> │ bidirectional_2[<span style=\"color: #00af00; text-decoration-color: #00af00\">…</span> │\n",
|
|
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">TimeDistributed</span>) │ │ │ │\n",
|
|
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
|
|
"│ srl_output │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">50</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">18</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">2,322</span> │ bidirectional_2[<span style=\"color: #00af00; text-decoration-color: #00af00\">…</span> │\n",
|
|
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">TimeDistributed</span>) │ │ │ │\n",
|
|
"└─────────────────────┴───────────────────┴────────────┴───────────────────┘\n",
|
|
"</pre>\n"
|
|
],
|
|
"text/plain": [
|
|
"┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n",
|
|
"┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mConnected to \u001b[0m\u001b[1m \u001b[0m┃\n",
|
|
"┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n",
|
|
"│ input_layer_2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m50\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ - │\n",
|
|
"│ (\u001b[38;5;33mInputLayer\u001b[0m) │ │ │ │\n",
|
|
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
|
|
"│ embedding_2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m50\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m46,016\u001b[0m │ input_layer_2[\u001b[38;5;34m0\u001b[0m]… │\n",
|
|
"│ (\u001b[38;5;33mEmbedding\u001b[0m) │ │ │ │\n",
|
|
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
|
|
"│ bidirectional_2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m50\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m66,048\u001b[0m │ embedding_2[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
|
|
"│ (\u001b[38;5;33mBidirectional\u001b[0m) │ │ │ │\n",
|
|
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
|
|
"│ ner_output │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m50\u001b[0m, \u001b[38;5;34m25\u001b[0m) │ \u001b[38;5;34m3,225\u001b[0m │ bidirectional_2[\u001b[38;5;34m…\u001b[0m │\n",
|
|
"│ (\u001b[38;5;33mTimeDistributed\u001b[0m) │ │ │ │\n",
|
|
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
|
|
"│ srl_output │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m50\u001b[0m, \u001b[38;5;34m18\u001b[0m) │ \u001b[38;5;34m2,322\u001b[0m │ bidirectional_2[\u001b[38;5;34m…\u001b[0m │\n",
|
|
"│ (\u001b[38;5;33mTimeDistributed\u001b[0m) │ │ │ │\n",
|
|
"└─────────────────────┴───────────────────┴────────────┴───────────────────┘\n"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">117,611</span> (459.42 KB)\n",
|
|
"</pre>\n"
|
|
],
|
|
"text/plain": [
|
|
"\u001b[1m Total params: \u001b[0m\u001b[38;5;34m117,611\u001b[0m (459.42 KB)\n"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">117,611</span> (459.42 KB)\n",
|
|
"</pre>\n"
|
|
],
|
|
"text/plain": [
|
|
"\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m117,611\u001b[0m (459.42 KB)\n"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n",
|
|
"</pre>\n"
|
|
],
|
|
"text/plain": [
|
|
"\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"\n",
|
|
"# 3. Model\n",
|
|
"input_layer = Input(shape=(maxlen,))\n",
|
|
"embedding_layer = Embedding(input_dim=len(word2idx), output_dim=64)(input_layer)\n",
|
|
"bilstm_layer = Bidirectional(LSTM(units=64, return_sequences=True))(embedding_layer)\n",
|
|
"\n",
|
|
"ner_output = TimeDistributed(Dense(len(tag2idx_ner), activation=\"softmax\"), name=\"ner_output\")(bilstm_layer)\n",
|
|
"srl_output = TimeDistributed(Dense(len(tag2idx_srl), activation=\"softmax\"), name=\"srl_output\")(bilstm_layer)\n",
|
|
"\n",
|
|
"model = Model(inputs=input_layer, outputs=[ner_output, srl_output])\n",
|
|
"model.compile(\n",
|
|
" optimizer=\"adam\",\n",
|
|
" loss={\n",
|
|
" \"ner_output\": \"categorical_crossentropy\",\n",
|
|
" \"srl_output\": \"categorical_crossentropy\",\n",
|
|
" },\n",
|
|
" metrics={\n",
|
|
" \"ner_output\": [tf.keras.metrics.CategoricalAccuracy(name=\"accuracy\")],\n",
|
|
" \"srl_output\": [tf.keras.metrics.CategoricalAccuracy(name=\"accuracy\")],\n",
|
|
" }\n",
|
|
")\n",
|
|
"\n",
|
|
"model.summary()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"id": "f41d6012",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Epoch 1/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 28ms/step - loss: 3.1783 - ner_output_accuracy: 0.8803 - ner_output_loss: 1.5415 - srl_output_accuracy: 0.7421 - srl_output_loss: 1.6365 - val_loss: 0.7449 - val_ner_output_accuracy: 0.9488 - val_ner_output_loss: 0.2727 - val_srl_output_accuracy: 0.8513 - val_srl_output_loss: 0.4722\n",
|
|
"Epoch 2/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 16ms/step - loss: 0.7761 - ner_output_accuracy: 0.9485 - ner_output_loss: 0.2537 - srl_output_accuracy: 0.8194 - srl_output_loss: 0.5225 - val_loss: 0.6895 - val_ner_output_accuracy: 0.9488 - val_ner_output_loss: 0.2616 - val_srl_output_accuracy: 0.8525 - val_srl_output_loss: 0.4279\n",
|
|
"Epoch 3/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 16ms/step - loss: 0.6680 - ner_output_accuracy: 0.9534 - ner_output_loss: 0.2254 - srl_output_accuracy: 0.8478 - srl_output_loss: 0.4425 - val_loss: 0.6540 - val_ner_output_accuracy: 0.9488 - val_ner_output_loss: 0.2505 - val_srl_output_accuracy: 0.8775 - val_srl_output_loss: 0.4036\n",
|
|
"Epoch 4/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 16ms/step - loss: 0.7246 - ner_output_accuracy: 0.9527 - ner_output_loss: 0.2277 - srl_output_accuracy: 0.8378 - srl_output_loss: 0.4968 - val_loss: 0.6080 - val_ner_output_accuracy: 0.9488 - val_ner_output_loss: 0.2360 - val_srl_output_accuracy: 0.8862 - val_srl_output_loss: 0.3720\n",
|
|
"Epoch 5/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 16ms/step - loss: 0.6014 - ner_output_accuracy: 0.9482 - ner_output_loss: 0.2188 - srl_output_accuracy: 0.8758 - srl_output_loss: 0.3826 - val_loss: 0.5843 - val_ner_output_accuracy: 0.9488 - val_ner_output_loss: 0.2298 - val_srl_output_accuracy: 0.8900 - val_srl_output_loss: 0.3546\n",
|
|
"Epoch 6/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 15ms/step - loss: 0.5891 - ner_output_accuracy: 0.9554 - ner_output_loss: 0.1810 - srl_output_accuracy: 0.8696 - srl_output_loss: 0.4080 - val_loss: 0.5570 - val_ner_output_accuracy: 0.9488 - val_ner_output_loss: 0.2211 - val_srl_output_accuracy: 0.8981 - val_srl_output_loss: 0.3359\n",
|
|
"Epoch 7/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 14ms/step - loss: 0.5565 - ner_output_accuracy: 0.9522 - ner_output_loss: 0.1804 - srl_output_accuracy: 0.8809 - srl_output_loss: 0.3762 - val_loss: 0.5325 - val_ner_output_accuracy: 0.9494 - val_ner_output_loss: 0.2112 - val_srl_output_accuracy: 0.9031 - val_srl_output_loss: 0.3214\n",
|
|
"Epoch 8/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 14ms/step - loss: 0.4922 - ner_output_accuracy: 0.9584 - ner_output_loss: 0.1499 - srl_output_accuracy: 0.8953 - srl_output_loss: 0.3423 - val_loss: 0.5081 - val_ner_output_accuracy: 0.9506 - val_ner_output_loss: 0.2005 - val_srl_output_accuracy: 0.9087 - val_srl_output_loss: 0.3076\n",
|
|
"Epoch 9/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 15ms/step - loss: 0.4629 - ner_output_accuracy: 0.9591 - ner_output_loss: 0.1441 - srl_output_accuracy: 0.9043 - srl_output_loss: 0.3188 - val_loss: 0.4793 - val_ner_output_accuracy: 0.9544 - val_ner_output_loss: 0.1867 - val_srl_output_accuracy: 0.9144 - val_srl_output_loss: 0.2925\n",
|
|
"Epoch 10/10\n",
|
|
"\u001b[1m64/64\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 15ms/step - loss: 0.4199 - ner_output_accuracy: 0.9601 - ner_output_loss: 0.1453 - srl_output_accuracy: 0.9213 - srl_output_loss: 0.2746 - val_loss: 0.4803 - val_ner_output_accuracy: 0.9581 - val_ner_output_loss: 0.1858 - val_srl_output_accuracy: 0.9112 - val_srl_output_loss: 0.2945\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"history = model.fit(\n",
|
|
" X_train,\n",
|
|
" {\"ner_output\": y_ner_train, \"srl_output\": y_srl_train},\n",
|
|
" validation_data=(X_test, {\"ner_output\": y_ner_test, \"srl_output\": y_srl_test}),\n",
|
|
" batch_size=2,\n",
|
|
" epochs=10,\n",
|
|
" verbose=1\n",
|
|
")\n",
|
|
"\n",
|
|
"# 5. Save artifacts\n",
|
|
"model.save(\"multi_task_lstm_ner_srl_model_tf.keras\")\n",
|
|
"with open(\"word2idx.pkl\", \"wb\") as f:\n",
|
|
" pickle.dump(word2idx, f)\n",
|
|
"with open(\"tag2idx_ner.pkl\", \"wb\") as f:\n",
|
|
" pickle.dump(tag2idx_ner, f)\n",
|
|
"with open(\"tag2idx_srl.pkl\", \"wb\") as f:\n",
|
|
" pickle.dump(tag2idx_srl, f)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"id": "333745fd",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABW4AAAJOCAYAAAAnP56mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XlYVGX/P/D37MMAw76LCKgsLmjgWpqWPrhkuZSmllvlY7mktvq0aT3f/LWZlWXbo5ZimqVmuWuaZWruG4uKKMoOCsM66/n9AYyOgKICZ4D367q4cM65z5nPGczOvLnnc0sEQRBARERERERERERERHZDKnYBRERERERERERERGSLwS0RERERERERERGRnWFwS0RERERERERERGRnGNwSERERERERERER2RkGt0RERERERERERER2hsEtERERERERERERkZ1hcEtERERERERERERkZxjcEhEREREREREREdkZBrdEREREREREREREdobBLRGRHdq9ezckEgl2794tdin1YsKECWjVqtUdHTt37lxIJJI6r4mIiIiIGjeJRIK5c+eKXUa9WLZsGSQSCS5cuHDbxzb19xZETRmDWyISReWNx6FDh8Qu5aYqQ8LKL41Gg5YtW2LIkCFYunQp9Hq92CXWqeuv9WZfvOkjIiKipu6LL76ARCJBt27dxC6lUakMCSu/VCoVfHx80KdPH7z77rvIyckRu8Q61adPn1rdPzfVQJmI6pdEEARB7CKIqPlZtmwZJk6ciIMHDyImJkbscmo0d+5czJs3D4sXL4aTkxP0ej3S0tKwdetW/P333+jYsSN+++03BAYG1unzWiwWGAwGKJVKSKUN9zu2FStW2Dz+/vvvsX37dixfvtxme//+/eHj43PHz2M0GmGxWKBSqW77WJPJBJPJBLVafcfPT0RERHQr9957L9LT03HhwgWcPXsWrVu3FrukRmH37t3o27cvZsyYgS5dusBsNiMnJwd///03fv31V7i4uODHH3/EAw88UOfPXVZWBrlcDrlcXufnrsn27duRlZVlfXzw4EF8+umn+M9//oOIiAjr9o4dO6Jjx453/DxmsxlGoxEqleq2P30m1nsLIrp7DfevGRFRI/boo4/C09PT+vjNN99EXFwcxo0bh8ceewz79++vk+cpKyuz3lCJEUw+8cQTNo/379+P7du3V9l+o5KS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IEaPHo2dO3di+fLlkMvlCA8Px48//ogRI0bUqs7KlXvVajU8PT3RqVMnLFmyBGPGjIFKpbIZGxsbi48++ggLFizAzJkzERMTg99++w0vvPDCXbxStefk5ITff/8d06dPxyeffAInJyeMGzcOPXv2xIgRI6w3WXXNw8PDep2vv/463Nzc8MQTT+DBBx+0+SicmKKjo7F582a8+OKLeOONNxAYGIi3334bCQkJSExMFLs8IiIiElFlGNW/f/9q90ulUgwePBhxcXHIy8uDh4cH/vzzT7z11ltYt24dvvvuO3h7e+PBBx+0Lh4mk8mwadMm/N///R9WrlyJn3/+GR4eHrjvvvvQoUMH67k/++wzGI1GfPnll1CpVBg5ciQ++OCDWy4iVkmhUODXX3/FjBkzrGs6DBs2DNOmTUNUVJTN2KioKOzfvx9vvPEGFi9ejLKyMgQFBVn7+F5vyJAhcHNzg8ViqTHQrsmnn35qrc3V1RURERGYN28ennnmGXh5edmM9fDwwLp16zB79my8/PLLCA4Oxvz583H27NkGCW4B4Pvvv4evry9++OEHrFu3Dv369cPq1asRFhZWb/fPqPgU3/Tp0/H5559DEAT861//wubNm+Hv719vz3k7xHpvQUTlJII9TYUiIqJ6s3DhQsyaNQuXL19GQECA2OXYlaFDh+L06dN21U+MiIiISGwmkwn+/v4YMmQI/ve//4ldToM7duwYOnfujBUrVmDs2LFil2NX+N6CqGGwxy0RURNUWlpq87isrAxfffUV2rRp0+xvrG58bc6ePYtNmzahT58+otVEREREZI/Wr1+PnJwcmwXPmqob7xFREU5KpVKbhXebI763IBIPWyUQETVBw4cPR8uWLdGpUycUFBRgxYoVSExMRFxcnNiliS4kJAQTJkxASEgILl68iMWLF0OpVOLll18WuzQiIiIiu3DgwAGcOHEC77zzDjp37oz7779f7JLq3fvvv4/Dhw+jb9++kMvl2Lx5MzZv3ozJkycjMDBQ7PJExfcWROJhcEtE1ATFxsbi22+/RVxcHMxmMyIjI7Fq1SqMGjVK7NJEN2DAAPzwww/IzMyESqVCjx498O6776JNmzZil0ZERERkFxYvXowVK1agU6dOWLZsmdjlNIiePXti+/bteOedd1BUVISWLVti7ty5eO2118QuTXR8b0EkHva4JSIiIiIiIiIiIrIz7HFLREREREREREREZGcY3BIRERERERERERHZmWbX49ZisSA9PR3Ozs6QSCRil0NEREREFQRBQGFhIfz9/SGVcn7B3eJ9LxEREZH9uZ173mYX3Kanpzf7FSGJiIiI7NmlS5fQokULscto9HjfS0RERGS/anPP2+yCW2dnZ6DixdFqtWKXQ0REREQVdDodAgMDrfdrdHd430tERERkf27nnrfZBbeVHxPTarW8gSUiIiKyQ/xYf93gfS8RERGR/arNPS+bhxERERERERERERHZGQa3RERERERERERERHaGwS0RERERERERERGRnWl2PW6JiIjo1sxmM4xGo9hlUBOjUCggk8nELoOIiIiIqFFgcEtERERWgiAgMzMT+fn5YpdCTZSrqyt8fX25ABkRERER0S0wuCUiIiKrytDW29sbGo2G4RrVGUEQUFJSguzsbACAn5+f2CUREREREdk1BrdEREQEVLRHqAxtPTw8xC6HmiAHBwcAQHZ2Nry9vdk2gYiIiIjoJrg4GREREQGAtaetRqMRuxRqwir/frGHMhERERHRzYka3O7ZswdDhgyBv78/JBIJ1q9ff8tj4uLiEBUVBY1GAz8/P0yaNAl5eXkNUi8REVFzwPYIVJ/494uIiIiIqHZEDW6Li4sRFRWFzz//vFbj9+7di3HjxuGpp57C6dOnsWbNGvzzzz945pln6r1WIiIiIiIiIiIiooYianA7cOBA/Pe//8WwYcNqNX7fvn1o1aoVZsyYgeDgYNx3333497//jX/++afeayUiIqLmpVWrVli4cGGtx+/evRsSiQT5+fn1WhcRERERETUPjarHbY8ePXDp0iVs2rQJgiAgKysLP/30EwYNGlTjMXq9HjqdzuaLiIiImg6JRHLTr7lz597ReQ8ePIjJkyfXenzPnj2RkZEBFxeXO3q+2mJATERERETUPMjFLuB23HvvvYiLi8OoUaNQVlYGk8mEIUOG3LTVwvz58zFv3rwGrZOIiIgaTkZGhvXPq1evxptvvomkpCTrNicnJ+ufBUGA2WyGXH7rWyAvL6/bqkOpVMLX1/e2jiEiIiIiIqpJo5pxGx8fj+effx5vvvkmDh8+jC1btuDChQuYMmVKjcfMmTMHBQUF1q9Lly41aM1ERERUv3x9fa1fLi4ukEgk1seJiYlwdnbG5s2bER0dDZVK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EjK5QBkRERERNS2/HEvDG+tPQVdmglohxWuDI/FEt5Zc24GIiIjoBgxu7VCE37UFyoiIiIiImoL8EgPe+OU0fj2eDgCIauGCBaM6IdTLSezSiIiIiOwSg1s7FOHnDAC4kFeMYr0Jjir+mIiIiIio8frzbA5eWnMCmboyyKQSTH+gNab2bQ2FTCp2aURERER2i4mgHfJwUsHbWYXsQj0SMwsRHeQmdklERERERLet1GDGe1sSsezvCwCAYE9HfDyqEzoFuopdGhEREZHdY3BrpyL8tMguzEFCho7BLRERERE1OicvF2Dm6qNIzikGADzZPQhzBoVDo+RbECIiIqLa4F2TnYr01+KPM+XBLRERERFRY2EyW7B4dzI+2XkWJosAL2cVPni0I/qEeYtdGhEREVGjwuDWTlUuUBbP4JaIiIiIGokLucWY9eMxHE3NBwAM6uCL/xvaAW6OSrFLIyIiImp0GNzaqciKBcqSMgthsQiQSiVil0REREREVC1BELDyn1T897cElBrNcFbJ8fbQdhjaKQASCe9jiYiIiO4Eg1s71crDESq5FCUGMy5eKUGwp6PYJRERERERVeu9LUn48o9kAED3EHd8NLITAlwdxC6LiIiIqFGTil0AVU8ukyLct3zWLfvcEhEREZE9GxnTAi4OCrw+OAIrn+7O0JaIiIioDjC4tWPWPrfpDG6JiIiIyH6FeDlh76sP4OleIWzxRURERFRHGNzascrgljNuiYiIiMjeOanYhY2IiIioLjG4tWMMbomIiIiIiIiIiJonBrd2LNyvvMdtekEZ8ksMYpdDREREREREREREDYTBrR3TqhUIdC9f2CGes26JiIiIiIiIiIiaDQa3di7Ct7JdQqHYpRAREREREREREVEDYXBr59jnloiIiIiIiIiIqPlhcGvnIv0Z3BIRERERERERETU3DG7tXGTFjNuzWUUwmi1il0NEREREREREREQNgMGtnWvh5gBnlRwGswXJOUVil0NEREREREREREQNgMGtnZNIJAj3cwbYLoGIiIiIiIiIiKjZYHDbCFxboKxQ7FKIiIiIiIiIiIioATC4bQQi/bhAGRERERERERERUXPC4LYRqJxxG5+ugyAIYpdDRERERERERERE9YzBbSMQ5usMqQTIKzYgp1AvdjlERERERERERERUzxjcNgJqhQzBno4AgHi2SyAiIiIiIiIiImryGNw2EpH+LgAXKCMiIiIiIiIiImoWGNw2EhF+zgBn3BIRERERERERETULDG4bicoFyhIY3BIRERERERERETV5DG4biciK4PZ8ThHKjGaxyyEiIiIiIiIiIqJ6xOC2kfB2VsHDUQmLAJzJYp9bIiIiooby+eefo1WrVlCr1ejWrRv++eefGscajUa8/fbbCA0NhVqtRlRUFLZs2WIzZv78+ejSpQucnZ3h7e2NoUOHIikpyWZMnz59IJFIbL6mTJlSb9dIRERERPaHwW0jIZFIrO0S4tPZLoGIiIioIaxevRqzZ8/GW2+9hSNHjiAqKgqxsbHIzs6udvzrr7+Or776Cp999hni4+MxZcoUDBs2DEePHrWO+eOPPzB16lTs378f27dvh9FoxL/+9S8UFxfbnOuZZ55BRkaG9ev999+v9+slIiIiIvvB4LYRqVygjH1uiYiIiBrGggUL8Mwzz2DixImIjIzEl19+CY1GgyVLllQ7fvny5fjPf/6DQYMGISQkBM8++ywGDRqEjz76yDpmy5YtmDBhAtq1a4eoqCgsW7YMqampOHz4sM25NBoNfH19rV9arbber5eIiIiI7AeD20bk2gJlbJVAREREVN8MBgMOHz6Mfv36WbdJpVL069cP+/btq/YYvV4PtVpts83BwQF//fVXjc9TUFAAAHB3d7fZHhcXB09PT7Rv3x5z5sxBSUnJXV4RERERETUmcrELoNqL9K8IbjN1EAQBEolE7JKIiIiImqzc3FyYzWb4+PjYbPfx8UFiYmK1x8TGxmLBggXo3bs3QkNDsXPnTqxduxZmc/WLy1osFsycORP33nsv2rdvb90+ZswYBAUFwd/fHydOnMArr7yCpKQkrF27tsZ69Xo99Hq99bFOx09pERERETVmDG4bkVAvJyhlUhSWmXD5aikC3TVil0RERERE1/nkk0/wzDPPIDw8HBKJBKGhoZg4cWKNrRWmTp2KU6dOVZmRO3nyZOufO3ToAD8/Pzz44INITk5GaGhoteeaP38+5s2bV8dXRERERERiYauERkQhk6K1txMAIJ59bomIiIjqlaenJ2QyGbKysmy2Z2VlwdfXt9pjvLy8sH79ehQXF+PixYtITEyEk5MTQkJCqoydNm0afvvtN+zatQstWrS4aS3dunUDAJw7d67GMXPmzEFBQYH169KlS7W8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",
|
|
"text/plain": [
|
|
"<Figure size 1400x600 with 2 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"\n",
|
|
"def plot_training_history(history):\n",
|
|
" epochs = range(1, len(history['loss']) + 1)\n",
|
|
"\n",
|
|
" plt.figure(figsize=(14, 6))\n",
|
|
"\n",
|
|
" # Plot Loss\n",
|
|
" plt.subplot(1, 2, 1)\n",
|
|
" plt.plot(epochs, history['loss'], label='Training Loss')\n",
|
|
" plt.plot(epochs, history['val_loss'], label='Validation Loss')\n",
|
|
" plt.title('Loss During Training')\n",
|
|
" plt.xlabel('Epochs')\n",
|
|
" plt.ylabel('Loss')\n",
|
|
" plt.legend()\n",
|
|
"\n",
|
|
" # Plot Accuracy\n",
|
|
" plt.subplot(1, 2, 2)\n",
|
|
" plt.plot(epochs, history['ner_output_accuracy'], label='NER Train Acc')\n",
|
|
" plt.plot(epochs, history['val_ner_output_accuracy'], label='NER Val Acc')\n",
|
|
" plt.plot(epochs, history['srl_output_accuracy'], label='SRL Train Acc')\n",
|
|
" plt.plot(epochs, history['val_srl_output_accuracy'], label='SRL Val Acc')\n",
|
|
" plt.title('Accuracy During Training')\n",
|
|
" plt.xlabel('Epochs')\n",
|
|
" plt.ylabel('Accuracy')\n",
|
|
" plt.legend()\n",
|
|
"\n",
|
|
" plt.tight_layout()\n",
|
|
" plt.show()\n",
|
|
" \n",
|
|
"plot_training_history(history.history)\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"id": "df36e200",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"loss: 0.48032140731811523\n",
|
|
"compile_metrics: 0.18580493330955505\n",
|
|
"ner_output_loss: 0.2945164740085602\n",
|
|
"srl_output_loss: 0.9581250548362732\n",
|
|
"NER Token Accuracy 95.81%\n",
|
|
"SRL Token Accuracy 91.12%\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def token_level_accuracy(y_true, y_pred):\n",
|
|
" total, correct = 0, 0\n",
|
|
" for true_seq, pred_seq in zip(y_true, y_pred):\n",
|
|
" for t, p in zip(true_seq, pred_seq):\n",
|
|
" if t.sum() == 0:\n",
|
|
" continue\n",
|
|
" total += 1\n",
|
|
" if t.argmax() == p.argmax():\n",
|
|
" correct += 1\n",
|
|
" return correct / total\n",
|
|
"\n",
|
|
"def decode_predictions(pred, true, idx2tag):\n",
|
|
" true_out, pred_out = [], []\n",
|
|
" for pred_seq, true_seq in zip(pred, true):\n",
|
|
" t_labels, p_labels = [], []\n",
|
|
" for p_tok, t_tok in zip(pred_seq, true_seq):\n",
|
|
" if t_tok.sum() == 0:\n",
|
|
" continue\n",
|
|
" t_labels.append(idx2tag[t_tok.argmax()])\n",
|
|
" p_labels.append(idx2tag[p_tok.argmax()])\n",
|
|
" true_out.append(t_labels)\n",
|
|
" pred_out.append(p_labels)\n",
|
|
" return true_out, pred_out\n",
|
|
"\n",
|
|
"results = model.evaluate(X_test, {\"ner_output\": y_ner_test, \"srl_output\": y_srl_test}, verbose=0)\n",
|
|
"for name, value in zip(model.metrics_names, results):\n",
|
|
" print(f\"{name}: {value}\")\n",
|
|
"\n",
|
|
"y_pred_ner, y_pred_srl = model.predict(X_test, verbose=0)\n",
|
|
"\n",
|
|
"true_ner, pred_ner = decode_predictions(y_pred_ner, y_ner_test, idx2tag_ner)\n",
|
|
"true_srl, pred_srl = decode_predictions(y_pred_srl, y_srl_test, idx2tag_srl)\n",
|
|
"\n",
|
|
"acc_ner = token_level_accuracy(y_ner_test, y_pred_ner)\n",
|
|
"acc_srl = token_level_accuracy(y_srl_test, y_pred_srl)\n",
|
|
"\n",
|
|
"print(f\"NER Token Accuracy {acc_ner:.2%}\")\n",
|
|
"print(f\"SRL Token Accuracy {acc_srl:.2%}\")\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"id": "9127cce0",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"[NER] Classification Report:\n",
|
|
" precision recall f1-score support\n",
|
|
"\n",
|
|
" DATE 0.80 0.36 0.50 11\n",
|
|
" EVENT 0.00 0.00 0.00 1\n",
|
|
" LOC 1.00 0.38 0.55 21\n",
|
|
" MIN 0.00 0.00 0.00 3\n",
|
|
" MISC 0.00 0.00 0.00 1\n",
|
|
" ORG 0.00 0.00 0.00 3\n",
|
|
" PER 0.00 0.00 0.00 2\n",
|
|
" RES 0.00 0.00 0.00 2\n",
|
|
" TIME 0.33 0.38 0.35 8\n",
|
|
"\n",
|
|
" micro avg 0.68 0.29 0.41 52\n",
|
|
" macro avg 0.24 0.12 0.16 52\n",
|
|
"weighted avg 0.62 0.29 0.38 52\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n",
|
|
" _warn_prf(average, modifier, msg_start, len(result))\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"[NER] Classification Report:\")\n",
|
|
"print(classification_report(true_ner, pred_ner, digits=2))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"id": "300897b8",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"SRL Classification Resport:\n",
|
|
" precision recall f1-score support\n",
|
|
"\n",
|
|
" FRQ 0.00 0.00 0.00 1\n",
|
|
" LOC 0.27 0.43 0.33 7\n",
|
|
" MNR 0.00 0.00 0.00 3\n",
|
|
" PRP 0.00 0.00 0.00 1\n",
|
|
" RG0 0.38 0.18 0.24 17\n",
|
|
" RG1 0.23 0.21 0.22 47\n",
|
|
" RG2 0.18 0.27 0.21 11\n",
|
|
" RG3 0.00 0.00 0.00 3\n",
|
|
" TMP 0.55 0.61 0.58 18\n",
|
|
" _ 0.40 0.12 0.19 33\n",
|
|
"\n",
|
|
" micro avg 0.31 0.24 0.27 141\n",
|
|
" macro avg 0.20 0.18 0.18 141\n",
|
|
"weighted avg 0.31 0.24 0.25 141\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: ARG1 seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n",
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: ARG0 seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n",
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: V seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n",
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: ARGM-TMP seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n",
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: ARGM-PRP seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n",
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: ARGM-LOC seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n",
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: ARG2 seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n",
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: ARGM-MNR seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n",
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: ARGM-FRQ seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n",
|
|
"/mnt/disc1/code/thesis_quiz_project/lstm-quiz/myenv/lib64/python3.10/site-packages/seqeval/metrics/sequence_labeling.py:171: UserWarning: ARG3 seems not to be NE tag.\n",
|
|
" warnings.warn('{} seems not to be NE tag.'.format(chunk))\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"SRL Classification Resport:\")\n",
|
|
"print(classification_report(true_srl, pred_srl, digits=2))"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "myenv",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.10.16"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|