{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nfrom collections import Counter\n\np = '/kaggle/input/2023-kaggle-ai-report/'\ntraink = pd.read_csv(p+'kaggle_writeups_20230510.csv')\n#trainx = pd.read_json(p+'arxiv_metadata_20230510.json', lines=True)\nsub = pd.read_csv(p+'sample_submission.csv')","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2023-05-22T03:53:40.619828Z","iopub.execute_input":"2023-05-22T03:53:40.620251Z","iopub.status.idle":"2023-05-22T03:53:41.047669Z","shell.execute_reply.started":"2023-05-22T03:53:40.620213Z","shell.execute_reply":"2023-05-22T03:53:41.046462Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"$ummary Under Construction - LOL\n==============\n![The infinite monkey theorem](https://upload.wikimedia.org/wikipedia/commons/thumb/3/3c/Chimpanzee_seated_at_typewriter.jpg/220px-Chimpanzee_seated_at_typewriter.jpg)","metadata":{}},{"cell_type":"code","source":"seed = 23\nnp.random.RandomState(seed)\nnp.random.seed(seed)\n\nwords = pd.DataFrame(list(set(' '.join(traink.Writeup.astype(str).values).split(' '))), columns=['words'])\n#print(len(words))\nrands = pd.DataFrame(np.random.randint(255, size=(len(words), 3)).astype(float))\nwords = pd.concat((words, rands), axis=1)\nwords = {w: [x, y, z] for w, x, y, z in words.values}\nseq = list(' '.join(traink.Writeup.astype(str).values).split(' '))\ncounts = Counter(seq)\nfor i in range(len(seq)-1):\n    words[seq[i+1]] = (np.array(words[seq[i]]) + np.array(words[seq[i+1]])) / 2 \n\n#Testing 1\ndf = pd.DataFrame.from_dict(words, orient='index').reset_index()\ndf.columns = ['word','x','y','z']\ndf['counts'] = df.word.map(lambda x: counts[str(x)])\ndf['dist'] = df.word.map(lambda x: np.linalg.norm(words[str(x)] - words['Winning']))\ndf = df[df['counts']>7]\nprint(' '.join(df.sort_values(by=['dist']).word.astype(str).values)[:255])\nprint('*'*100)\n\n#Testing 2\ndfb = []\nfor s in traink.Writeup.astype(str).values:\n    s = s.split(' ')\n    bigrams = [[s[i],s[i+1]] for i in range(len(s)-1)]\n    try: \n        dfb = pd.concat((dfb, pd.DataFrame(np.array(bigrams), columns=['w1','w2'])))\n    except:\n        if len(dfb) < 1:\n            dfb = pd.DataFrame(np.array(bigrams), columns=['w1','w2'])\ndfb['count'] = 1 \ndfb = dfb.groupby(by=['w1','w2'])['count'].sum()\ndfb = dfb.reset_index()\ndfb = dfb.sort_values(by=['w1','count'], ascending=[True, False]).reset_index(drop=True)\ndfb = dfb.groupby(['w1'], as_index = False).agg({'w2': ' '.join})\ndfb = {w: str(ws).split(' ') for w, ws in dfb.values}\n\nout = ['Winning']\nwhile len(out)<255:\n    out += [np.random.choice(dfb[out[-1]][:5])]\nprint(' '.join(out))","metadata":{"execution":{"iopub.status.busy":"2023-05-22T03:53:41.050000Z","iopub.execute_input":"2023-05-22T03:53:41.050438Z","iopub.status.idle":"2023-05-22T03:53:57.395962Z","shell.execute_reply.started":"2023-05-22T03:53:41.050397Z","shell.execute_reply":"2023-05-22T03:53:57.394677Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#['Text data','Image and/or video data','Tabular and/or time series data', 'Kaggle Competitions', 'Generative AI','AI ethics', 'Other']\n\nsub = [['essay_category', 'Generative AI'],\n       ['essay_url', 'https://www.kaggle.com/code/jazivxt/intelligencia-escrita/'],\n       ['feedback1_url', 'https://www.kaggle.com/code/leonidkulyk/kaggle-ai-report-topic-selection/comments'],\n       ['feedback2_url', 'https://www.kaggle.com/code/mpwolke/ai-ethics-my-write-oops/comments'],\n       ['feedback3_url', 'https://www.kaggle.com/code/danielbrito99/kaggle-ai-report-topic-suggestions/comments']]\nsub = pd.DataFrame(sub, columns=['type', 'value'])\nsub.to_csv('submission.csv', index=False)","metadata":{"execution":{"iopub.status.busy":"2023-05-22T03:53:57.397738Z","iopub.execute_input":"2023-05-22T03:53:57.398163Z","iopub.status.idle":"2023-05-22T03:53:57.411674Z","shell.execute_reply.started":"2023-05-22T03:53:57.398122Z","shell.execute_reply":"2023-05-22T03:53:57.410350Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"execution":{"iopub.status.busy":"2023-05-22T05:03:14.797075Z","iopub.execute_input":"2023-05-22T05:03:14.797532Z","iopub.status.idle":"2023-05-22T05:04:54.673487Z","shell.execute_reply.started":"2023-05-22T05:03:14.797499Z","shell.execute_reply":"2023-05-22T05:04:54.672159Z"},"trusted":true},"execution_count":null,"outputs":[]}]}