PLs sobre Direitos Sexuais e Reprodutivos (2018–2020)
Análise exploratória de corpus codificado — piloto - Não citar
Authors
Affiliation
Luiz Claudio Pimenta Filho
Núcleo de Estudos sobre o Crime e a Pena — FGV Direito SP
Matheus de Barros
data =FileAttachment("dsr_data.json").json()proCodes = ["Separação de Poderes - Legislativo vs. Executivo (a favor do direito ao aborto)","Defesa do direito ao aborto legal","Autonomia e direitos sexuais e reprodutivos","Saúde física e psicológica da mulher (pró DSR)","Direito Internacional (pró direitos sexuais e reprodutivos)","Interpretação sistemática pró DSR","Menção a jurista (pró DSR)","Fortalecimento da via penal (pró direitos sexuais e reprodutivos)"]contraCodes = ["Separação de Poderes - Legislativo vs. Executivo (contra direito ao aborto)","Separação de Poderes - Legislativo vs. Judiciário (contra o direito ao aborto)","Início da vida desde a concepção","Fortalecimento da via penal (contra direitos sexuais e reprodutivos)","Direito à vida do feto","Saúde física e psicológica da mulher (contra DSR)","Vontade popular","Assassinato de bebês/nascituro/embriões/fetos","Direito Civil e direitos do feto","Dignidade do feto","Condenação à morte por crime dos pais","Direito Internacional (contra direitos sexuais e reprodutivos)","Interpretação sistemática contra DSR","Argumento científico contra DSR","Lei Natural","Soberania Nacional (contra DSR)","Combate ao acesso ao aborto","Contra o aborto legal","Contra pesquisas com embriões","Política internacional conservadora","Argumento ou referência religiosa","Menção a jurista (contra DSR)","Benefício econômico contra aborto","Caracterização negativa de mulheres"]functiongetColor(code) {if (proCodes.indexOf(code) >=0) return"#1D9E75"if (contraCodes.indexOf(code) >=0) return"#D85A30"return"#888780"}
Frequência de códigos
Distribuição dos segmentos codificados por categoria analítica. Cores indicam polaridade: ■ contra DSR, ■ pró DSR, ■ neutro/misto.
Cada barra representa um PL ou PDL. As barras são normalizadas para 100% para facilitar comparação. ■ segmentos contra DSR, ■ segmentos pró DSR.
polarityNorm = data.doc_polarity.flatMap(d => {const total = d.contra+ d.proconst contraPct = total >0? d.contra/ total :0const proPct = total >0? d.pro/ total :0return [ { doc: d.doc,x1:0,x2: contraPct,type:"contra",total: d.total,pct:Math.round(contraPct *100) }, { doc: d.doc,x1: contraPct,x2: contraPct + proPct,type:"pro",total: d.total,pct:Math.round(proPct *100) } ]})docOrder = data.doc_polarity.slice().sort((a, b) => b.total- a.total).map(d => d.doc)Plot.plot({marginLeft:160,marginRight:40,height:700,x: {label:"Proporção de segmentos (contra ← | → pró DSR)",tickFormat: d =>`${Math.round(d *100)}%`,grid:true,domain: [0,1] },y: { label:null,domain: docOrder },marks: [ Plot.barX(polarityNorm, {x1:"x1",x2:"x2",y:"doc",fill: d => d.type==="pro"?"#1D9E75":"#D85A30",title: d =>`${d.type==="pro"?"Pró DSR":"Contra DSR"}: ${d.pct}% (${d.total} segmentos total)`,tip:true }), Plot.ruleX([0.5], { stroke:"#B4B2A9",strokeDasharray:"4,2" }) ]})
Posição média dos códigos no texto
Onde cada código tende a aparecer dentro dos documentos: 0 = início, 1 = fim. Tamanho do círculo = número de ocorrências. Revela a estrutura retórica: argumentos fundacionais aparecem antes, argumentos consequentes depois.
Plot.plot({marginLeft:280,marginRight:40,height:700,x: {label:"Posição média no documento (0 = início · 1 = fim)",domain: [0,1],grid:true },y: { label:null },marks: [ Plot.dot(data.positions, {x:"avg_pos",y:"code",r: d =>Math.max(4,Math.min(16,3+ d.n*0.5)),fill: d =>getColor(d.code),opacity:0.85,sort: { y:"x" },tip:true }), Plot.ruleX([0.5], { stroke:"#B4B2A9",strokeDasharray:"4,2" }) ]})
N-gramas por código
Vocabulário recorrente dentro de cada categoria analítica. Bigrams e trigrams revelam as expressões-chave que caracterizam cada argumento no corpus.