Skip to content
Snippets Groups Projects
pos.ipynb 12.3 KiB
Newer Older
Marcin Wątroba's avatar
Marcin Wątroba committed
{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "9febd313-2446-49bb-8508-997c0b2bc0ca",
   "metadata": {},
   "source": [
    "# Imports and configs"
   ]
  },
  {
   "cell_type": "code",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "execution_count": 12,
Marcin Wątroba's avatar
Marcin Wątroba committed
   "id": "1929f9bb-5060-4530-811b-823d69a5b00f",
   "metadata": {},
   "outputs": [],
   "source": [
    "from experiment.luna.luna_record_provider import LunaRecordProvider\n",
    "from sziszapangma.integration.experiment_manager import ExperimentManager\n",
    "from sziszapangma.integration.repository.multi_files_experiment_repository import MultiFilesExperimentRepository\n",
    "from sziszapangma.integration.path_filter import ExtensionPathFilter\n",
    "from pymongo import MongoClient\n",
    "from spacy.tokens.doc import Doc\n",
    "import pandas as pd\n",
    "from experiment.voicelab.voicelab_telco_record_provider import VoicelabTelcoRecordProvider\n",
    "from sziszapangma.integration.repository.experiment_repository import ExperimentRepository\n",
    "from dataclasses import dataclass\n",
    "import itertools\n",
    "from typing import Optional, Any, List\n",
Marcin Wątroba's avatar
Marcin Wątroba committed
    "import numpy as np\n",
    "from pprint import pprint"
Marcin Wątroba's avatar
Marcin Wątroba committed
   ]
  },
  {
   "cell_type": "code",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "execution_count": null,
Marcin Wątroba's avatar
Marcin Wątroba committed
   "id": "321a93d9-0c5d-4d42-ba8f-4b704a05d78c",
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.set_option('display.max_rows', None)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1b0a963f-ef3b-4f0f-bebc-68a0ea3e4f6c",
   "metadata": {},
   "source": [
    "# Load datasets and other pipeline objects"
   ]
  },
  {
   "cell_type": "code",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "execution_count": 39,
Marcin Wątroba's avatar
Marcin Wątroba committed
   "id": "bbe2a7bf-bb6d-42ee-b5ce-48e6ec7fcd94",
   "metadata": {},
   "outputs": [],
   "source": [
    "VOICELAB_DATASET_DIRECTORY = 'experiment_data/dataset/voicelab_cbiz_testset_20220322'\n",
    "LUNA_DATASET_DIRECTORY = 'experiment_data/dataset/LUNA.PL'"
   ]
  },
  {
   "cell_type": "code",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "execution_count": 41,
Marcin Wątroba's avatar
Marcin Wątroba committed
   "id": "4dec626b-02e4-4c78-a238-04ef2f090ea5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "voicelab examples count 800\n",
      "luna examples count 500\n"
Marcin Wątroba's avatar
Marcin Wątroba committed
     ]
    }
   ],
   "source": [
    "voicelab_experiment_repository = MultiFilesExperimentRepository(\n",
    "    'experiment_data/pipeline',\n",
    "    'asr_benchmark_voicelab_cbiz_testset_20220322'\n",
    ")\n",
    "luna_experiment_repository = MultiFilesExperimentRepository(\n",
    "    'experiment_data/pipeline',\n",
    "    'asr_benchmark_luna'\n",
    ")\n",
    "print(f'voicelab examples count {len(voicelab_experiment_repository.get_all_record_ids())}')\n",
    "print(f'luna examples count {len(luna_experiment_repository.get_all_record_ids())}')"
   ]
  },
  {
   "cell_type": "code",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "execution_count": 42,
Marcin Wątroba's avatar
Marcin Wątroba committed
   "id": "98c6ff1d-4fbd-4b68-9e23-ecea33852b12",
   "metadata": {},
   "outputs": [],
   "source": [
    "voicelab_record_provider = VoicelabTelcoRecordProvider(ExtensionPathFilter(\n",
    "    root_directory=VOICELAB_DATASET_DIRECTORY,\n",
    "    extension='wav',\n",
    "), relation_manager_root_path='experiment_data/dataset_relation_manager_data/voicelab_cbiz_testset_20220322')\n",
    "luna_record_provider = LunaRecordProvider(ExtensionPathFilter(\n",
    "    root_directory=f'{LUNA_DATASET_DIRECTORY}/LUNA.PL',\n",
    "    extension='wav',\n",
    "), relation_manager_root_path='experiment_data/dataset_relation_manager_data/luna')"
   ]
  },
  {
   "cell_type": "markdown",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "id": "3002ad7f-6b3e-4c65-9f38-1af9489a858e",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "metadata": {},
   "source": [
Marcin Wątroba's avatar
Marcin Wątroba committed
    "# Preview data"
Marcin Wątroba's avatar
Marcin Wątroba committed
   ]
  },
  {
   "cell_type": "code",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "execution_count": 53,
   "id": "39e4b625-d976-492d-bbc2-0872e4c4c1c9",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "metadata": {},
   "outputs": [],
Marcin Wątroba's avatar
Marcin Wątroba committed
   "source": [
Marcin Wątroba's avatar
Marcin Wątroba committed
    "def show_ducklig_report(repository: ExperimentRepository, record_id: str):\n",
    "    gold_transcript_text = ' '.join([it['word'] for it in repository.get_property_for_key(record_id, 'gold_transcript')])\n",
    "    pprint({\n",
    "        'gold_transcript_text': gold_transcript_text,\n",
    "        'gold_transcript_duckling': repository.get_property_for_key(record_id, 'gold_transcript_duckling'),\n",
    "        'techmo_asr': repository.get_property_for_key(record_id, 'techmo_polish_asr')['full_text'],\n",
    "        'techmo_duckling': repository.get_property_for_key(record_id, 'techmo_duckling'),\n",
    "        'ajn_asr': repository.get_property_for_key(record_id, 'ajn_polish_asr')['full_text'],\n",
    "        'ajn_duckling': repository.get_property_for_key(record_id, 'ajn_duckling')\n",
    "    })"
Marcin Wątroba's avatar
Marcin Wątroba committed
   ]
Marcin Wątroba's avatar
Marcin Wątroba committed
  },
  {
   "cell_type": "code",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "execution_count": 55,
   "id": "c1420158-0a27-4e63-9619-eab3ff58cd59",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "metadata": {},
Marcin Wątroba's avatar
Marcin Wątroba committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
Marcin Wątroba's avatar
Marcin Wątroba committed
      "{'ajn_asr': 'czy dobre <unk> z parą petra <unk> <unk> <unk> <unk> chodziło o '\n",
      "            'kopanie szczepień rtÉ to repeat od uczestników ochota tak jak '\n",
      "            'przedtem - cenię i szanuję - <unk> <unk> <unk> <unk> hojnie trud '\n",
      "            'wśród <unk> okazało się to echem nad nie zatrzymywał się nie '\n",
      "            'zatrzymują się zatrzymywać w remont tunelu średnicowego i hołd '\n",
      "            'koźla śródmieście z otrzymuje &quot; wykonano kociak otrzymują '\n",
      "            'też fachowców furtokiem proszę bardzo  ',\n",
      " 'ajn_duckling': [],\n",
      " 'gold_transcript_duckling': [{'body': 'dzień',\n",
      "                               'dim': 'duration',\n",
      "                               'end': 9,\n",
      "                               'latent': False,\n",
      "                               'start': 4,\n",
      "                               'value': {'day': 1,\n",
      "                                         'normalized': {'unit': 'second',\n",
      "                                                        'value': 86400},\n",
      "                                         'type': 'value',\n",
      "                                         'unit': 'day',\n",
      "                                         'value': 1}},\n",
      "                              {'body': 'dzień',\n",
      "                               'dim': 'duration',\n",
      "                               'end': 21,\n",
      "                               'latent': False,\n",
      "                               'start': 16,\n",
      "                               'value': {'day': 1,\n",
      "                                         'normalized': {'unit': 'second',\n",
      "                                                        'value': 86400},\n",
      "                                         'type': 'value',\n",
      "                                         'unit': 'day',\n",
      "                                         'value': 1}},\n",
      "                              {'body': ' teraz w tej chwili',\n",
      "                               'dim': 'time',\n",
      "                               'end': 265,\n",
      "                               'latent': False,\n",
      "                               'start': 246,\n",
      "                               'value': {'grain': 'second',\n",
      "                                         'type': 'value',\n",
      "                                         'value': '2022-06-10T05:39:27.286-07:00',\n",
      "                                         'values': [{'grain': 'second',\n",
      "                                                     'type': 'value',\n",
      "                                                     'value': '2022-06-10T05:39:27.286-07:00'}]}}],\n",
      " 'gold_transcript_text': 'xxx dzień dobry dzień dobry proszę pana mam takie '\n",
      "                         'pytanie chodzi mi o kursowanie tej linii SKM w '\n",
      "                         'stronę Rembertowa z tutaj tu Warszawa Ochota '\n",
      "                         'ponieważ mam takie sprzeczne informacje że nie się '\n",
      "                         'zatrzymuje na Ochocie drudzy że na Centralnym '\n",
      "                         'właśnie teraz w tej chwili już nie wiem nie na '\n",
      "                         'Centralnym się już nie zatrzymuje on się zatrzymywał '\n",
      "                         'jak był remont Tunelu Średnicowego na Śródmieściu '\n",
      "                         'się zatrzymuje no właśnie to się skończyło czyli na '\n",
      "                         'Śródmieściu a na Ochocie też się zatrzymuje też aha '\n",
      "                         'to wobec tego dziękuję bardzo proszę bardzo do '\n",
      "                         'widzenia do widzenia',\n",
      " 'techmo_asr': 'dzień dobry dzień dobry proszę pana mam takie pytanie chodzi '\n",
      "               'mi o kursowanie tej linii skm w stronę rembertowa z tutaj tu '\n",
      "               'warszawa ochota przedwczesne informacja że nie mogę się '\n",
      "               'zatrzymuje na ochocie drudzy srodze że na centralnym właśnie '\n",
      "               'teraz w tej chwili już nie wiem na czym nie na centralnym się '\n",
      "               'już nie zatrzymuje on się zatrzymywał jak był remont tunelu '\n",
      "               'siatkarze dla śródmieściu się zatrzymuje czyli na śródmieściu '\n",
      "               'a na ochocie też się zatrzymuje też aha to wobec tego dziękuję '\n",
      "               'bardzo proszę bardzo widzenia do widzenia',\n",
      " 'techmo_duckling': [{'body': 'dzień',\n",
      "                      'dim': 'duration',\n",
      "                      'end': 5,\n",
      "                      'latent': False,\n",
      "                      'start': 0,\n",
      "                      'value': {'day': 1,\n",
      "                                'normalized': {'unit': 'second',\n",
      "                                               'value': 86400},\n",
      "                                'type': 'value',\n",
      "                                'unit': 'day',\n",
      "                                'value': 1}},\n",
      "                     {'body': 'dzień',\n",
      "                      'dim': 'duration',\n",
      "                      'end': 17,\n",
      "                      'latent': False,\n",
      "                      'start': 12,\n",
      "                      'value': {'day': 1,\n",
      "                                'normalized': {'unit': 'second',\n",
      "                                               'value': 86400},\n",
      "                                'type': 'value',\n",
      "                                'unit': 'day',\n",
      "                                'value': 1}},\n",
      "                     {'body': ' teraz w tej chwili',\n",
      "                      'dim': 'time',\n",
      "                      'end': 257,\n",
      "                      'latent': False,\n",
      "                      'start': 238,\n",
      "                      'value': {'grain': 'second',\n",
      "                                'type': 'value',\n",
      "                                'value': '2022-06-10T05:39:37.429-07:00',\n",
      "                                'values': [{'grain': 'second',\n",
      "                                            'type': 'value',\n",
      "                                            'value': '2022-06-10T05:39:37.429-07:00'}]}}]}\n"
Marcin Wątroba's avatar
Marcin Wątroba committed
     ]
    }
   ],
   "source": [
Marcin Wątroba's avatar
Marcin Wątroba committed
    "# show_ducklig_report(voicelab_experiment_repository, list(voicelab_record_provider.get_all_records())[0])\n",
    "show_ducklig_report(luna_experiment_repository, list(luna_record_provider.get_all_records())[0])"
Marcin Wątroba's avatar
Marcin Wątroba committed
   ]
Marcin Wątroba's avatar
Marcin Wątroba committed
  },
  {
   "cell_type": "code",
   "execution_count": null,
Marcin Wątroba's avatar
Marcin Wątroba committed
   "id": "673d40d4-a9aa-4465-ad88-4d813a794513",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
Marcin Wątroba's avatar
Marcin Wątroba committed
   "id": "955e12f5-070f-4d8d-9b79-8a821e47b1a6",
Marcin Wątroba's avatar
Marcin Wątroba committed
   "metadata": {},
   "outputs": [],
   "source": []
Marcin Wątroba's avatar
Marcin Wątroba committed
  }
 ],
 "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.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}