\n",
"\n",
"This tutorial is available as an IPython notebook at [Malaya/example/text-to-kg](https://github.com/huseinzol05/Malaya/tree/master/example/text-to-kg).\n",
" \n",
"
\n",
"\n",
"This module only trained on standard language structure, so it is not save to use it for local language structure.\n",
" \n",
"
"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"\n",
"os.environ['CUDA_VISIBLE_DEVICES'] = ''"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/husein/.local/lib/python3.8/site-packages/bitsandbytes/cextension.py:34: UserWarning: The installed version of bitsandbytes was compiled without GPU support. 8-bit optimizers, 8-bit multiplication, and GPU quantization are unavailable.\n",
" warn(\"The installed version of bitsandbytes was compiled without GPU support. \"\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"/home/husein/.local/lib/python3.8/site-packages/bitsandbytes/libbitsandbytes_cpu.so: undefined symbol: cadam32bit_grad_fp32\n",
"CPU times: user 2.9 s, sys: 2.53 s, total: 5.43 s\n",
"Wall time: 2.58 s\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/husein/dev/malaya/malaya/tokenizer.py:214: FutureWarning: Possible nested set at position 3397\n",
" self.tok = re.compile(r'({})'.format('|'.join(pipeline)))\n",
"/home/husein/dev/malaya/malaya/tokenizer.py:214: FutureWarning: Possible nested set at position 3927\n",
" self.tok = re.compile(r'({})'.format('|'.join(pipeline)))\n"
]
}
],
"source": [
"%%time\n",
"\n",
"import malaya"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### List available HuggingFace model"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"{'mesolitica/finetune-ttkg-t5-tiny-standard-bahasa-cased': {'Size (MB)': 139,\n",
" 'BLEU': 61.06784273649806,\n",
" 'SacreBLEU Verbose': '86.1/68.4/55.8/45.9 (BP = 0.980 ratio = 0.980 hyp_len = 138209 ref_len = 141004)',\n",
" 'Suggested length': 512},\n",
" 'mesolitica/finetune-ttkg-t5-small-standard-bahasa-cased': {'Size (MB)': 242,\n",
" 'BLEU': 61.559202822392486,\n",
" 'SacreBLEU Verbose': '86.0/68.4/56.1/46.3 (BP = 0.984 ratio = 0.984 hyp_len = 138806 ref_len = 141004)',\n",
" 'Suggested length': 512},\n",
" 'mesolitica/finetune-ttkg-t5-base-standard-bahasa-cased': {'Size (MB)': 892,\n",
" 'BLEU': 58.764876478744064,\n",
" 'SacreBLEU Verbose': '84.5/65.8/53.0/43.1 (BP = 0.984 ratio = 0.985 hyp_len = 138828 ref_len = 141004)',\n",
" 'Suggested length': 512}}"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"malaya.knowledge_graph.available_huggingface"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tested on test set 02 part translated KELM, https://huggingface.co/datasets/mesolitica/translated-KELM\n"
]
}
],
"source": [
"print(malaya.knowledge_graph.info)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Load HuggingFace model\n",
"\n",
"```python\n",
"def huggingface(\n",
" model: str = 'mesolitica/finetune-ttkg-t5-small-standard-bahasa-cased',\n",
" force_check: bool = True,\n",
" **kwargs,\n",
"):\n",
" \"\"\"\n",
" Load HuggingFace model to convert text to triplet format knowledge graph.\n",
"\n",
" Parameters\n",
" ----------\n",
" model: str, optional (default='mesolitica/finetune-ttkg-t5-small-standard-bahasa-cased')\n",
" Check available models at `malaya.knowledge_graph.available_huggingface`.\n",
" force_check: bool, optional (default=True)\n",
" Force check model one of malaya model.\n",
" Set to False if you have your own huggingface model.\n",
"\n",
" Returns\n",
" -------\n",
" result: malaya.torch_model.huggingface.TexttoKG\n",
" \"\"\"\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Loading the tokenizer from the `special_tokens_map.json` and the `added_tokens.json` will be removed in `transformers 5`, it is kept for forward compatibility, but it is recommended to update your `tokenizer_config.json` by uploading it again. You will see the new `added_tokens_decoder` attribute that will store the relevant information.\n",
"You are using the default legacy behaviour of the . If you see this, DO NOT PANIC! This is expected, and simply means that the `legacy` (previous) behavior will be used so nothing changes for you. If you want to use the new behaviour, set `legacy=False`. This should only be set if you understand what it means, and thouroughly read the reason why this was added as explained in https://github.com/huggingface/transformers/pull/24565\n"
]
}
],
"source": [
"model = malaya.knowledge_graph.huggingface()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"string1 = \"Yang Berhormat Dato Sri Haji Mohammad Najib bin Tun Haji Abdul Razak ialah ahli politik Malaysia dan merupakan bekas Perdana Menteri Malaysia ke-6 yang mana beliau menjawat jawatan dari 3 April 2009 hingga 9 Mei 2018. Beliau juga pernah berkhidmat sebagai bekas Menteri Kewangan dan merupakan Ahli Parlimen Pekan Pahang\"\n",
"string2 = \"Pahang ialah negeri yang ketiga terbesar di Malaysia Terletak di lembangan Sungai Pahang yang amat luas negeri Pahang bersempadan dengan Kelantan di utara Perak Selangor serta Negeri Sembilan di barat Johor di selatan dan Terengganu dan Laut China Selatan di timur.\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Predict\n",
"\n",
"```python\n",
"def generate(self, strings: List[Dict], got_networkx: bool = True, **kwargs):\n",
" \"\"\"\n",
" Generate list of knowledge graphs from the input.\n",
"\n",
" Parameters\n",
" ----------\n",
" strings : List[str]\n",
" got_networkx: bool, optional (default=True)\n",
" If True, will generate networkx.MultiDiGraph.\n",
" **kwargs: vector arguments pass to huggingface `generate` method.\n",
" Read more at https://huggingface.co/docs/transformers/main_classes/text_generation\n",
"\n",
" Returns\n",
" -------\n",
" result: List[List[Dict]]\n",
" \"\"\"\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"spaces_between_special_tokens is deprecated and will be removed in transformers v5. It was adding spaces between `added_tokens`, not special tokens, and does not exist in our fast implementation. Future tokenizers will handle the decoding process on a per-model rule.\n"
]
}
],
"source": [
"r = model.generate([string1, string2], max_length = 256)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'G': ,\n",
" 'triple': [{'head': 'Mohammad Najib',\n",
" 'type': 'occupation',\n",
" 'tail': 'Politician'},\n",
" {'head': 'Mohammad Najib',\n",
" 'type': 'position held',\n",
" 'tail': 'Prime Minister of Malaysia'},\n",
" {'head': 'Mohammad Najib',\n",
" 'type': 'country of citizenship',\n",
" 'tail': 'Malaysia'}],\n",
" 'rebel': ' Mohammad Najib Politician occupation Prime Minister of Malaysia position held Malaysia country of citizenship'},\n",
" {'G': ,\n",
" 'triple': [{'head': 'Pahang', 'type': 'country', 'tail': 'Malaysia'},\n",
" {'head': 'Pahang', 'type': 'shares border with', 'tail': 'Perak'},\n",
" {'head': 'Pahang', 'type': 'shares border with', 'tail': 'Johor'},\n",
" {'head': 'Pahang', 'type': 'shares border with', 'tail': 'Terengganu'},\n",
" {'head': 'Pahang', 'type': 'shares border with', 'tail': 'Negeri Sembilan'},\n",
" {'head': 'Pahang',\n",
" 'type': 'located in or next to body of water',\n",
" 'tail': 'South China Sea'},\n",
" {'head': 'Pahang', 'type': 'shares border with', 'tail': 'Kelantan'},\n",
" {'head': 'Pahang', 'type': 'shares border with', 'tail': 'Johor'},\n",
" {'head': 'Pahang',\n",
" 'type': 'located in the administrative territorial entity',\n",
" 'tail': 'Malaysia'}],\n",
" 'rebel': ' Pahang Malaysia country Perak shares border with Johor shares border with Terengganu shares border with Negeri Sembilan shares border with South China Sea located in or next to body of water Kelantan shares border with Johor shares border with Malaysia located in the administrative territorial entity'}]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"r"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import networkx as nx\n",
"\n",
"g = r[0]['G']\n",
"plt.figure(figsize=(6, 6))\n",
"pos = nx.spring_layout(g)\n",
"nx.draw(g, with_labels=True, node_color='skyblue', edge_cmap=plt.cm.Blues, pos = pos)\n",
"nx.draw_networkx_edge_labels(g, pos=pos)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"g = r[1]['G']\n",
"plt.figure(figsize=(6, 6))\n",
"pos = nx.spring_layout(g)\n",
"nx.draw(g, with_labels=True, node_color='skyblue', edge_cmap=plt.cm.Blues, pos = pos)\n",
"nx.draw_networkx_edge_labels(g, pos=pos)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Combine multiple texts"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# https://ms.wikipedia.org/wiki/Malaysia\n",
"\n",
"string = \"\"\"\n",
"Malaysia secara rasminya Persekutuan Malaysia ialah sebuah negara raja berperlembagaan persekutuan di Asia Tenggara yang terdiri daripada tiga belas negeri dan tiga wilayah persekutuan, yang menduduki bumi berkeluasan 330,803 kilometer persegi (127,720 bt2). Malaysia terbahagi kepada dua kawasan yang mengapit Laut China Selatan, iaitu Semenanjung Malaysia dan Borneo Malaysia (juga Malaysia Barat dan Timur). Malaysia berkongsi sempadan darat dengan Thailand, Indonesia, dan Brunei dan juga sempadan laut dengan Singapura dan Filipina. Ibu negara Malaysia ialah Kuala Lumpur, manakala Putrajaya merupakan pusat kerajaan persekutuan. Pada tahun 2009, Malaysia diduduki oleh 28 juta penduduk dan pada tahun 2017 dianggarkan telah mencecah lebih 30 juta orang yang menduduki di Malaysia.\n",
"\n",
"Malaysia berakar-umbikan Kerajaan-kerajaan Melayu yang wujud di wilayahnya dan menjadi taklukan Empayar British sejak abad ke-18. Wilayah British pertama di sini dikenali sebagai Negeri-Negeri Selat. Semenanjung Malaysia yang ketika itu dikenali sebagai Tanah Melayu atau Malaya, mula-mula disatukan di bawah komanwel pada tahun 1946, sebelum menjadi Persekutuan Tanah Melayu pada tahun 1948. Pada tahun 1957 Semenanjung Malaysia mencapai Kemerdekaan dan bebas daripada penjajah dan sekali gus menjadi catatan sejarah terpenting bagi Malaysia. Pada tahun 1963, Tanah Melayu bersatu bersama dengan negara Sabah, Sarawak, dan Singapura bagi membentuk Malaysia. Pada tahun 1965, Singapura keluar dari persekutuan untuk menjadi negara kota yang bebas. Semenjak itu, Malaysia menikmati antara ekonomi yang terbaik di Asia, dengan purata pertumbuhan keluaran dalam negara kasarnya (KDNK) kira-kira 6.5% selama 50 tahun pertama kemerdekaannya. \n",
"\n",
"Ekonomi negara yang selama ini dijana oleh sumber alamnya kini juga berkembang dalam sektor-sektor ukur tanah, sains, kejuruteraan, pendidikan, pelancongan, perkapalan, perdagangan dan perubatan.\n",
"\n",
"Ketua negara Malaysia ialah Yang di-Pertuan Agong, iaitu raja elektif yang terpilih dan diundi dari kalangan sembilan raja negeri Melayu. Ketua kerajaannya pula ialah Perdana Menteri. Sistem kerajaan Malaysia banyak berdasarkan sistem parlimen Westminster, dan sistem perundangannya juga berasaskan undang-undang am Inggeris.\n",
"\n",
"Malaysia terletak berdekatan dengan khatulistiwa dan beriklim tropika, serta mempunyai kepelbagaian flora dan fauna, sehingga diiktiraf menjadi salah satu daripada 17 negara megadiversiti. Di Malaysia terletaknya Tanjung Piai, titik paling selatan di seluruh tanah besar Eurasia. Malaysia ialah sebuah negara perintis Persatuan Negara-Negara Asia Tenggara dan Pertubuhan Persidangan Islam, dan juga anggota Kerjasama Ekonomi Asia-Pasifik, Negara-Negara Komanwel, dan Pergerakan Negara-Negara Berkecuali.\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['Malaysia secara rasminya Persekutuan Malaysia ialah sebuah negara raja berperlembagaan persekutuan di Asia Tenggara yang terdiri daripada tiga belas negeri dan tiga wilayah persekutuan yang menduduki bumi berkeluasan 330803 kilometer persegi (127720 bt2)',\n",
" 'Malaysia terbahagi kepada dua kawasan yang mengapit Laut China Selatan iaitu Semenanjung Malaysia dan Borneo Malaysia (juga Malaysia Barat dan Timur)',\n",
" 'Malaysia berkongsi sempadan darat dengan Thailand Indonesia dan Brunei dan juga sempadan laut dengan Singapura dan Filipina',\n",
" 'Ibu negara Malaysia ialah Kuala Lumpur manakala Putrajaya merupakan pusat kerajaan persekutuan Pada tahun 2009 Malaysia diduduki oleh 28 juta penduduk dan pada tahun 2017 dianggarkan telah mencecah lebih 30 juta orang yang menduduki di Malaysia',\n",
" 'Malaysia berakar-umbikan Kerajaan-kerajaan Melayu yang wujud di wilayahnya dan menjadi taklukan Empayar British sejak abad ke-18 Wilayah British pertama di sini dikenali sebagai Negeri-Negeri Selat',\n",
" 'Semenanjung Malaysia yang ketika itu dikenali sebagai Tanah Melayu atau Malaya mula-mula disatukan di bawah komanwel pada tahun 1946 sebelum menjadi Persekutuan Tanah Melayu pada tahun 1948 Pada tahun 1957 Semenanjung Malaysia mencapai Kemerdekaan dan bebas daripada penjajah dan sekali gus menjadi catatan sejarah terpenting bagi Malaysia',\n",
" 'Pada tahun 1963 Tanah Melayu bersatu bersama dengan negara Sabah Sarawak dan Singapura bagi membentuk Malaysia',\n",
" 'Pada tahun 1965 Singapura keluar dari persekutuan untuk menjadi negara kota yang bebas',\n",
" 'Semenjak itu Malaysia menikmati antara ekonomi yang terbaik di Asia dengan purata pertumbuhan keluaran dalam negara kasarnya (KDNK) kira-kira 65% selama 50 tahun pertama kemerdekaannya',\n",
" 'Ekonomi negara yang selama ini dijana oleh sumber alamnya kini juga berkembang dalam sektor-sektor ukur tanah sains kejuruteraan pendidikan pelancongan perkapalan perdagangan dan perubatan',\n",
" 'Ketua negara Malaysia ialah Yang di-Pertuan Agong iaitu raja elektif yang terpilih dan diundi dari kalangan sembilan raja negeri Melayu',\n",
" 'Sistem kerajaan Malaysia banyak berdasarkan sistem parlimen Westminster dan sistem perundangannya juga berasaskan undang-undang am Inggeris',\n",
" 'Malaysia terletak berdekatan dengan khatulistiwa dan beriklim tropika serta mempunyai kepelbagaian flora dan fauna sehingga diiktiraf menjadi salah satu daripada 17 negara megadiversiti',\n",
" 'Di Malaysia terletaknya Tanjung Piai titik paling selatan di seluruh tanah besar Eurasia',\n",
" 'Malaysia ialah sebuah negara perintis Persatuan Negara-Negara Asia Tenggara dan Pertubuhan Persidangan Islam dan juga anggota Kerjasama Ekonomi Asia-Pasifik Negara-Negara Komanwel dan Pergerakan Negara-Negara Berkecuali']"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def simple_cleaning(string):\n",
" return ''.join([s for s in string if s not in ',.\\'\";'])\n",
"\n",
"string = malaya.text.function.split_into_sentences(string)\n",
"string = [simple_cleaning(s) for s in string if len(s) > 50]\n",
"string"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"r = model.generate(string, max_length = 256)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"g = r[0]['G']\n",
"\n",
"for i in range(1, len(r), 1):\n",
" g.update(r[i]['G'])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plt.figure(figsize=(17, 17))\n",
"pos = nx.spring_layout(g)\n",
"nx.draw(g, with_labels=True, node_color='skyblue', edge_cmap=plt.cm.Blues, pos = pos)\n",
"nx.draw_networkx_edge_labels(g, pos=pos)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# https://www.utusan.com.my/terkini/2021/07/agong-dukacita-ketua-pembangkang-tuntut-pm-letak-jawatan/\n",
"# https://www.hmetro.com.my/mutakhir/2021/07/736206/kediaman-pm-jadi-tumpuan-media\n",
"\n",
"string = \"\"\"\n",
"KUALA LUMPUR: Ketua Pembangkang, Datuk Seri Anwar Ibrahim menggesa Perdana Menteri, Tan Sri Muhyiddin Yassin meletak jawatan susulan kenyataan dikeluarkan Istana Negara berhubung isu Proklamasi Darurat.\n",
"\n",
"“Ini menunjukkan Kabinet yang diketuai Tan Sri Muhyiddin melanggar Perlembagaan menghina instusi raja Perlembagaan termasuk menteri di Jabatan Perdana Menteri mengelirukan Dewan.\n",
"\n",
"“Oleh yang demikian, kita menuntut Perdana Menteri meletak jawatan,” ujarnya hari ini.\n",
"\n",
"Terdahulu, Yang di-Pertuan Agong, Al-Sultan Abdullah Ri’ayatuddin Al-Mustafa Billah Shah menzahirkan rasa dukacita dengan pengumuman pembatalan darurat di Parlimen.\n",
"\n",
"Perkara itu dimaklumkan Datuk Pengelola Bijaya Diraja Istana Negara, Datuk Indera Ahmad Fadil Shamsudddin dalam satu kenyataan hari ini.\n",
"\n",
"“Sehubungan dengan itu, Seri Paduka Baginda menzahirkan rasa amat dukacita dengan kenyataan yang telah dibuat pada 26 Julai, 2021 lalu bahawa kerajaan telah membatalkan semua Ordinan Darurat yang telah dimasyhurkan oleh Baginda sepanjang tempoh darurat walhal belum lagi diperkenan baginda,” katanya.\n",
"\n",
"Kuala Lumpur: Kediaman Perdana Menteri Tan Sri Muhyiddin Yassin menjadi tumpuan petugas media susulan kenyataan yang dikeluarkan Istana Negara berhubung isu pembatalan Ordinan Darurat hari ini.\n",
"\n",
"Petugas media dilihat mula 'berkampung' di rumah Perdana Menteri yang terletak di Bukit Damansara di sini, sejak 1 tengah hari ini.\n",
"\n",
"Pemerhatian Bernama mendapati beberapa kenderaan dipercayai membawa menteri dan Peguam Negara memasuki pekarangan kediaman Perdana Menteri pada 1.30 tengah hari.\n",
"\n",
"Dalam kenyataan Istana Negara itu, Yang di-Pertuan Agong Al-Sultan Abdullah Ri'ayatuddin Al-Mustafa Billah Shah menzahirkan rasa amat dukacita dengan kenyataan di Parlimen pada Isnin bahawa kerajaan membatalkan semua Ordinan Darurat walhal ia belum lagi diperkenan Seri Paduka.\n",
"\n",
"Yang di-Pertuan Agong juga amat dukacita kerana apa yang diperkenan dan dititahkan kepada Menteri di Jabatan Perdana Menteri (Parlimen dan Undang-Undang) Datuk Seri Takiyuddin Hassan serta Peguam Negara Tan Sri Idrus Harun bahawa cadangan pembatalan semua Ordinan Darurat dibentang dan dibahaskan di Parlimen bagi tujuan diungkaikan tidak dilaksanakan.\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def simple_cleaning(string):\n",
" return ''.join([s for s in string if s not in ',.\\'\";'])\n",
"\n",
"string = malaya.text.function.split_into_sentences(string)\n",
"string = [simple_cleaning(s) for s in string if len(s) > 50]\n",
"string"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"r = model.generate(string, max_length = 256)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"g = r[0]['G']\n",
"\n",
"for i in range(1, len(r), 1):\n",
" g.update(r[i]['G'])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plt.figure(figsize=(17, 17))\n",
"pos = nx.spring_layout(g)\n",
"nx.draw(g, with_labels=True, node_color='skyblue', edge_cmap=plt.cm.Blues, pos = pos)\n",
"nx.draw_networkx_edge_labels(g, pos=pos)\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}