Improve Autosuggestions - #660
Conversation
Thank you for the pull request! 💙The Scribe-Android team will do our best to address your contribution as soon as we can. The following are some important points:
Note Scribe uses Conventional Comments in reviews to make sure that communication is as clear as possible. |
Maintainer ChecklistThe following is a checklist for maintainers to make sure this process goes as well as possible. Feel free to address the points below yourself in further commits if you realize that actions are needed :)
|
|
This would require some additional work. Drafting a PR here to have this open to people's suggestions. |
|
I have updated the data for the autosuggestion but we would need to attribute them they have a CC license. @andrewtavis would you be fine with it |
|
I am not sure how much of an improements it is for english but could you have it checked for german. Also could you check for german and english swear words being censored by the keyboard. I have disabled swear words being generated as suggestion as well. It was present earlier. A small hicup from my end. |
|
Thanks for sending this along, @angrezichatterbox! I'll take a look :) |
|
@angrezichatterbox @andrewtavis just a heads up will this pr also include emoji suggestions |
|
Will you be collaborating on this, @Roniscend? We could change this to close #637 then? |
|
Also @angrezichatterbox, us attributing this with CC would be totally fine. Ideally we'd add the attribution to Scribe-i18n and then put it in the third party license sub menu :) |
|
And trying this out now, @angrezichatterbox :) Generally all seems to be working well. There are a few bugs that we can maybe just work through over a call. They're not related to this PR. note: The filtration of swear words is basically not working. I tried Honestly I'm not really to preoccupied with this, but we do have a working solution. In Scribe-Data we have src/scribe_data/wikidata/query_profanity.sparql, which returns a list of words that are marked as profanity, pejorative (used to disparage someone) or vulgar. We could add an end point for this and populate a table with these values? We basically would not complete or suggest any string that includes a word in this dataset? This would solve issues like CC @DeleMike and @axif0 👋 How do the two of you feel about adding a profanity table that we then can check against and is updated against the rest of the data? |
Ok Sure |
|
Updated the PR message to reflect that we'll close #637 with this PR.@Roniscen, let us know anything that needs to change here :) |
We would have to use this. Would this be a lot if not we could load this into a hashmap in the keyboard start or maybe re generate the dicts using the profanity db you would provide. |
|
Also the easiest solution for this would be to shift to the Scribe Data one as primary but it is giving me some responses with 2 words which - in betweem like which -> which-drawing which-kid-is-doing-what If this gets fixed we would make it like the fallback is the native suggestion module until we generate our own dicts. |
|
notes from the call we're doing, @angrezichatterbox:
For this and similar cases we can take the first word to make sure that we are fitting something within the key and are only doing single word suggestions. Specifically also for context, this is important in cases where the user would be confused by a long suggestion that wouldn't fit on the key and might appear to be something else based on how the string is truncated. We also made scribe-org/Scribe-Data#710 for the profanity data :) |
Contributor checklist
./gradlew lintKotlin detekt testcommand as directed in the testing section of the contributing guideDescription
This PR is to address the issues with the autosuggestion regarding the accuracy and the files which weren't required for the project.
Related issue