├── annotation-program ├── templates │ ├── index.html │ ├── login.html │ ├── user_stats.html │ ├── tag.html │ ├── home.html │ ├── base.html │ ├── register.html │ └── annotate.html ├── migrations │ ├── README │ ├── __pycache__ │ │ └── env.cpython-39.pyc │ ├── versions │ │ ├── __pycache__ │ │ │ └── 164cfc37a367_added_similarity_model.cpython-39.pyc │ │ └── 164cfc37a367_added_similarity_model.py │ ├── script.py.mako │ ├── alembic.ini │ └── env.py └── app.py ├── classification ├── model │ ├── svm_model.sav │ ├── binary_nb_model.sav │ ├── binary_svm_model.sav │ ├── multi_nb_model.sav │ ├── multi_svm_model.sav │ ├── binary_vectorizer_model.sav │ ├── multi_vectorizer_model.sav │ └── binary_svm_vectorizer_model.sav └── sklearn_classifier.py ├── recommender ├── LTR_resources │ ├── emb_pattern.pkl │ ├── emb_pattern_title.pkl │ ├── emb_pattern_excerpt.pkl │ ├── emb_pattern_overflow.pkl │ ├── emb_pattern_title_overflow.pkl │ └── emb_pattern_excerpt_overflow.pkl ├── static │ └── shap_plots │ │ ├── pattern_0.png │ │ ├── pattern_1.png │ │ ├── pattern_2.png │ │ ├── pattern_4.png │ │ ├── pattern_5.png │ │ ├── pattern_7.png │ │ ├── pattern_9.png │ │ ├── pattern_10.png │ │ ├── pattern_11.png │ │ ├── pattern_14.png │ │ ├── pattern_16.png │ │ ├── pattern_18.png │ │ ├── pattern_22.png │ │ ├── pattern_25.png │ │ ├── pattern_27.png │ │ ├── pattern_29.png │ │ ├── pattern_30.png │ │ ├── pattern_31.png │ │ ├── pattern_36.png │ │ ├── pattern_37.png │ │ ├── pattern_38.png │ │ ├── pattern_40.png │ │ ├── pattern_41.png │ │ ├── pattern_42.png │ │ ├── pattern_43.png │ │ ├── pattern_44.png │ │ ├── pattern_45.png │ │ ├── pattern_47.png │ │ ├── pattern_49.png │ │ ├── pattern_51.png │ │ ├── pattern_52.png │ │ ├── pattern_53.png │ │ ├── pattern_54.png │ │ ├── pattern_55.png │ │ ├── pattern_56.png │ │ ├── pattern_57.png │ │ ├── pattern_59.png │ │ ├── pattern_61.png │ │ ├── pattern_63.png │ │ ├── pattern_64.png │ │ ├── pattern_66.png │ │ ├── pattern_72.png │ │ ├── waterfall_pattern_0.png │ │ ├── waterfall_pattern_1.png │ │ ├── waterfall_pattern_2.png │ │ ├── waterfall_pattern_4.png │ │ ├── waterfall_pattern_5.png │ │ ├── waterfall_pattern_7.png │ │ ├── waterfall_pattern_9.png │ │ ├── pattern_Lawful Consent.png │ │ ├── pattern_Onion Routing.png │ │ ├── pattern_Private link.png │ │ ├── waterfall_pattern_10.png │ │ ├── waterfall_pattern_11.png │ │ ├── waterfall_pattern_14.png │ │ ├── waterfall_pattern_16.png │ │ ├── waterfall_pattern_18.png │ │ ├── waterfall_pattern_22.png │ │ ├── waterfall_pattern_25.png │ │ ├── waterfall_pattern_27.png │ │ ├── waterfall_pattern_29.png │ │ ├── waterfall_pattern_30.png │ │ ├── waterfall_pattern_31.png │ │ ├── waterfall_pattern_36.png │ │ ├── waterfall_pattern_37.png │ │ ├── waterfall_pattern_38.png │ │ ├── waterfall_pattern_40.png │ │ ├── waterfall_pattern_41.png │ │ ├── waterfall_pattern_42.png │ │ ├── waterfall_pattern_43.png │ │ ├── waterfall_pattern_44.png │ │ ├── waterfall_pattern_45.png │ │ ├── waterfall_pattern_47.png │ │ ├── waterfall_pattern_49.png │ │ ├── waterfall_pattern_51.png │ │ ├── waterfall_pattern_52.png │ │ ├── waterfall_pattern_53.png │ │ ├── waterfall_pattern_54.png │ │ ├── waterfall_pattern_55.png │ │ ├── waterfall_pattern_56.png │ │ ├── waterfall_pattern_57.png │ │ ├── waterfall_pattern_59.png │ │ ├── waterfall_pattern_61.png │ │ ├── waterfall_pattern_63.png │ │ ├── waterfall_pattern_64.png │ │ ├── waterfall_pattern_66.png │ │ ├── waterfall_pattern_72.png │ │ ├── pattern_Personal Data Store.png │ │ ├── pattern_Psuedonymous Identity.png │ │ ├── pattern_Selective access control.png │ │ ├── pattern_Single Point of Contact.png │ │ ├── pattern_Obtaining Explicit Consent.png │ │ ├── pattern_Active broadcast of presence.png │ │ ├── pattern_Attribute Based Credentials.png │ │ ├── pattern_Protection against Tracking.png │ │ ├── pattern_[Support] Selective Disclosure.png │ │ ├── pattern_Encryption with user-managed keys.png │ │ ├── pattern_Anonymous Reputation-based Blacklisting.png │ │ └── pattern_Decoupling [content] and location information visibility.png ├── classification_model │ ├── multi_nb_model.sav │ ├── binary_nb_model.sav │ ├── binary_vectorizer_model.sav │ └── multi_vectorizer_model.sav ├── __pycache__ │ └── feature_creation.cpython-39.pyc ├── README.md ├── predict_console.py ├── templates │ └── index.html ├── data │ └── patterns_new.json ├── app.py └── feature_creation.py ├── README.md └── letor ├── feature_importance.py ├── lightgbm_ltr_train.py ├── compute_shap.py ├── case_studies.py └── feature_creation.py /annotation-program/templates/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /annotation-program/migrations/README: -------------------------------------------------------------------------------- 1 | Single-database configuration for Flask. 2 | -------------------------------------------------------------------------------- /classification/model/svm_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/classification/model/svm_model.sav -------------------------------------------------------------------------------- /classification/model/binary_nb_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/classification/model/binary_nb_model.sav -------------------------------------------------------------------------------- /classification/model/binary_svm_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/classification/model/binary_svm_model.sav -------------------------------------------------------------------------------- /classification/model/multi_nb_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/classification/model/multi_nb_model.sav -------------------------------------------------------------------------------- /classification/model/multi_svm_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/classification/model/multi_svm_model.sav -------------------------------------------------------------------------------- /recommender/LTR_resources/emb_pattern.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/LTR_resources/emb_pattern.pkl -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_0.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_1.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_2.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_4.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_5.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_7.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_9.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_10.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_11.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_14.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_16.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_18.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_22.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_25.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_27.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_29.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_30.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_31.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_36.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_37.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_38.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_40.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_41.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_42.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_43.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_44.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_45.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_47.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_49.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_51.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_52.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_53.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_54.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_55.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_56.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_57.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_59.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_61.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_63.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_64.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_66.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_72.png -------------------------------------------------------------------------------- /classification/model/binary_vectorizer_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/classification/model/binary_vectorizer_model.sav -------------------------------------------------------------------------------- /classification/model/multi_vectorizer_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/classification/model/multi_vectorizer_model.sav -------------------------------------------------------------------------------- /recommender/LTR_resources/emb_pattern_title.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/LTR_resources/emb_pattern_title.pkl -------------------------------------------------------------------------------- /recommender/LTR_resources/emb_pattern_excerpt.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/LTR_resources/emb_pattern_excerpt.pkl -------------------------------------------------------------------------------- /recommender/LTR_resources/emb_pattern_overflow.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/LTR_resources/emb_pattern_overflow.pkl -------------------------------------------------------------------------------- /recommender/classification_model/multi_nb_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/classification_model/multi_nb_model.sav -------------------------------------------------------------------------------- /classification/model/binary_svm_vectorizer_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/classification/model/binary_svm_vectorizer_model.sav -------------------------------------------------------------------------------- /recommender/classification_model/binary_nb_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/classification_model/binary_nb_model.sav -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_0.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_1.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_2.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_4.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_5.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_7.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_9.png -------------------------------------------------------------------------------- /recommender/LTR_resources/emb_pattern_title_overflow.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/LTR_resources/emb_pattern_title_overflow.pkl -------------------------------------------------------------------------------- /recommender/__pycache__/feature_creation.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/__pycache__/feature_creation.cpython-39.pyc -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Lawful Consent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Lawful Consent.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Onion Routing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Onion Routing.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Private link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Private link.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_10.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_11.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_14.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_16.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_18.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_22.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_25.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_27.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_29.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_30.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_31.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_36.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_37.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_38.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_40.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_41.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_42.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_43.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_44.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_45.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_47.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_49.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_51.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_52.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_53.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_54.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_55.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_56.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_57.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_59.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_61.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_63.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_64.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_66.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/waterfall_pattern_72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/waterfall_pattern_72.png -------------------------------------------------------------------------------- /recommender/LTR_resources/emb_pattern_excerpt_overflow.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/LTR_resources/emb_pattern_excerpt_overflow.pkl -------------------------------------------------------------------------------- /annotation-program/migrations/__pycache__/env.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/annotation-program/migrations/__pycache__/env.cpython-39.pyc -------------------------------------------------------------------------------- /recommender/classification_model/binary_vectorizer_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/classification_model/binary_vectorizer_model.sav -------------------------------------------------------------------------------- /recommender/classification_model/multi_vectorizer_model.sav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/classification_model/multi_vectorizer_model.sav -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Personal Data Store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Personal Data Store.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Psuedonymous Identity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Psuedonymous Identity.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Selective access control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Selective access control.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Single Point of Contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Single Point of Contact.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Obtaining Explicit Consent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Obtaining Explicit Consent.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Active broadcast of presence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Active broadcast of presence.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Attribute Based Credentials.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Attribute Based Credentials.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Protection against Tracking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Protection against Tracking.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_[Support] Selective Disclosure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_[Support] Selective Disclosure.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Encryption with user-managed keys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Encryption with user-managed keys.png -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Anonymous Reputation-based Blacklisting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Anonymous Reputation-based Blacklisting.png -------------------------------------------------------------------------------- /recommender/README.md: -------------------------------------------------------------------------------- 1 | # Privacy Design Pattern Recommender 2 | 3 | Run the recommender program by executing `python app.py`. 4 | 5 | ## Prerequisites 6 | Install the following Python libraries: 7 | - lightgbm 8 | - shap 9 | - flask -------------------------------------------------------------------------------- /recommender/static/shap_plots/pattern_Decoupling [content] and location information visibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/recommender/static/shap_plots/pattern_Decoupling [content] and location information visibility.png -------------------------------------------------------------------------------- /annotation-program/migrations/versions/__pycache__/164cfc37a367_added_similarity_model.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gunturbudi/pattern-recommender/main/annotation-program/migrations/versions/__pycache__/164cfc37a367_added_similarity_model.cpython-39.pyc -------------------------------------------------------------------------------- /annotation-program/migrations/script.py.mako: -------------------------------------------------------------------------------- 1 | """${message} 2 | 3 | Revision ID: ${up_revision} 4 | Revises: ${down_revision | comma,n} 5 | Create Date: ${create_date} 6 | 7 | """ 8 | from alembic import op 9 | import sqlalchemy as sa 10 | ${imports if imports else ""} 11 | 12 | # revision identifiers, used by Alembic. 13 | revision = ${repr(up_revision)} 14 | down_revision = ${repr(down_revision)} 15 | branch_labels = ${repr(branch_labels)} 16 | depends_on = ${repr(depends_on)} 17 | 18 | 19 | def upgrade(): 20 | ${upgrades if upgrades else "pass"} 21 | 22 | 23 | def downgrade(): 24 | ${downgrades if downgrades else "pass"} 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Learning-to-Rank Privacy Design Pattern 2 | 3 | Supplementary repository for "Learning to Rank Privacy Design Patterns: A Semantic Approach to Meeting Privacy Requirements" paper. 4 | 5 | ## Repository Structure 6 | - **annotation-program**: Contains annotation software and `annotation_result.json` for replicating relevance assessments. 7 | - **classification**: Code for text classification essential for feature engineering in LTR. 8 | - **letor**: Core code for the learning-to-rank process. 9 | - **recommender**: Flask program interfacing the recommender system. 10 | 11 | ## Training Data Access 12 | The training data, including Hadamard product and concatenation embedding, is available at [https://bit.ly/letor_priv](https://bit.ly/letor_priv) for download. -------------------------------------------------------------------------------- /annotation-program/templates/login.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}Welcome{% endblock %} 4 | 5 | {% block content %} 6 | 7 |
| # | 10 |Query | 11 |Candidates (Relevance) | 12 |Timestamp | 13 |
|---|---|---|---|
| {{ loop.index }} | 19 |{{ annotation.query }} | 20 |21 | {% for candidate, relevance in annotation.candidates %} 22 | {{ candidate }} ({{ relevance }}){% if not loop.last %}, {% endif %} 23 | {% endfor %} 24 | | 25 |{{ annotation.timestamp }} | 26 |
| Query Text | 10 |Description | 11 |Source | 12 |Tags | 13 |
|---|---|---|---|
| {{ candidate.text }} | 19 |{{ candidate.description }} | 20 |source | 21 |22 | {% for tag in candidate.tags %} 23 | {{ tag.name }}{% if not loop.last %}, {% endif %} 24 | {% endfor %} 25 | | 26 |
Welcome to the comprehensive collection of privacy requirements and design patterns
13 |You've completed {{ annotation.done }} out of {{ annotation.total }} annotations for source "{{ annotation.source }}".
33 |