Git Product home page Git Product logo

Comments (7)

chatox avatar chatox commented on June 12, 2024

I would add that:

  • min_proportion_protected is only acceptable as an option if proportion_strategy = fixed

  • lookup_for_measuring_proportion is only acceptable as an option if proportion_strategy = variable

My suggestion is that if an unacceptable combination of options is chosen, (e.g. proportion_strategy = variable and min_proportion_protected present), the administrator is shown an error message and ElasticSearch should not start.


A minor change: "minimum proportion of protected attributes" => "minimum proportion of elements having the protected attribute." There will be only ONE protected attribute in this version of the plugin.


I understand that the name and value of the protected attribute (e.g., "gender = female") will be provided at query time.

from fairsearch-fair-for-elasticsearch.

purbon avatar purbon commented on June 12, 2024

@chatox as you can see in #16 I am starting to work on that topic, after merging the initial version of the topk rescorer (see #12).

A valid question raised while chatting with @tsuehr, how to calculate the min number of protected elements ?

To be sure I follow everything correctly, is this related to:

, the algorithm derives a
ranked group fairness table similar to Table 2, i.e., for each position
it computes the minimum number of protected candidates, given
p, k and αc .

so if at any step of the algorithm main loop,

   m[i] > NumberOfAvailableProtectedCandidats 

throw an error if strategy is abort.

does this makes sense?

/cc @MilkaLichtblau

from fairsearch-fair-for-elasticsearch.

purbon avatar purbon commented on June 12, 2024

@chatox if we do

A minor change: "minimum proportion of protected attributes" => "minimum proportion of elements having the protected attribute." There will be only ONE protected attribute in this version of the plugin.

how is the user expected to pass p (proportion)?

from fairsearch-fair-for-elasticsearch.

chatox avatar chatox commented on June 12, 2024

The minimum proportion of elements having the protected attribute, in the case of the "fixed" strategy, should be a parameter that is configurable by the administrator, not by the end-users who perform a search. Could this be implemented by administrators as a hidden field in the HTML form for the search perhaps?

from fairsearch-fair-for-elasticsearch.

purbon avatar purbon commented on June 12, 2024

Interesting thoughts, thanks for the clarification.

not sure if I see this parameter as a setting, or as a query param with a good default.

In elasticsearch you can see many examples of such type of parameters, like in https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html with fuzzy_max_expansions or minimum_should_match.

I wonder if there is a way we can think about a good default here, what do you think?

from fairsearch-fair-for-elasticsearch.

chatox avatar chatox commented on June 12, 2024

Can we have it as a setting that can be overridden with a query parameter? That would give us more flexibility.

A default could be 0.4 in case the protected attribute is gender, or 0.05 in case the protected attribute is "having a disability".

from fairsearch-fair-for-elasticsearch.

purbon avatar purbon commented on June 12, 2024

code has been tested and merge to master. closing for now, if you or we find bugs we should open new specific issues and fix them.

Users can define this settings as part of query parameters as you can see https://github.com/fair-search/fairsearch-elasticsearch-plugin/blob/master/src/main/java/com/purbon/search/fair/query/FairRescoreBuilder.java#L44 the different options, as a agreed over video.

from fairsearch-fair-for-elasticsearch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.