-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added extra stats to be sent with MrDLib recommendations #4452
Conversation
Added OS, OS version, Java Version, and Timezone to stats sent to MDL with each request. Updated API endpoint Updated JSON parsing
Hm, what do the properties |
Hi @stefan-kolb , First, let us provide some background information for those who are not familiar with the recommender system and the changes. In JabRef 4.x, the following data was sent to Mr. DLib: partner_id ("jabref"), app_id ("jabref_desktop") app_version (JabRef version), and app_lang (JabRef language). For JabRef 5.x we would like to add the Operating System and Version, Java Version and Timezone. Ideally, we would sooner or later add additional information such as screen resolution and the window size of JabRef. Generally, the more information a recommender system has about its users, the better the recommendations can potentially be. We will use all collected information to apply machine learning, i.e. learning in which context which items or recommendation algorithms may be best. Which information may be needed can never be said in advance, only after we have done some experiments. For instance, in some situations, there are notable differences between Apple and Windows users when it comes to recommendations (see e.g. https://www.forbes.com/sites/adriankingsleyhughes/2012/06/26/mac-users-have-money-to-spare-says-orbitz/). Hence, the operating system is a valuable piece of information. We don't know if the same applies e.g. to the JAVA version, but we would like to try it out. Hence, we would like to transmit this information. We know that there is always a trade-off between privacy and recommendation effectiveness. In this case, we feel that OS, OS version, Java version, and Timezone would not pose a significant risk to user privacy. We also made it clear in the "Mr. DLib for JabRef information page" http://mr-dlib.org/information-for-users/information-about-mr-dlib-for-jabref-users/ what data is being collected and why. We would also be happy to add this information to the initial consent dialogue in JabRef. (The web page mentions that we would collect some data such as screen resolution though we don't do this yet. We thought we would just mention it on the page so that users are aware of our medium-term plans.) In the long run, we would like to have three options in JabRef relating to the recommender system. 1. Deactivate 2. Standard Recommendations (that would be recommendations as they are now) 3. Advanced Personalized Recommendations (with unique user IDs) for which users, again, would have to explicitly opt-in. We are happy to discuss this further over Skype or any other method that suits. |
Hi @conorfos, You may use the For the 'basic recommendation' based on the title the current opt-in is sufficient. For the 'advanced recommendations' using ( This is our compromise trading off your efforts for recommender systems research and protecting our users' privacy, also accounting for what is reasonable with regard to the general principle of data economy. |
Hi @LinusDietz , ok, it's no problem to change the dialogue to make the users agree for every piece of data explicitly. Regarding the specific data to be transferred, I am not sure if I am understanding you correctly. Currently, the "old" JabRef that uses Mr. DLib, transfers the JabRef version and I believe also the language. Now, you mention that we are allowed to submit OS and timezone. Is that in addition to or instead of the JabRef version and language? To us, the JabRef version and language are actually more important for the recommendations than OS and timezone . The JabRef version may also be important one day to ensure backwards compatibility with our service. Also, do we understand you correctly that you do not want us to create a unique user id as part of the "advanced recommendations", in which case we would not be able to give personalized recommendations? Best, |
Whoops, I overlooked that one. Of course, you can also use the JabRef Version and the Language as done before. Regarding personalized recommendations, we have not reached any consensus/decision yet. |
Language, os, and timezone may be individually selected
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From my perspective it looks good. Some variables names could be improved, and some methods simplified, but I'd suggest to merge this, since it took very long to incorporate this PR anyways. Thanks to everyone discussing this!
* upstream/master: Bump checkstyle from 8.15 to 8.16 (#4562) Bump xmpbox from 2.0.12 to 2.0.13 (#4561) Delete the deprecated BibEntry Constructor (#4560) Refactor BibEntry deprecated method (#4554) Added extra stats to be sent with MrDLib recommendations (#4452) improve styling of preferences side menu (#4556) Cleanup interfaces (#4553)
* 'ooPanel' of github.com:JabRef/jabref: Refactor BibEntry deprecated method (#4554) Added extra stats to be sent with MrDLib recommendations (#4452) checkstyle change mac default settings to LO path Add Book as preview as well fix style file select layout and inline variable' improve styling of preferences side menu (#4556) Cleanup interfaces (#4553)
* upstream/master: (583 commits) update jfoenix and gradle plugins Replace outdated transformer log4j2 with official new one Update journalList.txt Fix for Issue #4437 - Some bugs in preference->Entry table columns (#4546) Don't set column sort type at startup (#4577) Add uncaught exception message (#4565) Converts integrity check dialog to JavaFX (#4559) Do not extract file ending from Urls (#4547) Bump checkstyle from 8.15 to 8.16 (#4562) Bump xmpbox from 2.0.12 to 2.0.13 (#4561) Delete the deprecated BibEntry Constructor (#4560) Refactor BibEntry deprecated method (#4554) Added extra stats to be sent with MrDLib recommendations (#4452) improve styling of preferences side menu (#4556) Cleanup interfaces (#4553) Bump fontbox from 2.0.12 to 2.0.13 (#4552) Bump pdfbox from 2.0.12 to 2.0.13 (#4551) Bump wiremock from 2.19.0 to 2.20.0 (#4550) Fixes that renaming a group did not change the group name in the interface (#4549) Bump applicationinsights-logging-log4j2 from 2.2.1 to 2.3.0 (#4540) Bump antlr4-runtime from 4.7.1 to 4.7.2 (#4542) ... # Conflicts: # src/main/java/org/jabref/gui/JabRefFrame.java # src/main/java/org/jabref/model/entry/BibtexString.java
* Cleanup interfaces (#4553) * improve styling of preferences side menu (#4556) * Added extra stats to be sent with MrDLib recommendations (#4452) * Refactor BibEntry deprecated method (#4554) * Refactor BibEntry deprecated method * Fixed error * More on checkstyle fixing * Fixed checkstyle issues * Added custom entrytype for types not registered in the enumerator. * Added getTypeOrDefault method refactor code to use it and fix NPE problem * Fixing checkstyle rules * More on checkstyle * More on getType getTypeOrDefault replacement * Revert Article EntryType into Electronic * Added break line between different packages * Refactor BibtextEntryTypes.getTypeOrDefault method * Removed unused import * Removed extra new line, checkstyle error fixing * Delete the deprecated BibEntry Constructor (#4560) * Bump xmpbox from 2.0.12 to 2.0.13 (#4561) Bumps xmpbox from 2.0.12 to 2.0.13. Signed-off-by: dependabot[bot] <[email protected]> * Bump checkstyle from 8.15 to 8.16 (#4562) Bumps [checkstyle](https://github.com/checkstyle/checkstyle) from 8.15 to 8.16. - [Release notes](https://github.com/checkstyle/checkstyle/releases) - [Commits](checkstyle/checkstyle@checkstyle-8.15...checkstyle-8.16) Signed-off-by: dependabot[bot] <[email protected]> * Do not extract file ending from Urls (#4547) * Fixes #4544 Do not extract file ending from Urls * Add tests * file type for any resource type * Keep simple file name extraction for files * checkstyle * Converts integrity check dialog to JavaFX (#4559) * Converts integrity check dialog to JavaFX Moreover: - Show entry by reference and not by id. Fixes #2181. - Fixes a few issues that occurred when opening the entry editor by code from the integrity dialog - Reuse gridpane in entry editor (should have a slightly superior performance) - Improve display of progress dialog - Invoke copy files task using central task executor * fix l10n fix aborting of copy files task and showing of integrity check dialog * fix l10n * Add uncaught exception message (#4565) * Add error message for uncaught exceptions Added a new view to the project. It's shown after the uncaught exception is logged. * Add simple text to fallback error view Added a label asking the user to look into the logfiles for more details. * Add error message to language files Added the error message to the german and english language files. * Add ErrorDialogAndWait Removed the FallbackErrorView. Added the showErrorDialogAndWait call instead. * BibTex parser triggered on focus out of the text area instead of on value change event * BibTex parser triggered on focus out of the text area instead of on value change event * Added a post-parsing validation to be sure there's no relevant unconsidered content into epilog. Added DialogService in SourceTab as current NotificationPane seems not working. * Added a post-parsing validation to be sure there's no relevant unconsidered content into epilog. Added DialogService in SourceTab as current NotificationPane seems not working. * Codacy/PR Quality Review change. * Codacy/PR Quality Review change.
** OS, OS version, Java version, Timezone
** Changed endpoint url
** Updated name of some of the expected JSON fields