diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-08-04 19:21:12 -0400 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-08-04 19:21:12 -0400 |
commit | 2a40a70aa8f9c464f9d91314c6c7265e1b6a1049 (patch) | |
tree | aef3aaefacc4190fe3a1d14341ba3a407d85b73b | |
parent | 4c6ad71070133da729856d3ae88da6496028ba4f (diff) | |
download | blessed-2a40a70aa8f9c464f9d91314c6c7265e1b6a1049.tar.gz blessed-2a40a70aa8f9c464f9d91314c6c7265e1b6a1049.tar.bz2 blessed-2a40a70aa8f9c464f9d91314c6c7265e1b6a1049.zip |
Added more defense against slurs
Both the nouns and verbs are now checked for homography with slurs. The slur list has expanded from ethnic slurs to "derogations", which includes some a few innocent words but you gotta do what you gotta do. refs #2
-rw-r--r-- | blessed.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/blessed.cpp b/blessed.cpp index 02f4273..c8041d0 100644 --- a/blessed.cpp +++ b/blessed.cpp | |||
@@ -57,15 +57,20 @@ int main(int argc, char** argv) | |||
57 | std::uniform_int_distribution<int> emojidist(0, emojis.size()-1); | 57 | std::uniform_int_distribution<int> emojidist(0, emojis.size()-1); |
58 | std::bernoulli_distribution continuedist(1.0/2.0); | 58 | std::bernoulli_distribution continuedist(1.0/2.0); |
59 | 59 | ||
60 | verbly::filter slurFilter = | ||
61 | (verbly::word::usageDomains %= (verbly::notion::wnid == 106717170)); | ||
62 | |||
60 | verbly::filter nounFilter = | 63 | verbly::filter nounFilter = |
61 | (verbly::notion::partOfSpeech == verbly::part_of_speech::noun) | 64 | (verbly::notion::partOfSpeech == verbly::part_of_speech::noun) |
62 | && (verbly::form::proper == false) | 65 | && (verbly::form::proper == false) |
63 | // Blacklist ethnic slurs | 66 | // Blacklist slurs and slur homographys |
64 | && !(verbly::word::usageDomains %= (verbly::notion::wnid == 106718862)); | 67 | && !(verbly::word::forms(verbly::inflection::base) %= slurFilter);; |
65 | 68 | ||
66 | verbly::query<verbly::word> verbQuery = database.words( | 69 | verbly::query<verbly::word> verbQuery = database.words( |
67 | (verbly::notion::partOfSpeech == verbly::part_of_speech::verb) | 70 | (verbly::notion::partOfSpeech == verbly::part_of_speech::verb) |
68 | && (verbly::pronunciation::rhymes %= nounFilter)); | 71 | && (verbly::pronunciation::rhymes %= nounFilter) |
72 | // Blacklist slurs and slur homographys | ||
73 | && !(verbly::word::forms(verbly::inflection::base) %= slurFilter)); | ||
69 | 74 | ||
70 | for (;;) | 75 | for (;;) |
71 | { | 76 | { |