noshot 0.1.7__py3-none-any.whl → 0.1.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- noshot/data/ML TS XAI/ML/1. PCA - EDA/PCA-EDA.ipynb +207 -0
- noshot/data/ML TS XAI/ML/1. PCA - EDA/balance-scale.csv +626 -0
- noshot/data/ML TS XAI/ML/1. PCA - EDA/input.txt +625 -0
- noshot/data/ML TS XAI/ML/2. KNN Classifier/KNN.ipynb +287 -0
- noshot/data/ML TS XAI/ML/2. KNN Classifier/balance-scale.csv +626 -0
- noshot/data/ML TS XAI/ML/2. KNN Classifier/input.txt +625 -0
- noshot/data/ML TS XAI/ML/3. Linear Discriminant Analysis/LDA.ipynb +83 -0
- noshot/data/ML TS XAI/ML/3. Linear Discriminant Analysis/balance-scale.csv +626 -0
- noshot/data/ML TS XAI/ML/3. Linear Discriminant Analysis/input.txt +625 -0
- noshot/data/ML TS XAI/ML/4. Linear Regression/Linear-Regression.ipynb +117 -0
- noshot/data/ML TS XAI/ML/4. Linear Regression/machine-data.csv +210 -0
- noshot/data/ML TS XAI/ML/5. Logistic Regression/Logistic-Regression.ipynb +137 -0
- noshot/data/ML TS XAI/ML/5. Logistic Regression/wine-dataset.csv +179 -0
- noshot/data/ML TS XAI/ML/6. Bayesian Classifier/Bayesian.ipynb +129 -0
- noshot/data/ML TS XAI/ML/6. Bayesian Classifier/wine-dataset.csv +179 -0
- noshot/data/ML TS XAI/TS/1. EDA - Handling Time Series Data/Handling TS Data.ipynb +784 -0
- noshot/data/ML TS XAI/TS/1. EDA - Handling Time Series Data/raw_sales.csv +29581 -0
- noshot/data/ML TS XAI/TS/2. Feature Engineering/Feature Engineering-.ipynb +1445 -0
- noshot/data/ML TS XAI/TS/3. Temporal Relationships/Exploring Temporal Relationships.ipynb +603 -0
- noshot/data/ML TS XAI/TS/4. Up-Down-Sampling and Interploation/Up-Down-Sampling.ipynb +721 -0
- noshot/data/ML TS XAI/TS/4. Up-Down-Sampling and Interploation/shampoo_sales.csv +37 -0
- noshot/data/ML TS XAI/TS/5. Stationarity - Trend - Seasonality/Stationarity-Trend-Seasonality.ipynb +392 -0
- noshot/data/ML TS XAI/TS/5. Stationarity - Trend - Seasonality/daily-min-temperatures.csv +3651 -0
- noshot/data/ML TS XAI/TS/5. Stationarity - Trend - Seasonality/daily-total-female-births.csv +366 -0
- noshot/data/ML TS XAI/TS/6. Autocorrelation - Partial Autocorrelation/ACF-PACF.ipynb +175 -0
- noshot/data/ML TS XAI/TS/6. Autocorrelation - Partial Autocorrelation/daily-min-temperatures.csv +3651 -0
- {noshot-0.1.7.dist-info → noshot-0.1.9.dist-info}/METADATA +2 -2
- noshot-0.1.9.dist-info/RECORD +35 -0
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(A) Breadth First Search.ipynb +0 -112
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(B) Depth First Search.ipynb +0 -111
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(C) Uniform Cost Search.ipynb +0 -134
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(D) Depth Limites Search.ipynb +0 -115
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(E) Iterative Deepening DFS.ipynb +0 -123
- noshot/data/ML TS XAI/AIDS/10. ANOVA/2_ANOVA.csv +0 -769
- noshot/data/ML TS XAI/AIDS/10. ANOVA/One Way ANOVA (Repeated Measure).ipynb +0 -126
- noshot/data/ML TS XAI/AIDS/10. ANOVA/One Way ANOVA.ipynb +0 -134
- noshot/data/ML TS XAI/AIDS/10. ANOVA/Sample 1 Way ANOVA Test.ipynb +0 -119
- noshot/data/ML TS XAI/AIDS/10. ANOVA/Two Way ANOVA.ipynb +0 -138
- noshot/data/ML TS XAI/AIDS/10. ANOVA/reaction_time.csv +0 -5
- noshot/data/ML TS XAI/AIDS/10. ANOVA/sample_data.csv +0 -16
- noshot/data/ML TS XAI/AIDS/10. ANOVA/sleep_deprivation.csv +0 -4
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/3_Linear.csv +0 -4802
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/Linear Regression LAB.ipynb +0 -113
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/Linear Regression New- sklearn.ipynb +0 -118
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/Linear Regression.ipynb +0 -148
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/house_rate.csv +0 -22
- noshot/data/ML TS XAI/AIDS/12. Logistic Regression/Logistic Regression New- sklearn.ipynb +0 -128
- noshot/data/ML TS XAI/AIDS/12. Logistic Regression/Logistic Regression.ipynb +0 -145
- noshot/data/ML TS XAI/AIDS/12. Logistic Regression/default.csv +0 -1001
- noshot/data/ML TS XAI/AIDS/12. Logistic Regression/hours_scores_records.csv +0 -101
- noshot/data/ML TS XAI/AIDS/2. Implement A Star And MA Star/(A) Astar.ipynb +0 -256
- noshot/data/ML TS XAI/AIDS/2. Implement A Star And MA Star/(B) IDAstar.ipynb +0 -157
- noshot/data/ML TS XAI/AIDS/2. Implement A Star And MA Star/(C) SMAstar.ipynb +0 -178
- noshot/data/ML TS XAI/AIDS/3. Genetic Algorithm/Genetic.ipynb +0 -95
- noshot/data/ML TS XAI/AIDS/4. Simulated Annealing/Simulated Annealing.ipynb +0 -74
- noshot/data/ML TS XAI/AIDS/4. Simulated Annealing/Sudoku Simulated Annealing.ipynb +0 -103
- noshot/data/ML TS XAI/AIDS/5. Alpha Beta Pruning/AlphaBetaPruning.ipynb +0 -182
- noshot/data/ML TS XAI/AIDS/6. Consraint Satisfaction Problems (CSP)/(A) CSP House Allocation.ipynb +0 -120
- noshot/data/ML TS XAI/AIDS/6. Consraint Satisfaction Problems (CSP)/(B) CSP Map Coloring.ipynb +0 -125
- noshot/data/ML TS XAI/AIDS/7. Random Sampling/Random Sampling.ipynb +0 -73
- noshot/data/ML TS XAI/AIDS/7. Random Sampling/height_weight_bmi.csv +0 -8389
- noshot/data/ML TS XAI/AIDS/8. Z Test/Z Test Hash Function.ipynb +0 -141
- noshot/data/ML TS XAI/AIDS/8. Z Test/Z Test.ipynb +0 -151
- noshot/data/ML TS XAI/AIDS/8. Z Test/height_weight_bmi.csv +0 -8389
- noshot/data/ML TS XAI/AIDS/9. T Test/1_heart.csv +0 -304
- noshot/data/ML TS XAI/AIDS/9. T Test/Independent T Test.ipynb +0 -119
- noshot/data/ML TS XAI/AIDS/9. T Test/Paired T Test.ipynb +0 -118
- noshot/data/ML TS XAI/AIDS/9. T Test/T Test Hash Function.ipynb +0 -142
- noshot/data/ML TS XAI/AIDS/9. T Test/T Test.ipynb +0 -158
- noshot/data/ML TS XAI/AIDS/9. T Test/height_weight_bmi.csv +0 -8389
- noshot/data/ML TS XAI/AIDS/9. T Test/iq_test.csv +0 -0
- noshot/data/ML TS XAI/AIDS/Others (AllinOne)/All In One.ipynb +0 -4581
- noshot/data/ML TS XAI/CN/1. Chat Application/chat.java +0 -81
- noshot/data/ML TS XAI/CN/1. Chat Application/output.png +0 -0
- noshot/data/ML TS XAI/CN/1. Chat Application/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/10. Ethernet LAN IEEE 802.3/LAN.tcl +0 -65
- noshot/data/ML TS XAI/CN/10. Ethernet LAN IEEE 802.3/analysis.awk +0 -44
- noshot/data/ML TS XAI/CN/10. Ethernet LAN IEEE 802.3/output.png +0 -0
- noshot/data/ML TS XAI/CN/10. Ethernet LAN IEEE 802.3/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/11. Wireless LAN IEEE 802.11/complexdcf.tcl +0 -229
- noshot/data/ML TS XAI/CN/11. Wireless LAN IEEE 802.11/output.png +0 -0
- noshot/data/ML TS XAI/CN/11. Wireless LAN IEEE 802.11/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/2. File Transfer/file_to_send.txt +0 -2
- noshot/data/ML TS XAI/CN/2. File Transfer/filetransfer.java +0 -119
- noshot/data/ML TS XAI/CN/2. File Transfer/output.png +0 -0
- noshot/data/ML TS XAI/CN/2. File Transfer/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/Client.class +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/MyServerImpl.class +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/MyServerIntf.class +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/Server.class +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/output.png +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/rmi.java +0 -56
- noshot/data/ML TS XAI/CN/4. Wired Network/output.png +0 -0
- noshot/data/ML TS XAI/CN/4. Wired Network/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/4. Wired Network/wired.awk +0 -25
- noshot/data/ML TS XAI/CN/4. Wired Network/wired.tcl +0 -81
- noshot/data/ML TS XAI/CN/5. Wireless Network/output.png +0 -0
- noshot/data/ML TS XAI/CN/5. Wireless Network/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/5. Wireless Network/wireless.awk +0 -27
- noshot/data/ML TS XAI/CN/5. Wireless Network/wireless.tcl +0 -153
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Sack And Vegas/analysis.awk +0 -27
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Sack And Vegas/output.png +0 -0
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Sack And Vegas/sack.tcl +0 -86
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Sack And Vegas/vegas.tcl +0 -86
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Tahoe And Reno/analysis.awk +0 -28
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Tahoe And Reno/output.png +0 -0
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Tahoe And Reno/reno.tcl +0 -78
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Tahoe And Reno/tahoe.tcl +0 -79
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Flow Control/analysis.awk +0 -27
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Flow Control/flow.tcl +0 -163
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Flow Control/output.png +0 -0
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/DV.tcl +0 -111
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/LS.tcl +0 -106
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/analysis.awk +0 -36
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/output.png +0 -0
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/analysis.awk +0 -20
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/broadcast.tcl +0 -76
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/multicast.tcl +0 -103
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/output.png +0 -0
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/9. DHCP/DHCP.java +0 -125
- noshot/data/ML TS XAI/CN/9. DHCP/output.png +0 -0
- noshot/data/ML TS XAI/CN/9. DHCP/procedure.png +0 -0
- noshot/data/ML TS XAI/NLP/NLP 1/1-Prereqs.py +0 -18
- noshot/data/ML TS XAI/NLP/NLP 1/2-Chi2test.py +0 -83
- noshot/data/ML TS XAI/NLP/NLP 1/2-T-test.py +0 -79
- noshot/data/ML TS XAI/NLP/NLP 1/3-WSD-nb.py +0 -53
- noshot/data/ML TS XAI/NLP/NLP 1/4-Hindle-Rooth.py +0 -53
- noshot/data/ML TS XAI/NLP/NLP 1/5-HMM-Trellis.py +0 -82
- noshot/data/ML TS XAI/NLP/NLP 1/6-HMM-Viterbi.py +0 -16
- noshot/data/ML TS XAI/NLP/NLP 1/7-PCFG-parsetree.py +0 -15
- noshot/data/ML TS XAI/NLP/NLP 1/Chi2test.ipynb +0 -285
- noshot/data/ML TS XAI/NLP/NLP 1/Hindle-Rooth.ipynb +0 -179
- noshot/data/ML TS XAI/NLP/NLP 1/Lab 10 - Text generator using LSTM.ipynb +0 -1461
- noshot/data/ML TS XAI/NLP/NLP 1/Lab 11 NMT.ipynb +0 -2307
- noshot/data/ML TS XAI/NLP/NLP 1/PCFG.ipynb +0 -134
- noshot/data/ML TS XAI/NLP/NLP 1/Prereqs.ipynb +0 -131
- noshot/data/ML TS XAI/NLP/NLP 1/T test.ipynb +0 -252
- noshot/data/ML TS XAI/NLP/NLP 1/TFIDF BOW.ipynb +0 -171
- noshot/data/ML TS XAI/NLP/NLP 1/Trellis.ipynb +0 -244
- noshot/data/ML TS XAI/NLP/NLP 1/WSD.ipynb +0 -645
- noshot/data/ML TS XAI/NLP/NLP 1/Word2Vec.ipynb +0 -93
- noshot/data/ML TS XAI/NLP/NLP 2/Lab01(tokenizer)/tokenizer.ipynb +0 -370
- noshot/data/ML TS XAI/NLP/NLP 2/Lab01(tokenizer)/training_tokenizer.txt +0 -6
- noshot/data/ML TS XAI/NLP/NLP 2/Lab02(stemming)/exp0.ipynb +0 -274
- noshot/data/ML TS XAI/NLP/NLP 2/Lab02(stemming)/lab2.ipynb +0 -905
- noshot/data/ML TS XAI/NLP/NLP 2/Lab02(stemming)/test.txt +0 -1
- noshot/data/ML TS XAI/NLP/NLP 2/Lab02(stemming)/tokenizing.ipynb +0 -272
- noshot/data/ML TS XAI/NLP/NLP 2/Lab03(parse-tree)/collocation.ipynb +0 -332
- noshot/data/ML TS XAI/NLP/NLP 2/Lab03(parse-tree)/lab3.ipynb +0 -549
- noshot/data/ML TS XAI/NLP/NLP 2/Lab03(parse-tree)/nlp.txt +0 -1
- noshot/data/ML TS XAI/NLP/NLP 2/Lab04(collocation)/Lab4-NLP-Exp-2.ipynb +0 -817
- noshot/data/ML TS XAI/NLP/NLP 2/Lab04(collocation)/collocation.ipynb +0 -332
- noshot/data/ML TS XAI/NLP/NLP 2/Lab05(WSD)/NLP-Lab-5-Exp3.ipynb +0 -231
- noshot/data/ML TS XAI/NLP/NLP 2/Lab05(WSD)/word-sense-disambiguation.ipynb +0 -507
- noshot/data/ML TS XAI/NLP/NLP 2/Lab06(additional-exercise)/lab6.ipynb +0 -134
- noshot/data/ML TS XAI/NLP/NLP 2/Lab07(HMM,Viterbi)/NLP Exp 4.ipynb +0 -255
- noshot/data/ML TS XAI/NLP/NLP 2/Lab07(HMM,Viterbi)/NLP_Exp_5.ipynb +0 -159
- noshot/data/ML TS XAI/NLP/NLP 2/Lab08(PCFG)/PCFG.ipynb +0 -282
- noshot/data/ML TS XAI/NLP/NLP 2/Lab09-Hindle-rooth&MLP/Lab 9 - MLP classifier.ipynb +0 -670
- noshot/data/ML TS XAI/NLP/NLP 2/Lab09-Hindle-rooth&MLP/MLP-alternative-code.ipynb +0 -613
- noshot/data/ML TS XAI/NLP/NLP 2/Lab09-Hindle-rooth&MLP/hindle-rooth-algorithm.ipynb +0 -74
- noshot/data/ML TS XAI/NLP/NLP 2/Lab10(LSTM)/Lab_10_Text_generator_using_LSTM.ipynb +0 -480
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/Machine-translation.ipynb +0 -445
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/Viterbi-PCFG.ipynb +0 -105
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/corpora_tools.py +0 -87
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/data_utils.py +0 -11
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/train_translator.py +0 -83
- noshot/data/ML TS XAI/NLP/NLP 2/Lab12(Information-Extraction)/Information_Extraction.ipynb +0 -201
- noshot/data/ML TS XAI/NLP/NLP 3/Backtrack-without-Verbitri.ipynb +0 -185
- noshot/data/ML TS XAI/NLP/NLP 3/Backward-Procedure.ipynb +0 -597
- noshot/data/ML TS XAI/NLP/NLP 3/Bag_of.ipynb +0 -1422
- noshot/data/ML TS XAI/NLP/NLP 3/CYK-algorithm.ipynb +0 -1067
- noshot/data/ML TS XAI/NLP/NLP 3/Forward-Procedure.ipynb +0 -477
- noshot/data/ML TS XAI/NLP/NLP 3/LSTM.ipynb +0 -1290
- noshot/data/ML TS XAI/NLP/NLP 3/Lab 10 - Text generator using LSTM.ipynb +0 -1461
- noshot/data/ML TS XAI/NLP/NLP 3/Lab 11 NMT.ipynb +0 -2307
- noshot/data/ML TS XAI/NLP/NLP 3/NLP-LAB-4.ipynb +0 -216
- noshot/data/ML TS XAI/NLP/NLP 3/NLP-LAB-5.ipynb +0 -216
- noshot/data/ML TS XAI/NLP/NLP 3/abc.txt +0 -6
- noshot/data/ML TS XAI/NLP/NLP 3/ex-1-nltk.ipynb +0 -711
- noshot/data/ML TS XAI/NLP/NLP 3/ex-2-nlp.ipynb +0 -267
- noshot/data/ML TS XAI/NLP/NLP 3/exp8&9.ipynb +0 -305
- noshot/data/ML TS XAI/NLP/NLP 3/hind.ipynb +0 -287
- noshot/data/ML TS XAI/NLP/NLP 3/lab66.ipynb +0 -752
- noshot/data/ML TS XAI/NLP/NLP 3/leb_3.ipynb +0 -612
- noshot/data/ML TS XAI/NLP/NLP 3/naive_bayes_classifier.pkl +0 -0
- noshot/data/ML TS XAI/NLP/NLP 3/nlp_leb_1.ipynb +0 -3008
- noshot/data/ML TS XAI/NLP/NLP 3/nlp_leb_2.ipynb +0 -3095
- noshot/data/ML TS XAI/NLP/NLP 3/nlplab-9.ipynb +0 -295
- noshot/data/ML TS XAI/NLP/NLP 3/nltk-ex-4.ipynb +0 -506
- noshot/data/ML TS XAI/NLP/NLP 3/text1.txt +0 -48
- noshot/data/ML TS XAI/NLP/NLP 3/text2.txt +0 -8
- noshot/data/ML TS XAI/NLP/NLP 3/text3.txt +0 -48
- noshot/data/ML TS XAI/NLP/NLP 3/translation-rnn.ipynb +0 -812
- noshot/data/ML TS XAI/NLP/NLP 3/word2vector.ipynb +0 -173
- noshot/data/ML TS XAI/NLP/NLP 4/Backward Procedure Algorithm.ipynb +0 -179
- noshot/data/ML TS XAI/NLP/NLP 4/Chi Square Collocation.ipynb +0 -208
- noshot/data/ML TS XAI/NLP/NLP 4/Collocation (T test).ipynb +0 -188
- noshot/data/ML TS XAI/NLP/NLP 4/Experiment 1.ipynb +0 -437
- noshot/data/ML TS XAI/NLP/NLP 4/Forward Procedure Algorithm.ipynb +0 -132
- noshot/data/ML TS XAI/NLP/NLP 4/Hindle Rooth.ipynb +0 -414
- noshot/data/ML TS XAI/NLP/NLP 4/MachineTranslation.ipynb +0 -368
- noshot/data/ML TS XAI/NLP/NLP 4/Multi Layer Perceptron using MLPClassifier.ipynb +0 -86
- noshot/data/ML TS XAI/NLP/NLP 4/Multi Layer Perceptron using Tensorflow.ipynb +0 -112
- noshot/data/ML TS XAI/NLP/NLP 4/PCFG Inside Probability.ipynb +0 -451
- noshot/data/ML TS XAI/NLP/NLP 4/Text Generation using LSTM.ipynb +0 -297
- noshot/data/ML TS XAI/NLP/NLP 4/Viterbi.ipynb +0 -310
- noshot/data/ML TS XAI/NLP/NLP 4/Word Sense Disambiguation.ipynb +0 -335
- noshot/data/ML TS XAI/NLP/NLP 5/10.Text Generation using LSTM.ipynb +0 -316
- noshot/data/ML TS XAI/NLP/NLP 5/11.Machine Translation.ipynb +0 -868
- noshot/data/ML TS XAI/NLP/NLP 5/2.T and Chi2 Test.ipynb +0 -204
- noshot/data/ML TS XAI/NLP/NLP 5/3.Word Sense Diambiguation.ipynb +0 -234
- noshot/data/ML TS XAI/NLP/NLP 5/4.Hinddle and Rooth.ipynb +0 -128
- noshot/data/ML TS XAI/NLP/NLP 5/5.Forward and Backward.ipynb +0 -149
- noshot/data/ML TS XAI/NLP/NLP 5/6.Viterbi.ipynb +0 -111
- noshot/data/ML TS XAI/NLP/NLP 5/7.PCFG Parse Tree.ipynb +0 -134
- noshot/data/ML TS XAI/NLP/NLP 5/7.PCFG using cyk.ipynb +0 -101
- noshot/data/ML TS XAI/NLP/NLP 5/8.Bag of words and TF-IDF.ipynb +0 -310
- noshot/data/ML TS XAI/NLP/NLP 5/9.Word2Vector.ipynb +0 -78
- noshot/data/ML TS XAI/NLP/NLP 5/NLP ALL In One.ipynb +0 -2619
- noshot/data/ML TS XAI/NLP/NLP 5/sample1.txt +0 -15
- noshot/data/ML TS XAI/NLP/NLP 5/sample2.txt +0 -4
- noshot/data/ML TS XAI/NLP/NLP 5/word2vec_model.bin +0 -0
- noshot/data/ML TS XAI/NLP/NLP 6/1. Tokenize, Tagging, NER, Parse Tree.ipynb +0 -312
- noshot/data/ML TS XAI/NLP/NLP 6/2. T Test and Chi2 Test.ipynb +0 -185
- noshot/data/ML TS XAI/NLP/NLP 6/3. Naive Bayes WSD.ipynb +0 -199
- noshot/data/ML TS XAI/NLP/NLP 6/4. Hinddle and Rooth.ipynb +0 -151
- noshot/data/ML TS XAI/NLP/NLP 6/5 and 6 FWD, BWD, Viterbi.ipynb +0 -164
- noshot/data/ML TS XAI/NLP/NLP 6/7. PCFG using CYK.ipynb +0 -383
- noshot/data/ML TS XAI/NLP/NLP 6/8. BOW and TF-IDF.ipynb +0 -252
- noshot/data/ML TS XAI/Ubuntu CN Lab.iso +0 -0
- noshot-0.1.7.dist-info/RECORD +0 -216
- {noshot-0.1.7.dist-info → noshot-0.1.9.dist-info}/LICENSE.txt +0 -0
- {noshot-0.1.7.dist-info → noshot-0.1.9.dist-info}/WHEEL +0 -0
- {noshot-0.1.7.dist-info → noshot-0.1.9.dist-info}/top_level.txt +0 -0
@@ -1,255 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"cells": [
|
3
|
-
{
|
4
|
-
"cell_type": "markdown",
|
5
|
-
"id": "3be05c09",
|
6
|
-
"metadata": {},
|
7
|
-
"source": [
|
8
|
-
"# Hidden Markov Model - Forward and backward algorithm\n",
|
9
|
-
"\n",
|
10
|
-
"\"Code credits: [**V Tarun Thothadri**](https://github.com/TarunThothadri)\""
|
11
|
-
]
|
12
|
-
},
|
13
|
-
{
|
14
|
-
"cell_type": "code",
|
15
|
-
"execution_count": 1,
|
16
|
-
"id": "96e855aa",
|
17
|
-
"metadata": {},
|
18
|
-
"outputs": [
|
19
|
-
{
|
20
|
-
"name": "stdout",
|
21
|
-
"output_type": "stream",
|
22
|
-
"text": [
|
23
|
-
"Enter no of states : 2\n",
|
24
|
-
"Enter state 1 : cp\n",
|
25
|
-
"Enter initial probability of the state 1 : 1.0\n",
|
26
|
-
"Enter state 2 : ip\n",
|
27
|
-
"Enter initial probability of the state 2 : 0.0\n",
|
28
|
-
"Enter stp from cp to cp : 0.7\n",
|
29
|
-
"Enter stp from cp to ip : 0.3\n",
|
30
|
-
"Enter stp from ip to cp : 0.5\n",
|
31
|
-
"Enter stp from ip to ip : 0.5\n",
|
32
|
-
"Enter no of observations : 3\n",
|
33
|
-
"Enter observation 1 : lem\n",
|
34
|
-
"Enter observation 2 : ice\n",
|
35
|
-
"Enter observation 3 : cola\n",
|
36
|
-
"Enter probability of getting lem from cp : 0.3\n",
|
37
|
-
"Enter probability of getting ice from cp : 0.1\n",
|
38
|
-
"Enter probability of getting cola from cp : 0.6\n",
|
39
|
-
"Enter probability of getting lem from ip : 0.2\n",
|
40
|
-
"Enter probability of getting ice from ip : 0.7\n",
|
41
|
-
"Enter probability of getting cola from ip : 0.1\n",
|
42
|
-
"['cp', 'ip']\n",
|
43
|
-
"[1.0, 0.0]\n",
|
44
|
-
"[[0.7, 0.3], [0.5, 0.5]]\n",
|
45
|
-
"['lem', 'ice', 'cola']\n",
|
46
|
-
"[[0.3, 0.1, 0.6], [0.2, 0.7, 0.1]]\n"
|
47
|
-
]
|
48
|
-
}
|
49
|
-
],
|
50
|
-
"source": [
|
51
|
-
"'''states = ['cp','ip']\n",
|
52
|
-
"ls = len(states)\n",
|
53
|
-
"\n",
|
54
|
-
"#Initial Probability\n",
|
55
|
-
"ip = [1.0,0.0]\n",
|
56
|
-
"\n",
|
57
|
-
"#State transition probability\n",
|
58
|
-
"stp = [[0.7,0.3],\n",
|
59
|
-
" [0.5,0.5]]\n",
|
60
|
-
"\n",
|
61
|
-
"#Observations\n",
|
62
|
-
"op = ['lem','ice','cola']\n",
|
63
|
-
"lop = len(op)\n",
|
64
|
-
"\n",
|
65
|
-
"#Obs probablity\n",
|
66
|
-
"opp = [[0.3,0.1,0.6],\n",
|
67
|
-
" [0.2,0.7,0.1]]'''\n",
|
68
|
-
"\n",
|
69
|
-
"states = []\n",
|
70
|
-
"ip = []\n",
|
71
|
-
"stp = []\n",
|
72
|
-
"op = []\n",
|
73
|
-
"opp = []\n",
|
74
|
-
"\n",
|
75
|
-
"ls = int(input(\"Enter no of states : \"))\n",
|
76
|
-
"\n",
|
77
|
-
"for i in range(ls):\n",
|
78
|
-
" states.append(input(f\"Enter state {i+1} : \"))\n",
|
79
|
-
" ip.append(float(input(f\"Enter initial probability of the state {i+1} : \")))\n",
|
80
|
-
"\n",
|
81
|
-
"for i in range(ls):\n",
|
82
|
-
" sp_row = []\n",
|
83
|
-
" for j in range(ls):\n",
|
84
|
-
" sp = float(input(f\"Enter stp from {states[i]} to {states[j]} : \"))\n",
|
85
|
-
" sp_row.append(sp)\n",
|
86
|
-
" stp.append(sp_row)\n",
|
87
|
-
" \n",
|
88
|
-
"lop = int(input(\"Enter no of observations : \"))\n",
|
89
|
-
"\n",
|
90
|
-
"for i in range(lop):\n",
|
91
|
-
" op.append(input(f\"Enter observation {i+1} : \"))\n",
|
92
|
-
"\n",
|
93
|
-
"for i in range(ls):\n",
|
94
|
-
" opp_row = []\n",
|
95
|
-
" for j in range(lop):\n",
|
96
|
-
" opp_row.append(float(input(f\"Enter probability of getting {op[j]} from {states[i]} : \")))\n",
|
97
|
-
" \n",
|
98
|
-
" opp.append(opp_row)\n",
|
99
|
-
" \n",
|
100
|
-
"print(states)\n",
|
101
|
-
"print(ip)\n",
|
102
|
-
"print(stp)\n",
|
103
|
-
"print(op)\n",
|
104
|
-
"print(opp)"
|
105
|
-
]
|
106
|
-
},
|
107
|
-
{
|
108
|
-
"cell_type": "markdown",
|
109
|
-
"id": "ac0d52fe",
|
110
|
-
"metadata": {},
|
111
|
-
"source": [
|
112
|
-
"Forward Algorithm"
|
113
|
-
]
|
114
|
-
},
|
115
|
-
{
|
116
|
-
"cell_type": "code",
|
117
|
-
"execution_count": 2,
|
118
|
-
"id": "aad5d765",
|
119
|
-
"metadata": {},
|
120
|
-
"outputs": [],
|
121
|
-
"source": [
|
122
|
-
"def forward_alg():\n",
|
123
|
-
" alpha = []\n",
|
124
|
-
" for _ in range(len(op)+1):\n",
|
125
|
-
" alpha.append([0,0])\n",
|
126
|
-
"\n",
|
127
|
-
" '''alpha[0][0] = 1.0\n",
|
128
|
-
" alpha[0][1] = 0.0\n",
|
129
|
-
" #print(alpha)'''\n",
|
130
|
-
" \n",
|
131
|
-
" for i in range(len(alpha)):\n",
|
132
|
-
" if i == 0:\n",
|
133
|
-
" alpha[i][0] = ip[0]\n",
|
134
|
-
" alpha[i][1] = ip[1]\n",
|
135
|
-
" continue\n",
|
136
|
-
" \n",
|
137
|
-
" alpha[i][0] = float(float(stp[0][0]*opp[0][i-1]*alpha[i-1][0]) + float(stp[1][0]*opp[1][i-1]*alpha[i-1][1]))\n",
|
138
|
-
"\n",
|
139
|
-
" alpha[i][1] = float(float(stp[1][1]*opp[1][i-1]*alpha[i-1][1]) + float(stp[0][1]*opp[0][i-1]*alpha[i-1][0]))\n",
|
140
|
-
"\n",
|
141
|
-
" return alpha"
|
142
|
-
]
|
143
|
-
},
|
144
|
-
{
|
145
|
-
"cell_type": "code",
|
146
|
-
"execution_count": 3,
|
147
|
-
"id": "7612f052",
|
148
|
-
"metadata": {},
|
149
|
-
"outputs": [
|
150
|
-
{
|
151
|
-
"name": "stdout",
|
152
|
-
"output_type": "stream",
|
153
|
-
"text": [
|
154
|
-
"[1.0, 0.0]\n",
|
155
|
-
"[0.21, 0.09]\n",
|
156
|
-
"[0.0462, 0.0378]\n",
|
157
|
-
"[0.021293999999999997, 0.010206]\n",
|
158
|
-
"\n",
|
159
|
-
"Probability of whole sequence : 0.0315\n"
|
160
|
-
]
|
161
|
-
}
|
162
|
-
],
|
163
|
-
"source": [
|
164
|
-
"alpha = forward_alg()\n",
|
165
|
-
"pos_alpha = 0.0\n",
|
166
|
-
"for i in alpha:\n",
|
167
|
-
" pos_alpha = sum(i)\n",
|
168
|
-
" print(i)\n",
|
169
|
-
" \n",
|
170
|
-
"print(\"\\nProbability of whole sequence : \",pos_alpha)"
|
171
|
-
]
|
172
|
-
},
|
173
|
-
{
|
174
|
-
"cell_type": "markdown",
|
175
|
-
"id": "70482230",
|
176
|
-
"metadata": {},
|
177
|
-
"source": [
|
178
|
-
"Backward Algorithm"
|
179
|
-
]
|
180
|
-
},
|
181
|
-
{
|
182
|
-
"cell_type": "code",
|
183
|
-
"execution_count": 4,
|
184
|
-
"id": "445612f0",
|
185
|
-
"metadata": {},
|
186
|
-
"outputs": [],
|
187
|
-
"source": [
|
188
|
-
"def backward_alg():\n",
|
189
|
-
" beta = []\n",
|
190
|
-
" for _ in range(len(op)+1):\n",
|
191
|
-
" beta.append([0.0,0.0])\n",
|
192
|
-
"\n",
|
193
|
-
" beta[len(op)][0] = 1.0\n",
|
194
|
-
" beta[len(op)][1] = 1.0\n",
|
195
|
-
" #print(beta)\n",
|
196
|
-
"\n",
|
197
|
-
" for i in range(len(op)-1,-1,-1):\n",
|
198
|
-
" \n",
|
199
|
-
" beta[i][0] = float(float(stp[0][0]*opp[0][i]*beta[i+1][0]) + float(stp[0][1]*opp[0][i]*beta[i+1][1]))\n",
|
200
|
-
"\n",
|
201
|
-
" beta[i][1] = float(float(stp[1][1]*opp[1][i]*beta[i+1][1]) + float(stp[1][0]*opp[1][i]*beta[i+1][0]))\n",
|
202
|
-
"\n",
|
203
|
-
" return beta"
|
204
|
-
]
|
205
|
-
},
|
206
|
-
{
|
207
|
-
"cell_type": "code",
|
208
|
-
"execution_count": 5,
|
209
|
-
"id": "6986b179",
|
210
|
-
"metadata": {},
|
211
|
-
"outputs": [
|
212
|
-
{
|
213
|
-
"name": "stdout",
|
214
|
-
"output_type": "stream",
|
215
|
-
"text": [
|
216
|
-
"[0.0315, 0.029]\n",
|
217
|
-
"[0.045, 0.245]\n",
|
218
|
-
"[0.6, 0.1]\n",
|
219
|
-
"[1.0, 1.0]\n",
|
220
|
-
"\n",
|
221
|
-
"Probability of whole sequence : 0.0315\n"
|
222
|
-
]
|
223
|
-
}
|
224
|
-
],
|
225
|
-
"source": [
|
226
|
-
"beta = backward_alg()\n",
|
227
|
-
"for i in beta:\n",
|
228
|
-
" print(i)\n",
|
229
|
-
" \n",
|
230
|
-
"print(\"\\nProbability of whole sequence : \",beta[0][0]*ip[0] + beta[0][1]*ip[1])"
|
231
|
-
]
|
232
|
-
}
|
233
|
-
],
|
234
|
-
"metadata": {
|
235
|
-
"kernelspec": {
|
236
|
-
"display_name": "Python 3 (ipykernel)",
|
237
|
-
"language": "python",
|
238
|
-
"name": "python3"
|
239
|
-
},
|
240
|
-
"language_info": {
|
241
|
-
"codemirror_mode": {
|
242
|
-
"name": "ipython",
|
243
|
-
"version": 3
|
244
|
-
},
|
245
|
-
"file_extension": ".py",
|
246
|
-
"mimetype": "text/x-python",
|
247
|
-
"name": "python",
|
248
|
-
"nbconvert_exporter": "python",
|
249
|
-
"pygments_lexer": "ipython3",
|
250
|
-
"version": "3.11.5"
|
251
|
-
}
|
252
|
-
},
|
253
|
-
"nbformat": 4,
|
254
|
-
"nbformat_minor": 5
|
255
|
-
}
|
@@ -1,159 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"cells": [
|
3
|
-
{
|
4
|
-
"cell_type": "markdown",
|
5
|
-
"id": "3be05c09",
|
6
|
-
"metadata": {
|
7
|
-
"id": "3be05c09"
|
8
|
-
},
|
9
|
-
"source": [
|
10
|
-
"# Viterbi Algorithm\n",
|
11
|
-
"\n",
|
12
|
-
"Implement the Viterbi algorithm to find the probability of a word sequence, and infer the best tag sequence using Hidden Markov Model."
|
13
|
-
]
|
14
|
-
},
|
15
|
-
{
|
16
|
-
"cell_type": "code",
|
17
|
-
"source": [
|
18
|
-
"def viterbi_algorithm(op):\n",
|
19
|
-
" delta = []\n",
|
20
|
-
" psi = []\n",
|
21
|
-
"\n",
|
22
|
-
" # Initialize the delta and psi matrices\n",
|
23
|
-
" for _ in range(len(op)):\n",
|
24
|
-
" delta.append([0.0, 0.0])\n",
|
25
|
-
" psi.append([0, 0])\n",
|
26
|
-
"\n",
|
27
|
-
" # Initialization step\n",
|
28
|
-
" for i in range(len(states)):\n",
|
29
|
-
" delta[0][i] = ip[i] * opp[i][0]\n",
|
30
|
-
"\n",
|
31
|
-
" # Recursion step\n",
|
32
|
-
" for t in range(1, len(op)):\n",
|
33
|
-
" for j in range(len(states)):\n",
|
34
|
-
" max_prob = 0.0\n",
|
35
|
-
" max_state = 0\n",
|
36
|
-
"\n",
|
37
|
-
" for i in range(len(states)):\n",
|
38
|
-
" prob = delta[t - 1][i] * stp[i][j] * opp[j][t]\n",
|
39
|
-
" if prob > max_prob:\n",
|
40
|
-
" max_prob = prob\n",
|
41
|
-
" max_state = i\n",
|
42
|
-
"\n",
|
43
|
-
" delta[t][j] = max_prob\n",
|
44
|
-
" psi[t][j] = max_state\n",
|
45
|
-
"\n",
|
46
|
-
" # Termination step\n",
|
47
|
-
" best_path_prob = max(delta[-1])\n",
|
48
|
-
" best_last_state = delta[-1].index(best_path_prob)\n",
|
49
|
-
"\n",
|
50
|
-
" # Backtrack to find the best tag sequence\n",
|
51
|
-
" best_path = [best_last_state]\n",
|
52
|
-
" for t in range(len(op) - 1, 0, -1):\n",
|
53
|
-
" best_last_state = psi[t][best_last_state]\n",
|
54
|
-
" best_path.insert(0, best_last_state)\n",
|
55
|
-
"\n",
|
56
|
-
" return best_path, best_path_prob\n",
|
57
|
-
"\n",
|
58
|
-
"states = []\n",
|
59
|
-
"ip = []\n",
|
60
|
-
"stp = []\n",
|
61
|
-
"op = []\n",
|
62
|
-
"opp = []\n",
|
63
|
-
"\n",
|
64
|
-
"ls = int(input(\"Enter no of states : \"))\n",
|
65
|
-
"\n",
|
66
|
-
"for i in range(ls):\n",
|
67
|
-
" states.append(input(f\"Enter state {i+1} : \"))\n",
|
68
|
-
" ip.append(float(input(f\"Enter initial probability of state {states[i]} : \")))\n",
|
69
|
-
"\n",
|
70
|
-
"for i in range(ls):\n",
|
71
|
-
" sp_row = []\n",
|
72
|
-
" for j in range(ls):\n",
|
73
|
-
" sp = float(input(f\"Enter transition probability from {states[i]} to {states[j]} : \"))\n",
|
74
|
-
" sp_row.append(sp)\n",
|
75
|
-
" stp.append(sp_row)\n",
|
76
|
-
"\n",
|
77
|
-
"lop = int(input(\"Enter no of observations : \"))\n",
|
78
|
-
"\n",
|
79
|
-
"for i in range(lop):\n",
|
80
|
-
" op.append(input(f\"Enter observation {i+1} : \"))\n",
|
81
|
-
"\n",
|
82
|
-
"for i in range(ls):\n",
|
83
|
-
" opp_row = []\n",
|
84
|
-
" for j in range(lop):\n",
|
85
|
-
" opp_row.append(float(input(f\"Enter emission probability of {op[j]} from {states[i]} : \")))\n",
|
86
|
-
" opp.append(opp_row)\n",
|
87
|
-
"\n",
|
88
|
-
"# Call the Viterbi algorithm\n",
|
89
|
-
"best_tag_sequence, probability = viterbi_algorithm(op)\n",
|
90
|
-
"\n",
|
91
|
-
"# Print the best tag sequence and its probability\n",
|
92
|
-
"print(\"Best Tag Sequence:\", [states[i] for i in best_tag_sequence])\n",
|
93
|
-
"print(\"Probability of the Best Tag Sequence:\", probability)\n"
|
94
|
-
],
|
95
|
-
"metadata": {
|
96
|
-
"id": "V6IoC75H-5GT",
|
97
|
-
"outputId": "b00142d5-6731-4420-a6e7-8f1b0d2b3f71",
|
98
|
-
"colab": {
|
99
|
-
"base_uri": "https://localhost:8080/"
|
100
|
-
}
|
101
|
-
},
|
102
|
-
"id": "V6IoC75H-5GT",
|
103
|
-
"execution_count": 2,
|
104
|
-
"outputs": [
|
105
|
-
{
|
106
|
-
"output_type": "stream",
|
107
|
-
"name": "stdout",
|
108
|
-
"text": [
|
109
|
-
"Enter no of states : 2\n",
|
110
|
-
"Enter state 1 : cp\n",
|
111
|
-
"Enter initial probability of state cp : 1.0\n",
|
112
|
-
"Enter state 2 : ip\n",
|
113
|
-
"Enter initial probability of state ip : 0.0\n",
|
114
|
-
"Enter transition probability from cp to cp : 0.7\n",
|
115
|
-
"Enter transition probability from cp to ip : 0.3\n",
|
116
|
-
"Enter transition probability from ip to cp : 0.5\n",
|
117
|
-
"Enter transition probability from ip to ip : 0.5\n",
|
118
|
-
"Enter no of observations : 3\n",
|
119
|
-
"Enter observation 1 : lem\n",
|
120
|
-
"Enter observation 2 : ice\n",
|
121
|
-
"Enter observation 3 : cola\n",
|
122
|
-
"Enter emission probability of lem from cp : 0.3\n",
|
123
|
-
"Enter emission probability of ice from cp : 0.1\n",
|
124
|
-
"Enter emission probability of cola from cp : 0.6\n",
|
125
|
-
"Enter emission probability of lem from ip : 0.2\n",
|
126
|
-
"Enter emission probability of ice from ip : 0.7\n",
|
127
|
-
"Enter emission probability of cola from ip : 0.1\n",
|
128
|
-
"Best Tag Sequence: ['cp', 'ip', 'cp']\n",
|
129
|
-
"Probability of the Best Tag Sequence: 0.0189\n"
|
130
|
-
]
|
131
|
-
}
|
132
|
-
]
|
133
|
-
}
|
134
|
-
],
|
135
|
-
"metadata": {
|
136
|
-
"kernelspec": {
|
137
|
-
"display_name": "Python 3 (ipykernel)",
|
138
|
-
"language": "python",
|
139
|
-
"name": "python3"
|
140
|
-
},
|
141
|
-
"language_info": {
|
142
|
-
"codemirror_mode": {
|
143
|
-
"name": "ipython",
|
144
|
-
"version": 3
|
145
|
-
},
|
146
|
-
"file_extension": ".py",
|
147
|
-
"mimetype": "text/x-python",
|
148
|
-
"name": "python",
|
149
|
-
"nbconvert_exporter": "python",
|
150
|
-
"pygments_lexer": "ipython3",
|
151
|
-
"version": "3.11.5"
|
152
|
-
},
|
153
|
-
"colab": {
|
154
|
-
"provenance": []
|
155
|
-
}
|
156
|
-
},
|
157
|
-
"nbformat": 4,
|
158
|
-
"nbformat_minor": 5
|
159
|
-
}
|
@@ -1,282 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"cells": [
|
3
|
-
{
|
4
|
-
"cell_type": "markdown",
|
5
|
-
"metadata": {
|
6
|
-
"id": "hwHembMnuehB"
|
7
|
-
},
|
8
|
-
"source": [
|
9
|
-
"## PCFG\n",
|
10
|
-
"\n",
|
11
|
-
"Implement the Probabilistic Context Free Grammar (PCFG) and find the inside probability of a word sequence using the CYK algorithm."
|
12
|
-
]
|
13
|
-
},
|
14
|
-
{
|
15
|
-
"cell_type": "code",
|
16
|
-
"execution_count": null,
|
17
|
-
"metadata": {
|
18
|
-
"colab": {
|
19
|
-
"base_uri": "https://localhost:8080/"
|
20
|
-
},
|
21
|
-
"id": "fkukKpNbr9Fw",
|
22
|
-
"outputId": "852fd759-7ec2-4dd4-c1fa-9db808e40805"
|
23
|
-
},
|
24
|
-
"outputs": [
|
25
|
-
{
|
26
|
-
"name": "stdout",
|
27
|
-
"output_type": "stream",
|
28
|
-
"text": [
|
29
|
-
"Inside probability of S: 21.400000000000002\n",
|
30
|
-
"Inside probability of NP: 18.479999999999997\n",
|
31
|
-
"Inside probability of VP: 17.120000000000005\n",
|
32
|
-
"Inside probability of Det: 0.0\n",
|
33
|
-
"Inside probability of N: 0.0\n",
|
34
|
-
"Inside probability of V: 0.0\n",
|
35
|
-
"Total inside probability: 21.400000000000002\n"
|
36
|
-
]
|
37
|
-
}
|
38
|
-
],
|
39
|
-
"source": [
|
40
|
-
"from collections import defaultdict\n",
|
41
|
-
"from itertools import product\n",
|
42
|
-
"\n",
|
43
|
-
"def cyk_algorithm(words, pcfg_rules):\n",
|
44
|
-
" n = len(words)\n",
|
45
|
-
" table = [[defaultdict(float) for _ in range(n)] for _ in range(n)]\n",
|
46
|
-
"\n",
|
47
|
-
" # Initialization\n",
|
48
|
-
" for i, word in enumerate(words):\n",
|
49
|
-
" for nt, (prob, terminals) in pcfg_rules.items():\n",
|
50
|
-
" if word in terminals:\n",
|
51
|
-
" table[i][i][nt] = prob\n",
|
52
|
-
"\n",
|
53
|
-
" # CYK Algorithm\n",
|
54
|
-
" for length in range(2, n + 1):\n",
|
55
|
-
" for i in range(n - length + 1):\n",
|
56
|
-
" j = i + length - 1\n",
|
57
|
-
" for k in range(i, j):\n",
|
58
|
-
" for A, (prob_A, _) in pcfg_rules.items():\n",
|
59
|
-
" for B, (prob_B, _) in pcfg_rules.items():\n",
|
60
|
-
" for C in table[i][k]:\n",
|
61
|
-
" for D in table[k + 1][j]:\n",
|
62
|
-
" prob = prob_A * prob_B * pcfg_rules[A][1].count(C) * pcfg_rules[B][1].count(D)\n",
|
63
|
-
" table[i][j][A] += prob\n",
|
64
|
-
"\n",
|
65
|
-
" return table\n",
|
66
|
-
"\n",
|
67
|
-
"# Example PCFG rules (non-terminal -> (probability, [productions]))\n",
|
68
|
-
"pcfg_rules = {\n",
|
69
|
-
" 'S': (1.0, ['NP', 'VP']),\n",
|
70
|
-
" 'NP': (0.7, ['Det', 'N']),\n",
|
71
|
-
" 'VP': (0.8, ['V', 'NP']),\n",
|
72
|
-
" 'Det': (1.0, ['the']),\n",
|
73
|
-
" 'N': (0.6, ['cat', 'dog']),\n",
|
74
|
-
" 'V': (0.9, ['chased'])\n",
|
75
|
-
"}\n",
|
76
|
-
"\n",
|
77
|
-
"# Example input sentence\n",
|
78
|
-
"words = ['the', 'cat', 'chased', 'the', 'dog']\n",
|
79
|
-
"\n",
|
80
|
-
"# Call CYK algorithm to get inside probabilities\n",
|
81
|
-
"table = cyk_algorithm(words, pcfg_rules)\n",
|
82
|
-
"\n",
|
83
|
-
"# Inside probabilities for non-terminals in the top cell of the table\n",
|
84
|
-
"inside_probabilities = table[0][-1]\n",
|
85
|
-
"\n",
|
86
|
-
"# Print inside probabilities\n",
|
87
|
-
"for nt, prob in inside_probabilities.items():\n",
|
88
|
-
" print(f'Inside probability of {nt}: {prob}')\n",
|
89
|
-
"\n",
|
90
|
-
"# Total inside probability (probability of the whole sentence)\n",
|
91
|
-
"total_probability = inside_probabilities['S']\n",
|
92
|
-
"print(f'Total inside probability: {total_probability}')\n"
|
93
|
-
]
|
94
|
-
},
|
95
|
-
{
|
96
|
-
"cell_type": "code",
|
97
|
-
"execution_count": 2,
|
98
|
-
"metadata": {
|
99
|
-
"colab": {
|
100
|
-
"base_uri": "https://localhost:8080/"
|
101
|
-
},
|
102
|
-
"id": "BXiMT63eyUU1",
|
103
|
-
"outputId": "9eca3bc3-303f-44ed-e836-e03789e9e1c0"
|
104
|
-
},
|
105
|
-
"outputs": [
|
106
|
-
{
|
107
|
-
"name": "stdout",
|
108
|
-
"output_type": "stream",
|
109
|
-
"text": [
|
110
|
-
"Inside probability of S: 21.400000000000002\n",
|
111
|
-
"Inside probability of NP: 18.479999999999997\n",
|
112
|
-
"Inside probability of VP: 17.120000000000005\n",
|
113
|
-
"Inside probability of Det: 0.0\n",
|
114
|
-
"Inside probability of N: 0.0\n",
|
115
|
-
"Inside probability of V: 0.0\n",
|
116
|
-
"Total inside probability: 21.400000000000002\n"
|
117
|
-
]
|
118
|
-
}
|
119
|
-
],
|
120
|
-
"source": [
|
121
|
-
"from collections import defaultdict\n",
|
122
|
-
"from itertools import product\n",
|
123
|
-
"\n",
|
124
|
-
"def cyk_algorithm(words, pcfg_rules):\n",
|
125
|
-
" n = len(words)\n",
|
126
|
-
" table = [[defaultdict(float) for _ in range(n)] for _ in range(n)]\n",
|
127
|
-
"\n",
|
128
|
-
" # Initialization\n",
|
129
|
-
" for i, word in enumerate(words):\n",
|
130
|
-
" for nt, (prob, terminals) in pcfg_rules.items():\n",
|
131
|
-
" if word in terminals:\n",
|
132
|
-
" table[i][i][nt] = prob\n",
|
133
|
-
"\n",
|
134
|
-
" # CYK Algorithm\n",
|
135
|
-
" for length in range(2, n + 1):\n",
|
136
|
-
" for i in range(n - length + 1):\n",
|
137
|
-
" j = i + length - 1\n",
|
138
|
-
" for k in range(i, j):\n",
|
139
|
-
" for A, (prob_A, _) in pcfg_rules.items():\n",
|
140
|
-
" for B, (prob_B, _) in pcfg_rules.items():\n",
|
141
|
-
" for C in table[i][k]:\n",
|
142
|
-
" for D in table[k + 1][j]:\n",
|
143
|
-
" prob = prob_A * prob_B * pcfg_rules[A][1].count(C) * pcfg_rules[B][1].count(D)\n",
|
144
|
-
" table[i][j][A] += prob\n",
|
145
|
-
"\n",
|
146
|
-
" return table\n",
|
147
|
-
"\n",
|
148
|
-
"# Example PCFG rules (non-terminal -> (probability, [productions]))\n",
|
149
|
-
"pcfg_rules = {\n",
|
150
|
-
" 'S': (1.0, ['NP', 'VP']),\n",
|
151
|
-
" 'NP': (0.7, ['Det', 'N']),\n",
|
152
|
-
" 'VP': (0.8, ['V', 'NP']),\n",
|
153
|
-
" 'Det': (1.0, ['the']),\n",
|
154
|
-
" 'N': (0.6, ['cat', 'dog']),\n",
|
155
|
-
" 'V': (0.9, ['chased'])\n",
|
156
|
-
"}\n",
|
157
|
-
"\n",
|
158
|
-
"# New input sentence\n",
|
159
|
-
"words = ['the', 'dog', 'chased', 'the', 'cat']\n",
|
160
|
-
"\n",
|
161
|
-
"# Call CYK algorithm to get inside probabilities\n",
|
162
|
-
"table = cyk_algorithm(words, pcfg_rules)\n",
|
163
|
-
"\n",
|
164
|
-
"# Inside probabilities for non-terminals in the top cell of the table\n",
|
165
|
-
"inside_probabilities = table[0][-1]\n",
|
166
|
-
"\n",
|
167
|
-
"# Print inside probabilities\n",
|
168
|
-
"for nt, prob in inside_probabilities.items():\n",
|
169
|
-
" print(f'Inside probability of {nt}: {prob}')\n",
|
170
|
-
"\n",
|
171
|
-
"# Total inside probability (probability of the whole sentence)\n",
|
172
|
-
"total_probability = inside_probabilities['S']\n",
|
173
|
-
"print(f'Total inside probability: {total_probability}')\n"
|
174
|
-
]
|
175
|
-
},
|
176
|
-
{
|
177
|
-
"cell_type": "code",
|
178
|
-
"execution_count": 3,
|
179
|
-
"metadata": {
|
180
|
-
"colab": {
|
181
|
-
"base_uri": "https://localhost:8080/"
|
182
|
-
},
|
183
|
-
"id": "ORafeKQsyX08",
|
184
|
-
"outputId": "a1f34a3a-ad0d-480e-c0b6-49e2fb46ae80"
|
185
|
-
},
|
186
|
-
"outputs": [
|
187
|
-
{
|
188
|
-
"name": "stdout",
|
189
|
-
"output_type": "stream",
|
190
|
-
"text": [
|
191
|
-
"Inside probability of S: 19.599999999999998\n",
|
192
|
-
"Inside probability of NP: 14.519999999999996\n",
|
193
|
-
"Inside probability of VP: 13.72\n",
|
194
|
-
"Inside probability of Det: 0.0\n",
|
195
|
-
"Inside probability of N: 0.0\n",
|
196
|
-
"Inside probability of V: 0.0\n",
|
197
|
-
"Total inside probability: 19.599999999999998\n"
|
198
|
-
]
|
199
|
-
}
|
200
|
-
],
|
201
|
-
"source": [
|
202
|
-
"from collections import defaultdict\n",
|
203
|
-
"from itertools import product\n",
|
204
|
-
"\n",
|
205
|
-
"def cyk_algorithm(words, pcfg_rules):\n",
|
206
|
-
" n = len(words)\n",
|
207
|
-
" table = [[defaultdict(float) for _ in range(n)] for _ in range(n)]\n",
|
208
|
-
"\n",
|
209
|
-
" # Initialization\n",
|
210
|
-
" for i, word in enumerate(words):\n",
|
211
|
-
" for nt, (prob, terminals) in pcfg_rules.items():\n",
|
212
|
-
" if word in terminals:\n",
|
213
|
-
" table[i][i][nt] = prob\n",
|
214
|
-
"\n",
|
215
|
-
" # CYK Algorithm\n",
|
216
|
-
" for length in range(2, n + 1):\n",
|
217
|
-
" for i in range(n - length + 1):\n",
|
218
|
-
" j = i + length - 1\n",
|
219
|
-
" for k in range(i, j):\n",
|
220
|
-
" for A, (prob_A, _) in pcfg_rules.items():\n",
|
221
|
-
" for B, (prob_B, _) in pcfg_rules.items():\n",
|
222
|
-
" for C in table[i][k]:\n",
|
223
|
-
" for D in table[k + 1][j]:\n",
|
224
|
-
" prob = prob_A * prob_B * pcfg_rules[A][1].count(C) * pcfg_rules[B][1].count(D)\n",
|
225
|
-
" table[i][j][A] += prob\n",
|
226
|
-
"\n",
|
227
|
-
" return table\n",
|
228
|
-
"\n",
|
229
|
-
"# Different PCFG rules\n",
|
230
|
-
"pcfg_rules = {\n",
|
231
|
-
" 'S': (1.0, ['NP', 'VP']),\n",
|
232
|
-
" 'NP': (0.6, ['Det', 'N']),\n",
|
233
|
-
" 'VP': (0.7, ['V', 'NP']),\n",
|
234
|
-
" 'Det': (1.0, ['the', 'a']),\n",
|
235
|
-
" 'N': (0.5, ['cat', 'dog', 'bat']),\n",
|
236
|
-
" 'V': (0.8, ['chased', 'caught'])\n",
|
237
|
-
"}\n",
|
238
|
-
"\n",
|
239
|
-
"# Different input sentence\n",
|
240
|
-
"words = ['the', 'cat', 'chased', 'a', 'bat']\n",
|
241
|
-
"\n",
|
242
|
-
"# Call CYK algorithm to get inside probabilities\n",
|
243
|
-
"table = cyk_algorithm(words, pcfg_rules)\n",
|
244
|
-
"\n",
|
245
|
-
"# Inside probabilities for non-terminals in the top cell of the table\n",
|
246
|
-
"inside_probabilities = table[0][-1]\n",
|
247
|
-
"\n",
|
248
|
-
"# Print inside probabilities\n",
|
249
|
-
"for nt, prob in inside_probabilities.items():\n",
|
250
|
-
" print(f'Inside probability of {nt}: {prob}')\n",
|
251
|
-
"\n",
|
252
|
-
"# Total inside probability (probability of the whole sentence)\n",
|
253
|
-
"total_probability = inside_probabilities['S']\n",
|
254
|
-
"print(f'Total inside probability: {total_probability}')\n"
|
255
|
-
]
|
256
|
-
}
|
257
|
-
],
|
258
|
-
"metadata": {
|
259
|
-
"colab": {
|
260
|
-
"provenance": []
|
261
|
-
},
|
262
|
-
"kernelspec": {
|
263
|
-
"display_name": "Python 3 (ipykernel)",
|
264
|
-
"language": "python",
|
265
|
-
"name": "python3"
|
266
|
-
},
|
267
|
-
"language_info": {
|
268
|
-
"codemirror_mode": {
|
269
|
-
"name": "ipython",
|
270
|
-
"version": 3
|
271
|
-
},
|
272
|
-
"file_extension": ".py",
|
273
|
-
"mimetype": "text/x-python",
|
274
|
-
"name": "python",
|
275
|
-
"nbconvert_exporter": "python",
|
276
|
-
"pygments_lexer": "ipython3",
|
277
|
-
"version": "3.10.12"
|
278
|
-
}
|
279
|
-
},
|
280
|
-
"nbformat": 4,
|
281
|
-
"nbformat_minor": 4
|
282
|
-
}
|