import urllib.request import gradio as gr import numpy as np def debias(gendered_word1,gendered_word2,occupation,model): return 'test','test','test' def load_glove(path): with open(path) as f: lines = f.readlines() wv = [] vocab = [] for line in lines: tokens = line.strip().split(" ") assert len(tokens) == 301 vocab.append(tokens[0]) wv.append([float(elem) for elem in tokens[1:]]) w2i = {w: i for i, w in enumerate(vocab)} wv = np.array(wv).astype(float) print(len(vocab), wv.shape, len(w2i)) return wv, w2i, vocab demo = gr.Interface( debias, inputs = [ gr.Textbox(placeholder="Gendered Word 1(Exp. Man)"), gr.Textbox(placeholder="Gendered Word 2(Exp. Woman)"), gr.Textbox(placeholder="Occupation(Exp. Nurse)"), gr.Radio(choices=['Glove-300d'],value='gpt2') ], outputs = [gr.Textbox(label="Debiased text"),gr.Textbox(label="Biased text"), gr.Markdown( value="

Examples

\n ")], description = 'Self-Diagnosis and Self-Debiasing: A Proposal for Reducing Corpus-Based Bias in NLP' ) if __name__ == '__main__': urllib.request.urlretrieve("https://cdn-lfs.huggingface.co/repos/51/d0/51d02f0735de2187e78af7db593c8d71efbcddfe9f5e45cfa1c77904daf0dfdf/20dac974c73413d4b4f463f9b28eabfb326793d2732c108a9cd1262f2a055dc3?response-content-disposition=attachment%3B%20filename%3D%22glove_debiased_300d.txt%22", "glove_debiased_300d.txt") wv, w2i, vocab = load_glove('glove_debiased_300d.txt') demo.launch()