{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":59575,"databundleVersionId":8060720,"sourceType":"competition"},{"sourceId":187661035,"sourceType":"kernelVersion"},{"sourceId":187661170,"sourceType":"kernelVersion"},{"sourceId":187688650,"sourceType":"kernelVersion"},{"sourceId":187688749,"sourceType":"kernelVersion"},{"sourceId":187688793,"sourceType":"kernelVersion"},{"sourceId":187688850,"sourceType":"kernelVersion"},{"sourceId":187688916,"sourceType":"kernelVersion"},{"sourceId":187697593,"sourceType":"kernelVersion"},{"sourceId":187697707,"sourceType":"kernelVersion"},{"sourceId":187697878,"sourceType":"kernelVersion"},{"sourceId":187697910,"sourceType":"kernelVersion"}],"dockerImageVersionId":30732,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import pandas as pd\nimport time\nimport h5py","metadata":{"execution":{"iopub.status.busy":"2024-07-10T18:06:08.773640Z","iopub.execute_input":"2024-07-10T18:06:08.774579Z","iopub.status.idle":"2024-07-10T18:06:09.322385Z","shell.execute_reply.started":"2024-07-10T18:06:08.774534Z","shell.execute_reply":"2024-07-10T18:06:09.321222Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"patent_metadata = pd.read_parquet(\"/kaggle/input/uspto-explainable-ai/patent_metadata.parquet\")   \npatent_metadata.set_index('publication_number', inplace=True)","metadata":{"execution":{"iopub.status.busy":"2024-07-10T18:06:09.324495Z","iopub.execute_input":"2024-07-10T18:06:09.325111Z","iopub.status.idle":"2024-07-10T18:06:33.285428Z","shell.execute_reply.started":"2024-07-10T18:06:09.325056Z","shell.execute_reply":"2024-07-10T18:06:33.284449Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"We are going to use middle patent in 2023_6.parquet (largest one)","metadata":{}},{"cell_type":"code","source":"single_pb = 'US-2023177411-A1'\npb_meta = patent_metadata.loc[single_pb]\npb_pub_date = pb_meta.publication_date\npb_year, pb_month = pb_pub_date.year, pb_pub_date.month \nprint(f'Our publication was at {pb_year}_{pb_month} date')","metadata":{"execution":{"iopub.status.busy":"2024-07-10T18:06:33.286472Z","iopub.execute_input":"2024-07-10T18:06:33.286750Z","iopub.status.idle":"2024-07-10T18:06:33.971924Z","shell.execute_reply.started":"2024-07-10T18:06:33.286724Z","shell.execute_reply":"2024-07-10T18:06:33.970858Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Comparison example ","metadata":{}},{"cell_type":"code","source":"start = time.time()\nbig_parquet = pd.read_parquet(f'/kaggle/input/uspto-explainable-ai/patent_data/{pb_year}_{pb_month}.parquet', columns=['publication_number', 'description'])\nindex = big_parquet.shape[0] // 2\nrow = big_parquet.iloc[index]\ncur_pb = row.publication_number\nif cur_pb == single_pb:\n    print(f'The same publication number {cur_pb}')\ncur_detd = row.description\nend = time.time()\nprint(f'Time to extract single description using pandas - {end - start} sec')","metadata":{"execution":{"iopub.status.busy":"2024-07-10T18:06:33.974736Z","iopub.execute_input":"2024-07-10T18:06:33.975192Z","iopub.status.idle":"2024-07-10T18:07:13.222331Z","shell.execute_reply.started":"2024-07-10T18:06:33.975152Z","shell.execute_reply":"2024-07-10T18:07:13.220939Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"start = time.time()\nif 1970 <= pb_year <= 1994:\n    folder = '/kaggle/input/1970up1994'\nelif 1995 <= pb_year <= 2004:\n    folder = '/kaggle/input/1995up2004'\nelif 2005 <= pb_year <= 2009:\n    folder = '/kaggle/input/2005up2009'\nelif 1700 <= pb_year <= 1929:\n    folder = '/kaggle/input/1700up1929'\nelif 1930 <= pb_year <= 1969:\n    folder = '/kaggle/input/1930up1969'\nelif 2010 <= pb_year <= 2013:\n    folder = '/kaggle/input/2010up2013'\nelif 2014 <= pb_year <= 2016:\n    folder = '/kaggle/input/2014up2016'\nelif 2017 <= pb_year <= 2019:\n    folder = '/kaggle/input/2017up2019'\nelif 2020 <= pb_year <= 2021:\n    folder = '/kaggle/input/2020up2021'\nelif pb_year == 2022:\n    folder = '/kaggle/input/2022up2022'\nelif pb_year == 2023:\n    folder = '/kaggle/input/2023up2023'\n    \nwith h5py.File(f'{folder}/{pb_year}_{pb_month}.h5', 'r') as h5:\n        if cur_pb in h5:\n            data = h5[cur_pb][:]\n            h5_detd = data.tobytes().decode() \n            \nend = time.time()\nprint(f'Time to extract single description using h5 file - {end - start} sec')","metadata":{"execution":{"iopub.status.busy":"2024-07-10T18:08:24.772007Z","iopub.execute_input":"2024-07-10T18:08:24.772669Z","iopub.status.idle":"2024-07-10T18:08:24.820147Z","shell.execute_reply.started":"2024-07-10T18:08:24.772635Z","shell.execute_reply":"2024-07-10T18:08:24.819100Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"if h5_detd == cur_detd:\n    print('Descriptions in patent_data/parquet and in .h5 files equals')","metadata":{"execution":{"iopub.status.busy":"2024-07-10T18:08:29.914956Z","iopub.execute_input":"2024-07-10T18:08:29.915345Z","iopub.status.idle":"2024-07-10T18:08:29.920740Z","shell.execute_reply.started":"2024-07-10T18:08:29.915312Z","shell.execute_reply":"2024-07-10T18:08:29.919537Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(h5_detd[:200])","metadata":{"execution":{"iopub.status.busy":"2024-07-10T18:08:53.229845Z","iopub.execute_input":"2024-07-10T18:08:53.230739Z","iopub.status.idle":"2024-07-10T18:08:53.235648Z","shell.execute_reply.started":"2024-07-10T18:08:53.230704Z","shell.execute_reply":"2024-07-10T18:08:53.234716Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(cur_detd[:200])","metadata":{"execution":{"iopub.status.busy":"2024-07-10T18:09:00.379810Z","iopub.execute_input":"2024-07-10T18:09:00.380784Z","iopub.status.idle":"2024-07-10T18:09:00.385378Z","shell.execute_reply.started":"2024-07-10T18:09:00.380750Z","shell.execute_reply":"2024-07-10T18:09:00.384412Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}