Resultados quantitativos da análise de aceitação social de tecnologias energéticas
Este documento apresenta os principais resultados quantitativos da análise de ~450 artigos científicos sobre fatores de aceitação social de tecnologias de transição energética. Todos os dados são extraídos diretamente do compilador Synesis — sem dependência de banco de dados externo.
Notebook interativo
Os gráficos abaixo são interativos (Plotly): passe o mouse para ver detalhes, clique na legenda para filtrar, e use os controles de zoom. O código-fonte está disponível em cada seção — clique em “Mostrar código” para expandir.
Jupyter e Quarto Publishing
Esta página exemplifica o uso de notebooks Jupyter integrados ao Quarto Publishing para produção de documentação profissional e reproduzível. Os dados são lidos diretamente pelo compilador Synesis via synesis.load, sem necessidade de banco de dados externo ou exportações intermediárias — o próprio corpus de anotações alimenta os gráficos e tabelas.
O código ilustra como anotações no formato Synesis podem ser compiladas em memória e convertidas em DataFrames para análise e visualização. Consulte o Guia de Referência do synesis.load para a documentação completa da API.
1 Carregamento dos dados
Mostrar código
from pathlib import Pathimport pandas as pdimport plotly.express as pximport plotly.graph_objects as gofrom plotly.subplots import make_subplotsimport synesisfrom IPython.display import display, Markdownpd.set_option('display.max_colwidth', 80)# --- Carregamento do projeto ---project_dir = Path("../../case-studies/Social_Acceptance")def read_text(path: Path) ->str:return path.read_text(encoding="utf-8")result = synesis.load( project_content=read_text(project_dir /"social_acceptance.synp"), template_content=read_text(project_dir /"social_acceptance.synt"), annotation_contents={"social_acceptance.syn": read_text(project_dir /"social_acceptance.syn")}, ontology_contents={"social_acceptance.syno": read_text(project_dir /"social_acceptance.syno")}, bibliography_content=read_text(project_dir /"social_acceptance.bib"),)assert result.success, f"Erro de compilação:\n{result.get_diagnostics()}"dfs = result.to_dataframes()sources = dfs["sources"]items = dfs["items"]onto = dfs["ontologies"]chains = dfs["chains"]stats = result.stats# Dicionários de referência usados em várias seçõesaspect_labels = {"0": "Undefined", "1": "Quantitative", "2": "Spatial", "3": "Kinematic","4": "Physical", "5": "Biotic", "6": "Sensitive", "7": "Analytical","8": "Formative", "9": "Lingual", "10": "Social", "11": "Economic","12": "Aesthetic", "13": "Juridical", "14": "Ethical", "15": "Fiducial",}dim_labels = {"0": "Não classificado","1": "Comunitária","2": "Mercado","3": "Sociopolítica","4": "Técnico-científica",}# Estatísticas de conceitos (reutilizadas em várias seções)all_concepts = pd.concat([ chains[["from_code", "bibref"]].rename(columns={"from_code": "concept"}), chains[["to_code", "bibref"]].rename(columns={"to_code": "concept"}),])concept_stats = all_concepts.groupby("concept").agg( frequencia=("concept", "count"), fontes=("bibref", "nunique")).sort_values("frequencia", ascending=False)display(Markdown("Projeto carregado com sucesso."))
Projeto carregado com sucesso.
2 Panorama geral
Antes de explorar os resultados, é importante entender a escala da análise. O corpus combina centenas de artigos processados por codificação assistida por IA, produzindo uma rede de conhecimento com milhares de relações causais.
Mostrar código
panorama = pd.DataFrame([ {"Métrica": "Artigos analisados", "Valor": stats.source_count,"O que significa": "Fontes científicas processadas pelo pipeline"}, {"Métrica": "Evidências extraídas", "Valor": stats.item_count,"O que significa": "Excertos com cadeias causais identificadas"}, {"Métrica": "Conceitos na ontologia", "Valor": stats.ontology_count,"O que significa": "Fatores únicos classificados multidimensionalmente"}, {"Métrica": "Relações causais", "Valor": stats.triple_count,"O que significa": "Conexões do tipo A → relação → B entre conceitos"},])display(panorama.style.hide(axis='index').set_properties(**{'text-align': 'left'}).set_table_styles([ {'selector': 'th', 'props': [('text-align', 'left'), ('font-weight', 'bold')]}]))
Os conceitos que aparecem com maior frequência e em maior diversidade de fontes são os mais evidentes empiricamente. Se muitos artigos independentes identificam o mesmo fator, ele provavelmente é central para o campo.
Figura 1: Top 25 conceitos por frequência nas cadeias causais. A cor indica diversidade de fontes.
4 Tipos de relação causal
O template define cinco tipos de relação. A distribuição revela a natureza do campo: se os fatores predominantemente facilitam, influenciam, restringem ou contestam uns aos outros.
Mostrar código
rel_counts = chains["relation"].value_counts().reset_index()rel_counts.columns = ["Tipo de relação", "Quantidade"]rel_descriptions = {"INFLUENCES": "Efeito causal direto (A afeta B)","ENABLES": "Condição facilitadora (A permite B)","CONSTRAINS": "Restrição (A limita B)","RELATES-TO": "Associação genérica","CONTESTED-BY": "Oposição ativa (A é contestado por B)",}rel_counts["Significado"] = rel_counts["Tipo de relação"].map(rel_descriptions)fig = px.pie( rel_counts, values="Quantidade", names="Tipo de relação", color_discrete_sequence=px.colors.qualitative.Set2, hole=0.4,)fig.update_traces(textposition="inside", textinfo="percent+label+value")fig.update_layout(template="plotly_white", font=dict(size=12))fig.show()display(rel_counts.style.hide(axis='index'))
Figura 2: Proporção de cada tipo de relação causal no corpus.
Tipo de relação
Quantidade
Significado
INFLUENCES
1135
Efeito causal direto (A afeta B)
ENABLES
970
Condição facilitadora (A permite B)
CONSTRAINS
524
Restrição (A limita B)
RELATES-TO
52
Associação genérica
CONTESTED-BY
32
Oposição ativa (A é contestado por B)
5 Relações mais documentadas
Cada relação A → tipo → B expressa uma hipótese causal extraída da literatura. As relações mais frequentes representam os mecanismos mais amplamente documentados.
Figura 3: As 20 relações causais com mais evidências empíricas.
6 Aspectos Modais de Dooyeweerd
A classificação modal de Dooyeweerd organiza os conceitos em 16 aspectos que vão do quantitativo ao fiducial. A distribuição revela quais dimensões da realidade são mais estudadas — e quais são negligenciadas.
Figura 5: Distribuição dos conceitos por dimensão de aceitação social.
8 Robustez dos conceitos
Cada conceito recebe um nível de confiança baseado na frequência e diversidade de fontes. Conceitos HIGH aparecem em muitos artigos; conceitos LOW emergem de poucas fontes.
Mostrar código
conf_counts = onto["confidence"].value_counts().reindex(["HIGH", "MEDIUM", "LOW"]).reset_index()conf_counts.columns = ["Nível", "Conceitos"]fig = px.bar( conf_counts, x="Nível", y="Conceitos", color="Nível", color_discrete_map={"HIGH": "#2E7D32", "MEDIUM": "#F9A825", "LOW": "#C62828"}, text="Conceitos", height=400,)fig.update_traces(textposition="outside")fig.update_layout(template="plotly_white", showlegend=False, font=dict(size=13))fig.show()pct_low = conf_counts[conf_counts["Nível"] =="LOW"]["Conceitos"].values[0] / conf_counts["Conceitos"].sum() *100display(Markdown(f"**{pct_low:.0f}%** dos conceitos têm confiança LOW — típico de um corpus amplo onde "f"muitos conceitos são específicos de poucos estudos. Os {conf_counts[conf_counts['Nível']=='HIGH']['Conceitos'].values[0]} "f"conceitos HIGH formam o núcleo consolidado do campo."))
(a) Distribuição dos conceitos por nível de confiança empírica.
86% dos conceitos têm confiança LOW — típico de um corpus amplo onde muitos conceitos são específicos de poucos estudos. Os 59 conceitos HIGH formam o núcleo consolidado do campo.
(b)
Figura 6
9 Mapa temático
Os tópicos são categorias temáticas emergentes atribuídas a cada conceito durante a codificação. O treemap mostra a proporção relativa de cada tema.
Figura 7: Treemap dos tópicos temáticos. Áreas maiores indicam mais conceitos naquele tema.
10 Cruzamento: tópicos vs. dimensões
Qual tópico concentra conceitos em qual dimensão? Este heatmap revela onde o conhecimento é mais denso e onde há lacunas que merecem investigação futura.
Figura 8: Cruzamento entre tópicos temáticos e dimensões de aceitação social.
11 Perfil metodológico
A diversidade metodológica fortalece a robustez das conclusões. O gráfico mostra quais abordagens de pesquisa predominam no corpus.
Mostrar código
method_series = sources["method"].dropna().str.lower()method_keywords = {"Survey / Questionário": ["survey", "questionnaire"],"Entrevista": ["interview"],"Revisão de literatura": ["review", "literature", "meta-analysis", "bibliometric"],"Estudo de caso": ["case study", "case-study"],"Análise quantitativa": ["regression", "sem ", "structural equation", "statistical"],"Método misto": ["mixed method", "mixed-method"],"Experimento / Choice": ["experiment", "choice experiment", "conjoint", "contingent"],"Modelagem / Simulação": ["model", "simulation", "agent-based", "optimization"],"Análise de conteúdo": ["content analysis", "discourse", "thematic", "qualitative"],"Dados secundários": ["secondary data", "panel data", "database"],}method_counts = {}for label, keywords in method_keywords.items(): mask = method_series.apply(lambda x: any(kw in x for kw in keywords)) method_counts[label] = mask.sum()method_df = pd.DataFrame([ {"Método": k, "Artigos": v} for k, v in method_counts.items() if v >0]).sort_values("Artigos", ascending=True)fig = px.bar( method_df, x="Artigos", y="Método", orientation="h", color_discrete_sequence=["#5C6BC0"], text="Artigos", height=400,)fig.update_traces(textposition="outside")fig.update_layout(template="plotly_white", font=dict(size=12))fig.show()display(Markdown(f"*Nota: um artigo pode usar mais de um método, portanto os totais "f"podem exceder os {len(sources)} artigos do corpus.*"))
(a) Métodos de pesquisa identificados nos artigos do corpus.
Nota: um artigo pode usar mais de um método, portanto os totais podem exceder os 452 artigos do corpus.
(b)
Figura 9
12 Rede de conceitos
O grafo abaixo mostra os 30 conceitos com mais conexões e as relações entre eles. O tamanho dos nós reflete a frequência; as cores representam os tópicos temáticos.
Mostrar código
import networkx as nxG = nx.DiGraph()for _, row in chains.iterrows(): G.add_edge(row["from_code"], row["to_code"], relation=row["relation"])degree_dict =dict(G.degree())top30_nodes =sorted(degree_dict, key=degree_dict.get, reverse=True)[:30]subG = G.subgraph(top30_nodes).copy()pos = nx.spring_layout(subG, k=2.5, iterations=80, seed=42)onto_topic_map = onto.set_index("chain")["topic"].to_dict()node_x, node_y, node_text, node_size, node_color = [], [], [], [], []topic_list =sorted(set(onto_topic_map.get(n, "Outros") for n in subG.nodes()))topic_color_map = {t: i for i, t inenumerate(topic_list)}for node in subG.nodes(): x, y = pos[node] node_x.append(x) node_y.append(y) deg = degree_dict[node] topic = onto_topic_map.get(node, "Outros") node_text.append(f"{node}<br>Conexões: {deg}<br>Tópico: {topic}") node_size.append(max(15, min(60, deg *0.8))) node_color.append(topic_color_map.get(topic, 0))edge_traces = []for u, v, data in subG.edges(data=True): x0, y0 = pos[u] x1, y1 = pos[v] edge_traces.append(go.Scatter( x=[x0, x1, None], y=[y0, y1, None], mode="lines", line=dict(width=0.5, color="#ccc"), hoverinfo="none", showlegend=False, ))node_trace = go.Scatter( x=node_x, y=node_y, mode="markers+text", text=[n for n in subG.nodes()], textposition="top center", textfont=dict(size=9), marker=dict( size=node_size, color=node_color, colorscale="Turbo", line=dict(width=1, color="white"), ), hovertext=node_text, hoverinfo="text", showlegend=False,)fig = go.Figure(data=edge_traces + [node_trace])fig.update_layout( template="plotly_white", showlegend=False, xaxis=dict(showgrid=False, zeroline=False, showticklabels=False), yaxis=dict(showgrid=False, zeroline=False, showticklabels=False), height=650, font=dict(size=12),)fig.show()
Figura 10: Rede dos 30 conceitos mais conectados. Passe o mouse sobre os nós para ver detalhes.
13 Conceitos de alta confiança
A tabela lista os conceitos classificados com confiança HIGH — aqueles que aparecem com alta frequência em múltiplas fontes independentes. Cada linha mostra a classificação multidimensional completa.
Tabela 1: Conceitos com confiança HIGH: os pilares empíricos do campo.
59 conceitos com confiança HIGH:
Conceito
Tópico
Aspecto modal
Dimensão
Freq.
Fontes
Justificativa
Acceptance
Social
Social
Comunitária
424
179
Social aspect (10) captures community relations and collective dynamics. Primarily enables Energy Transition and constrains Deployment. Co-occurs with Policy, Participation, Wind Energy. Community acceptance dimension (1) reflects local stakeholder relevance. High frequency (414) and broad sources (179) indicate central concept.
Deployment
Technology
Formative
Sociopolítica
235
100
Aspect 8 (Formative): planning and implementation of technology rollout. Primarily enables outcomes (energy technologies, employment) but contested by resistance. Co-occurs with acceptance, policy, infrastructure. Dimension 3: institutional planning and socio-political enabling conditions govern deployment scale and pace. High frequency (230) and broad sources (100) confirm central role.
Policy
Governance
Juridical
Sociopolítica
125
86
Aspect 13 (Juridical): Policy represents regulatory/governance frameworks. Relations show it enables participation and constrains deployment—classic regulatory function. Co-occurs with governance/acceptance terms. Dimension 3: Socio-political acceptance—governments and institutions. High frequency (118) and broad sources (86) indicate robust central concept.
Cost
Economics
Economic
Mercado
110
66
Aspect 11: Core economic factor representing financial expenditure. Mainly constrains deployment/technology development while enabling market penetration when reduced. Co-occurs with Deployment and Acceptance, indicating market-consumer relevance. Dimension 2: Directly affects investors, consumers, and market competitiveness. High frequency (96) across broad sources (66) confirms central role.
Energy_Transition
Governance
Formative
Sociopolítica
97
52
Classified as aspect 8 (Formative) due to its role as a large-scale planning and transformation process. Enables multiple outcomes (storage, mitigation, technology). Co-occurs with policy, acceptance, and systemic change. Socio-political dimension reflects institutional and societal governance focus. High frequency (94) and broad sources (52) confirm central conceptual importance.
Transition
Governance
Formative
Sociopolítica
90
37
Aspect 8 (Formative): Represents systemic transformation planning and design. Primarily contested by incumbents, indicating governance challenge. Co-occurs with policy, public acceptance, and infrastructure development. Socio-political dimension: involves institutional coordination and societal-level change requiring multi-stakeholder governance.
Technology
Technology
Physical
Técnico-científica
81
58
Aspect 4 (Physical): Refers to material renewable energy systems, turbine design, and infrastructure. Relations: primarily enables deployment, acceptance, and transitions; constrains barriers. Co-occurs with Acceptance, indicating sociotechnical coupling. Dimension 4: Technical-scientific focus on system characteristics and design parameters. High frequency (79) and broad sources (58) confirm centrality.
Environment
Environment
Biotic
Não classificado
70
54
Aspect [5] Biotic: Environmental concerns, ecological impacts, and sustainability effects. Constrains technology deployment and site selection; enables planning and innovation. Co-occurs with Acceptance and Deployment. Dimension [0]: Cross-cutting across community, market, and policy contexts—no single dominant stakeholder dimension.
Perception
Worldview
Sensitive
Comunitária
66
36
Aspect 6 (Sensitive): Perception is fundamentally about awareness and subjective interpretation. Influences acceptance/policy through perceptual pathways. Co-occurs with visual assessment, place effects, media framing. Dimension 1: Community acceptance—public perceptions directly shape local stakeholder responses and expectations.
Adoption
Technology
Formative
Mercado
66
22
Formative aspect: involves planning and implementation of innovations. Primarily enables Technology, Market, and Planning. Co-occurs with policy, technology, and acceptance factors. Market dimension: focuses on consumer/investor uptake patterns. High frequency (65) and broad sources (22) confirm centrality.
Participation
Participation
Social
Comunitária
62
36
Aspect 10 (Social) reflects collective engagement dynamics. Primarily enables Acceptance, Policy, Planning through inclusive decision-making. Co-occurs with community factors and local authority. Dimension 1 captures residents/local stakeholders context. High frequency (59) and broad sources (36) indicate robust central concept.
Knowledge
Knowledge
Lingual
Comunitária
60
41
Aspect 9 (Lingual): Knowledge represents information and understanding communicated to stakeholders. Relations show it influences expectations and acceptance while enabling deployment. Co-occurs with Acceptance, indicating community context. Dimension 1: Affects local stakeholders' behavioral propensity. High frequency (53) and broad sources (41) confirm centrality.
Regulation
Governance
Juridical
Sociopolítica
48
37
Aspect 13 (Juridical): Regulation is inherently a legal-normative framework. Relations: primarily constrains (Commercialization, Harmonization, Deployment) and enables (Energy Transition, Prosumption). Co-factors: Policy, Institutions, Market creation. Dimension 3 (Socio-political): Operates through governance structures, institutions, and public administration. High frequency (47) and broad sources (37) confirm central role.
Awareness
Knowledge
Sensitive
Comunitária
47
33
Aspect 6 (Sensitive): perception and cognitive recognition of energy transition concepts. Predominantly enables acceptance and deployment through information pathways. Co-occurs strongly with Acceptance, confirming perceptual-attitudinal domain. Dimension 1: targets community-level stakeholders requiring information. High frequency (44) across 33 sources confirms robust centrality.
Support
Worldview
Fiducial
Comunitária
44
16
Aspect 15: Fiducial—factor represents belief, trust, and value-driven backing for energy technologies. Relations show it influences Acceptance and enables Transition, indicating attitudinal foundation. Co-occurs with perceptual and community factors. Dimension 1: Community Acceptance—usage contexts emphasize local public support and place-based attitudes. High frequency (42) and broad sources (16) confirm central concept.
Risk_Perception
Risk
Sensitive
Comunitária
43
22
Aspect 6 (Sensitive): Perception-based subjective evaluation of hazards and threats. Mainly constrains Acceptance and Ccs Support through psychological barriers. Co-factors: Acceptability, Attitude, Public Acceptance indicate community-level psychosocial context. Dimension 1: Community Acceptance dimension—residents' and local stakeholders' subjective risk judgments shape acceptance. High frequency (38) and broad sources (22) indicate robust central concept.
Engagement
Participation
Social
Comunitária
42
21
Aspect 10 (Social): Community relations and participatory processes. Mainly enables Acceptance/Policy through collaborative involvement. Co-occurs with Trust and Public Acceptance. Dimension 1: Direct relevance to local stakeholders and residents. High frequency (38) across diverse sources (21) indicates robust central concept.
Trust
Worldview
Fiducial
Comunitária
40
24
Fiducial aspect (15): trust embodies belief and confidence in actors/systems. Mainly enables acceptance, participation, and collaboration; constrains engagement when absent. Co-occurs with acceptance, indicating psychosocial foundation. Community dimension (1): trust operates at resident-local stakeholder level, building social licence and community relations. High frequency (33) and broad sources (24) confirm robust centrality.
Planning
Planning
Formative
Sociopolítica
38
25
Aspect 8 (Formative): Factor represents design and implementation processes. Relations show it enables deployment/policy and constrains transition outcomes. Co-occurs with Deployment in implementation contexts. Dimension 3: Involves institutional/governance frameworks for system design. High frequency (31) across 25 sources indicates robust central concept.
Justice
Governance
Ethical
Comunitária
38
21
Ethical aspect (14): fairness and moral responsibility in energy transitions. Mainly enables Acceptance/Equity while constraining Deployment through procedural/distributive concerns. Co-occurs with community conflicts and acceptance dynamics. Community dimension (1): strongly tied to local stakeholder perceptions of fair treatment and recognition.
Implementation
Governance
Formative
Sociopolítica
37
19
Aspect 8 (Formative): Planning, design, and execution processes. Relations show it constrains/enables transition and policy effectiveness. Co-occurs with planning and policy barriers. Dimension 3: socio-political context involving institutional capacity and governance mechanisms. High frequency (33) across 19 sources confirms centrality.
Attitude
Worldview
Fiducial
Comunitária
35
19
Aspect 15 (Fiducial): Attitudes reflect belief systems and value orientations toward energy technologies. Relations show it influences acceptance, policy support, and adoption—acting as psychological enabler. Co-occurs with awareness and knowledge in perceptual context. Dimension 1: Shapes community and stakeholder acceptance through individual/collective belief structures. High frequency (34) and broad sources (19) confirm centrality.
Infrastructure
Infrastructure
Physical
Sociopolítica
33
25
Physical aspect (4): material systems enabling energy deployment. Predominantly enables (Grid, Deployment, Practice) but also constrains (Acceptance, Energy Transition). Co-occurs with Deployment. Socio-political dimension (3): impacts policy and large-scale transitions. High frequency (32) and broad sources (25) confirm centrality.
Technology_Adoption
Technology
Formative
Mercado
30
11
Aspect 8 (Formative) reflects planning, innovation, and socio-cultural dynamics of adoption processes. Relations show enabling/constraining duality toward workforce transformation. Co-occurs with policy, awareness, and development contexts. Dimension 2 aligns with market acceptance: consumer/investor uptake patterns. High frequency (28) and broad sources (11) confirm centrality.
Social_Acceptance
Social
Social
Comunitária
27
17
Aspect 10: Community relations and collective dynamics regarding technology receptivity. Primarily influences adoption and constrains technology choices. Co-occurs with awareness, policy, and technology factors. Dimension 1: Local stakeholders and community residents. High frequency (26) and broad sources (17) confirm centrality.
Information
Communication
Lingual
Comunitária
26
16
Aspect 9 (Lingual): Information represents communicative content and documentation. Mainly enables Communication, Decision-Making, and Knowledge; influences perceptions and attitudes. Co-occurs with Acceptance, indicating relevance to public engagement. Dimension 1: Context emphasizes informing residents about visual/health impacts of energy infrastructure.
Investment
Economics
Economic
Mercado
25
17
Aspect 11: Investment is an economic-financial factor. Enables infrastructure deployment and constrains scaling. Co-occurs with Acceptance, indicating market-actor context. Dimension 2: Involves private investors, PPP models, and capital-intensive project financing. High frequency (21) and broad sources (17) indicate central, stable concept.
Preference
Worldview
Fiducial
Comunitária
24
10
Aspect 15 (Fiducial): preferences reflect underlying values and belief systems driving technology/policy choices. Relations show it influences willingness to pay and policy acceptance. Co-occurs with equity and participation, indicating community-level value expression. Dimension 1: strong local/community context in usage examples. High frequency (21) across diverse sources (10) confirms robustness.
Communication
Communication
Lingual
Sociopolítica
23
16
Aspect [9] Lingual: factor represents information exchange and messaging. Relations show it mainly enables (Technology Development, Stakeholder Involvement, Understanding) and influences perceptions/policy. Co-occurs with policy/stakeholder contexts. Dimension [3] Socio-political: usage emphasizes transparent communication in policy-making and institutional design. High frequency (21) and broad sources (16) confirm centrality.
Opposition
Social
Social
Comunitária
21
18
Opposition belongs to aspect 10 (Social) as it represents community resistance and collective dynamics. Relations show it constrains deployment and implementation, functioning primarily as a social barrier. Co-occurs with Deployment, indicating local stakeholder conflicts. Dimension 1 reflects community acceptance context, as usage examples emphasize local landowner and resident concerns. High frequency (19) and broad sources (18) indicate robust central concept.
Understanding
Knowledge
Lingual
Comunitária
21
12
Lingual aspect [9]: Understanding is communicative/informational—representing comprehension and knowledge dissemination. Enables Policy, Acceptance, Participation, Engagement, Risk Perception—acts as cognitive facilitator. Co-occurs with Acceptance, indicating perceptual-behavioral linkage. Community Acceptance dimension [1]: contexts emphasize public/household comprehension as prerequisite for participation. High frequency (16) and broad sources (12) indicate robust central concept.
Technology_Acceptance
Technology
Fiducial
Mercado
21
11
Fiducial aspect (15): acceptance reflects trust, belief, and value-based attitudes toward technology. Relations show it influences infrastructure acceptance and relates to market acceptance. Co-factors include mental models and readiness perceptions. Market dimension (2): focuses on consumers and investors evaluating technology adoption. High frequency (21) and broad sources (11) indicate robust centrality.
Governance
Governance
Juridical
Sociopolítica
20
17
Aspect 13 (Juridical) suits regulatory frameworks and institutional structures. Primarily enables Technology and Policy deployment; co-occurs with Deployment and Engagement. Dimension 3 reflects socio-political institutional context. High frequency (19) and broad sources (17) confirm robustness.
Public_Acceptance
Social
Social
Comunitária
20
11
Aspect 10 (Social) reflects community and collective dynamics central to acceptance. Primarily enables deployment and constrains policy/CCS implementation, functioning as facilitator and barrier. Co-occurs with stakeholder engagement, transparency, and trust-building. Dimension 1 (Community Acceptance) reflects residents and local stakeholders requiring transparent communication. High frequency (20) across 11 sources indicates robust centrality.
Assessment
Research
Analytical
Técnico-científica
20
9
Aspect 7 (Analytical): Systematic evaluation and methodological process. Mainly enables Communication, Technology, Deployment through evaluation mechanisms. Co-occurs with Deployment contexts. Dimension 4: Technical-scientific processes involving systematic criteria-based evaluation frameworks. High frequency (16) and broad sources (9) indicate robust central concept.
Decarbonization
Environment
Formative
Sociopolítica
19
12
Aspect 8 (Formative): Factor represents strategic planning and transformative design toward zero-carbon systems. Relations show it influences support mechanisms and constrains planning processes. Co-occurs with policy, tax, and participatory governance factors. Dimension 3: Socio-political context involving policymakers, firms, citizens in transition pathways. High frequency (19) across 12 sources confirms centrality.
Media
Communication
Lingual
Sociopolítica
19
7
Aspect 9 (Lingual) fits communication and information dissemination role. Relations show Media influences politics, acceptance, deployment through opinion-shaping. Co-occurs with Acceptance and Deployment, confirming socio-political opinion formation. Dimension 3 reflects institutional agenda-setting in EU energy politics. High frequency (18) and broad sources (7) indicate central, robust concept.
Education
Knowledge
Formative
Sociopolítica
18
18
Formative aspect [8]: shapes human capacity and planning context. Primarily enables adoption and acceptance through knowledge transfer. Co-occurs with Acceptance in socio-political contexts. Frequency=18, sources=18 indicates high robustness and centrality.
Equity
Social
Ethical
Sociopolítica
18
8
Ethical aspect (14): fairness and social justice in energy transition outcomes. Mainly constrains Transition Planning. Co-occurs with Procedural Justice. Socio-political dimension (3): evaluation criterion for institutional policy. High frequency (18) and broad sources (8) indicate central normative concept.
Decision-Making
Governance
Formative
Sociopolítica
17
10
Aspect 8 (Formative): Decision-making represents planning and formative processes that shape outcomes. Relations show enabling/constraining influence on implementation, regulation, and acceptance. Co-occurs with acceptance factors, indicating participatory governance context. Dimension 3: Socio-political acceptance—institutional and governance processes. High frequency (15) and broad sources (12) confirm centrality and robustness.
Collaboration
Governance
Social
Sociopolítica
17
7
Aspect 10: Social nature—focused on community relations and collective dynamics. Primarily enables participatory processes and decision-making. Co-occurs with cultural context, highlighting social exchange mechanisms. Dimension 3: Socio-political acceptance—targets institutional and governance contexts. High frequency (17) and diverse sources (7) indicate robust centrality.
Development
Planning
Formative
Sociopolítica
16
11
Aspect 8: formative—concerns planning, innovation, and programmatic design. Relations show it influences support/opposition. Co-occurs in policy/planning contexts. Dimension 3: socio-political—involves strategic planning, policymaker roles, and programmatic frameworks. Frequency 16, sources 11 indicate robust evidence.
Resistance
Social
Social
Comunitária
16
10
Aspect 10 (Social): Resistance represents collective opposition behavior within community dynamics. Relations show it constrains participation and deployment, indicating barrier function. Co-occurs with technology and infrastructure contexts, reflecting localized contestation. Dimension 1: Primarily involves residents and local stakeholders opposing projects. High frequency (15) and broad sources (10) confirm centrality as acceptance barrier.
Framework
Research
Analytical
Técnico-científica
15
12
Aspect 7 (Analytical): Methodological tool for systematic analysis and categorization. Enables multiple analytical functions (energy choice, stakeholder identification, transition analysis). Co-occurs with research and methodological contexts. Dimension 4: Technical-scientific assessment tool used across analytical applications.
Local_Acceptance
Social
Social
Comunitária
15
6
Aspect 10: Social domain—collective relations and community dynamics. Mainly constrains Energy Transition. Co-occurs with General Acceptance, perceived fairness. Dimension 1: Community acceptance by local residents and stakeholders. High frequency (13) and sources (6) indicate robust central concept.
Research
Knowledge
Analytical
Técnico-científica
15
10
Aspect 7 (Analytical) fits research as systematic inquiry and development activity. Enables Technology Development, Policy, and Deployment through knowledge generation. Co-occurs with development programs, technology adoption, and policy formulation contexts. Dimension 4 reflects technical-scientific domain where research operates. High frequency (15) across 10 sources indicates robust central concept in energy transition discourse.
Location
Environment
Spatial
Comunitária
15
12
Aspect 2 (Spatial): Factor represents geographical placement and site characteristics. Primarily influences Acceptance across contexts. Co-occurs with acceptance factors indicating local stakeholder relevance. Dimension 1: Community acceptance driven by proximity and local impacts. High frequency (15) and broad sources (12) confirm central role.
Employment
Economics
Economic
Sociopolítica
14
12
Employment is an economic outcome (aspect 11) influenced by energy transitions. It enables acceptance and affects justice perceptions. Co-occurs with Acceptance and Modeling. Socio-political dimension (3) reflects institutional policy context regarding job creation. High frequency (13) and broad sources (12) indicate robust centrality.
Integration
Planning
Formative
Técnico-científica
14
10
Aspect 8 (Formative): Integration represents planning and design processes for incorporating distributed generation systems. Enables technical operations (Evaluation, Assessment, Understanding). Co-occurs with Planning and Assessment, confirming formative coordination role. Dimension 4: Technical-scientific context of system design and grid coordination. High frequency (12) and broad sources (10) indicate robust central concept.
Transparency
Governance
Lingual
Sociopolítica
14
10
Aspect [9] Lingual: Transparency concerns information disclosure and communication openness. Relations show it enables Trust, Acceptance, and Stakeholder Engagement through informational clarity. Co-occurs with Public Acceptance and Trust, confirming communicative-political function. Dimension [3] Socio-political: Usage contexts emphasize transparency in political processes, decision-making, and institutional frameworks. Frequency (12) and sources (10) provide robust evidence.
Design
Planning
Formative
Comunitária
14
7
Aspect 8 (Formative): Design represents planning, innovation, and system configuration. Enables acceptance and technology development; constrains visual impact. Co-occurs with Acceptance and Technology, indicating stakeholder relevance. Dimension 1: Context emphasizes siting and landscape integration affecting local communities. High frequency (11) and broad sources (7) ensure robust classification.
Stakeholder_Engagement
Participation
Social
Sociopolítica
14
9
Social aspect (10): collective process involving multiple actors. Primarily enables deployment, modeling, regulatory framework—facilitator role. Co-occurs with transparency, public acceptance, scenario development—governance context. Socio-political dimension (3): involves institutions, policy processes, multi-actor deliberation. High frequency (12) and broad sources (9) indicate robust central concept.
Technology_Development
Technology
Formative
Sociopolítica
14
9
Aspect 8 (Formative): Innovation and planning in energy tech. Primarily enables Policy; influences Market. Co-factors suggest socio-political framing. Dimension 3: Institutional/governance context for tech advancement. High frequency (13) and broad sources (9) confirm central role.
Willingness
Behavior
Sensitive
Comunitária
13
8
Aspect 6 (Sensitive): Willingness represents psychological readiness and attitudinal orientation. Primarily enables Participation and Acceptance. Co-occurs with Awareness and Mobilization, indicating perceptual-behavioral pathway. Dimension 1: Direct relevance to local residents' prosumer adoption and community participation. High frequency (12) across 8 sources confirms robustness.
Innovation
Technology
Formative
Sociopolítica
13
10
Formative aspect: innovation represents design, planning, and cultural-historical development of new solutions. Primarily enables transition outcomes (Energy Transition, Decision-Making, Scaling). Co-occurs with Acceptance, indicating socio-political interface. Broad sourcing (10 docs, 12 occurrences) confirms centrality in energy transition discourse.
Conflict
Governance
Social
Sociopolítica
13
11
Aspect 10 (Social): Addresses collective dynamics and societal tensions. Primarily constrains Transition and Coordination while enabling Policy improvements. Co-occurs with Policy, Technology, Engagement in governance contexts. Dimension 3 (Socio-political): Institutional and societal conflicts around energy transitions. High frequency (13) and broad sources (11) indicate central concept.
Landscape
Environment
Aesthetic
Comunitária
12
9
Aspect 12 (Aesthetic): Factor centers on visual character, landscape quality, and aesthetic impacts of energy infrastructure. Relations show it influences acceptance and quality perceptions. Co-occurs with Acceptance and Environment, indicating community-level concern. Dimension 1: Directly affects local residents and communities living near projects. High frequency (11) and broad sources (9) indicate robust, central concept.
Economic_Viability
Economics
Economic
Mercado
10
8
Aspect 11: Economic factor addressing financial feasibility of energy projects. Enables technology deployment and constrains adoption based on cost-effectiveness. Co-occurs with Adoption, indicating market-level evaluation. Dimension 2: Market acceptance context involving investors and consumers. High frequency (10) and broad sources (8) indicate robust evidence.
Willingness_To_Pay
Economics
Economic
Mercado
0
0
Economic aspect (11): reflects monetary valuation and payment readiness. Relations show influences on adoption behavior. Co-factors include political ideology, education, framing effects. Market dimension (2): consumer-level acceptance mechanism. High frequency (20) and broad sources (6) indicate robust central concept.
14 Síntese
Mostrar código
n_sources = stats.source_countn_concepts = stats.ontology_countn_relations = stats.triple_countn_high =len(onto[onto["confidence"] =="HIGH"])top5 = concept_stats.head(5).index.tolist()dominant_rel = chains["relation"].value_counts().index[0]dominant_dim = dim_counts.iloc[dim_counts["count"].values.argmax()]["label"]summary =f"""### Principais achados| Dimensão | Resultado ||----------|----------|| **Corpus** | {n_sources} artigos → {n_concepts} conceitos e {n_relations} relações causais || **Conceitos centrais** | {', '.join(top5)} || **Relação dominante** | {dominant_rel} ({chains['relation'].value_counts().iloc[0]} ocorrências) || **Dimensão mais estudada** | {dominant_dim} || **Robustez** | {n_high} conceitos com alta confiança, {n_concepts - n_high} emergentes |: Síntese quantitativa da análise {{.striped .hover}}---*Dados gerados pelo compilador Synesis a partir de codificação assistida por IA.*"""display(Markdown(summary))
14.0.1 Principais achados
Síntese quantitativa da análise
Dimensão
Resultado
Corpus
484 artigos → 1388 conceitos e 2713 relações causais
Dados gerados pelo compilador Synesis a partir de codificação assistida por IA.
Código fonte
---title: "Métricas da Pesquisa"subtitle: "Resultados quantitativos da análise de aceitação social de tecnologias energéticas"format: html: code-fold: true code-summary: "Mostrar código" code-tools: truejupyter: python3---Este documento apresenta os **principais resultados quantitativos** da análise de ~450 artigos científicos sobre fatores de aceitação social de tecnologias de transição energética. Todos os dados são extraídos diretamente do compilador Synesis --- sem dependência de banco de dados externo.:::{.callout-note}## Notebook interativoOs gráficos abaixo são interativos (Plotly): passe o mouse para ver detalhes, clique na legenda para filtrar, e use os controles de zoom. O código-fonte está disponível em cada seção --- clique em "Mostrar código" para expandir.::::::{.callout-tip}## Jupyter e Quarto PublishingEsta página exemplifica o uso de **notebooks Jupyter** integrados ao **Quarto Publishing** para produção de documentação profissional e reproduzível. Os dados são lidos diretamente pelo compilador Synesis via `synesis.load`, sem necessidade de banco de dados externo ou exportações intermediárias — o próprio corpus de anotações alimenta os gráficos e tabelas.O código ilustra como anotações no formato Synesis podem ser compiladas em memória e convertidas em DataFrames para análise e visualização. Consulte o [Guia de Referência do `synesis.load`](../../pt/reference/synesis_load.qmd) para a documentação completa da API.:::---# Carregamento dos dados {#sec-setup}```{python}#| label: setup#| code-fold: truefrom pathlib import Pathimport pandas as pdimport plotly.express as pximport plotly.graph_objects as gofrom plotly.subplots import make_subplotsimport synesisfrom IPython.display import display, Markdownpd.set_option('display.max_colwidth', 80)# --- Carregamento do projeto ---project_dir = Path("../../case-studies/Social_Acceptance")def read_text(path: Path) ->str:return path.read_text(encoding="utf-8")result = synesis.load( project_content=read_text(project_dir /"social_acceptance.synp"), template_content=read_text(project_dir /"social_acceptance.synt"), annotation_contents={"social_acceptance.syn": read_text(project_dir /"social_acceptance.syn")}, ontology_contents={"social_acceptance.syno": read_text(project_dir /"social_acceptance.syno")}, bibliography_content=read_text(project_dir /"social_acceptance.bib"),)assert result.success, f"Erro de compilação:\n{result.get_diagnostics()}"dfs = result.to_dataframes()sources = dfs["sources"]items = dfs["items"]onto = dfs["ontologies"]chains = dfs["chains"]stats = result.stats# Dicionários de referência usados em várias seçõesaspect_labels = {"0": "Undefined", "1": "Quantitative", "2": "Spatial", "3": "Kinematic","4": "Physical", "5": "Biotic", "6": "Sensitive", "7": "Analytical","8": "Formative", "9": "Lingual", "10": "Social", "11": "Economic","12": "Aesthetic", "13": "Juridical", "14": "Ethical", "15": "Fiducial",}dim_labels = {"0": "Não classificado","1": "Comunitária","2": "Mercado","3": "Sociopolítica","4": "Técnico-científica",}# Estatísticas de conceitos (reutilizadas em várias seções)all_concepts = pd.concat([ chains[["from_code", "bibref"]].rename(columns={"from_code": "concept"}), chains[["to_code", "bibref"]].rename(columns={"to_code": "concept"}),])concept_stats = all_concepts.groupby("concept").agg( frequencia=("concept", "count"), fontes=("bibref", "nunique")).sort_values("frequencia", ascending=False)display(Markdown("Projeto carregado com sucesso."))```---# Panorama geral {#sec-panorama}Antes de explorar os resultados, é importante entender a **escala** da análise. O corpus combina centenas de artigos processados por codificação assistida por IA, produzindo uma rede de conhecimento com milhares de relações causais.```{python}#| label: panorama-statspanorama = pd.DataFrame([ {"Métrica": "Artigos analisados", "Valor": stats.source_count,"O que significa": "Fontes científicas processadas pelo pipeline"}, {"Métrica": "Evidências extraídas", "Valor": stats.item_count,"O que significa": "Excertos com cadeias causais identificadas"}, {"Métrica": "Conceitos na ontologia", "Valor": stats.ontology_count,"O que significa": "Fatores únicos classificados multidimensionalmente"}, {"Métrica": "Relações causais", "Valor": stats.triple_count,"O que significa": "Conexões do tipo A → relação → B entre conceitos"},])display(panorama.style.hide(axis='index').set_properties(**{'text-align': 'left'}).set_table_styles([ {'selector': 'th', 'props': [('text-align', 'left'), ('font-weight', 'bold')]}]))```---# Conceitos centrais {#sec-conceitos}Os conceitos que aparecem com maior **frequência** e em maior **diversidade de fontes** são os mais evidentes empiricamente. Se muitos artigos independentes identificam o mesmo fator, ele provavelmente é central para o campo.```{python}#| label: fig-top-concepts#| fig-cap: "Top 25 conceitos por frequência nas cadeias causais. A cor indica diversidade de fontes."top25 = concept_stats.head(25).reset_index()fig = px.bar( top25.iloc[::-1], x="frequencia", y="concept", color="fontes", color_continuous_scale="YlOrRd", orientation="h", labels={"concept": "", "frequencia": "Ocorrências em cadeias causais","fontes": "Fontes"}, height=600,)fig.update_layout( template="plotly_white", font=dict(size=12), coloraxis_colorbar=dict(title="Nº de<br>fontes"),)fig.show()```---# Tipos de relação causal {#sec-relacoes}O template define cinco tipos de relação. A distribuição revela a **natureza** do campo: se os fatores predominantemente *facilitam*, *influenciam*, *restringem* ou *contestam* uns aos outros.```{python}#| label: fig-relation-types#| fig-cap: "Proporção de cada tipo de relação causal no corpus."rel_counts = chains["relation"].value_counts().reset_index()rel_counts.columns = ["Tipo de relação", "Quantidade"]rel_descriptions = {"INFLUENCES": "Efeito causal direto (A afeta B)","ENABLES": "Condição facilitadora (A permite B)","CONSTRAINS": "Restrição (A limita B)","RELATES-TO": "Associação genérica","CONTESTED-BY": "Oposição ativa (A é contestado por B)",}rel_counts["Significado"] = rel_counts["Tipo de relação"].map(rel_descriptions)fig = px.pie( rel_counts, values="Quantidade", names="Tipo de relação", color_discrete_sequence=px.colors.qualitative.Set2, hole=0.4,)fig.update_traces(textposition="inside", textinfo="percent+label+value")fig.update_layout(template="plotly_white", font=dict(size=12))fig.show()display(rel_counts.style.hide(axis='index'))```---# Relações mais documentadas {#sec-top-relacoes}Cada relação `A → tipo → B` expressa uma hipótese causal extraída da literatura. As relações mais frequentes representam os **mecanismos mais amplamente documentados**.```{python}#| label: fig-top-relations#| fig-cap: "As 20 relações causais com mais evidências empíricas."rel_freq = ( chains.groupby(["from_code", "relation", "to_code"]) .agg(ocorrencias=("bibref", "count"), fontes=("bibref", "nunique")) .sort_values("ocorrencias", ascending=False) .reset_index())top20_rel = rel_freq.head(20).copy()top20_rel["cadeia"] = ( top20_rel["from_code"] +" → "+ top20_rel["relation"].str.lower() +" → "+ top20_rel["to_code"])fig = px.bar( top20_rel.iloc[::-1], x="ocorrencias", y="cadeia", color="relation", orientation="h", labels={"cadeia": "", "ocorrencias": "Ocorrências", "relation": "Tipo"}, color_discrete_map={"INFLUENCES": "#4CAF50", "ENABLES": "#2196F3","CONSTRAINS": "#FF9800", "CONTESTED-BY": "#F44336","RELATES-TO": "#9E9E9E", }, height=600,)fig.update_layout(template="plotly_white", font=dict(size=11))fig.show()```---# Aspectos Modais de Dooyeweerd {#sec-dooyeweerd}A classificação modal de Dooyeweerd organiza os conceitos em **16 aspectos** que vão do quantitativo ao fiducial. A distribuição revela quais dimensões da realidade são mais estudadas --- e quais são negligenciadas.```{python}#| label: fig-aspects#| fig-cap: "Conceitos classificados por aspecto modal. Cores distinguem aspectos pré-analíticos (naturais) dos normativos (culturais)."aspect_counts = onto["aspect"].value_counts().sort_index()aspect_df = pd.DataFrame({"aspect_id": aspect_counts.index,"count": aspect_counts.values,})aspect_df["label"] = aspect_df["aspect_id"].map(aspect_labels)aspect_df["order"] = aspect_df["aspect_id"].astype(int)aspect_df = aspect_df.sort_values("order")aspect_df["grupo"] = aspect_df["order"].apply(lambda x: "Pré-analíticos (1-6)"if x <=6else"Normativos (7-15)"if x >=7else"N/D")fig = px.bar( aspect_df[aspect_df["order"] >0], x="label", y="count", color="grupo", labels={"label": "Aspecto modal", "count": "Nº de conceitos", "grupo": ""}, color_discrete_map={"Pré-analíticos (1-6)": "#42A5F5","Normativos (7-15)": "#AB47BC", }, height=450,)fig.update_layout( template="plotly_white", xaxis_tickangle=-45, font=dict(size=12), bargap=0.15,)fig.show()top3 = aspect_df[aspect_df["order"] >0].nlargest(3, "count")display(Markdown(f"**Aspectos dominantes:** {', '.join(top3['label'])} — "f"juntos representam {top3['count'].sum()} dos {aspect_df['count'].sum()} conceitos "f"({top3['count'].sum()/aspect_df['count'].sum()*100:.0f}%)."))```---# Dimensões de aceitação (Wüstenhagen) {#sec-wustenhagen}O framework de Wüstenhagen classifica a aceitação em três dimensões: **comunitária**, **de mercado** e **sociopolítica**, além da avaliação **técnico-científica**.```{python}#| label: fig-dimensions#| fig-cap: "Distribuição dos conceitos por dimensão de aceitação social."dim_counts = onto["dimension"].value_counts().sort_index().reset_index()dim_counts.columns = ["dim_id", "count"]dim_counts["label"] = dim_counts["dim_id"].map(dim_labels)dim_counts = dim_counts[dim_counts["dim_id"] !="0"]fig = px.bar( dim_counts, x="label", y="count", color="label", labels={"label": "", "count": "Nº de conceitos"}, color_discrete_sequence=["#26A69A", "#FFA726", "#7E57C2", "#42A5F5"], text="count", height=400,)fig.update_traces(textposition="outside")fig.update_layout( template="plotly_white", showlegend=False, font=dict(size=13),)fig.show()```---# Robustez dos conceitos {#sec-confianca}Cada conceito recebe um nível de confiança baseado na frequência e diversidade de fontes. Conceitos **HIGH** aparecem em muitos artigos; conceitos **LOW** emergem de poucas fontes.```{python}#| label: fig-confidence#| fig-cap: "Distribuição dos conceitos por nível de confiança empírica."conf_counts = onto["confidence"].value_counts().reindex(["HIGH", "MEDIUM", "LOW"]).reset_index()conf_counts.columns = ["Nível", "Conceitos"]fig = px.bar( conf_counts, x="Nível", y="Conceitos", color="Nível", color_discrete_map={"HIGH": "#2E7D32", "MEDIUM": "#F9A825", "LOW": "#C62828"}, text="Conceitos", height=400,)fig.update_traces(textposition="outside")fig.update_layout(template="plotly_white", showlegend=False, font=dict(size=13))fig.show()pct_low = conf_counts[conf_counts["Nível"] =="LOW"]["Conceitos"].values[0] / conf_counts["Conceitos"].sum() *100display(Markdown(f"**{pct_low:.0f}%** dos conceitos têm confiança LOW — típico de um corpus amplo onde "f"muitos conceitos são específicos de poucos estudos. Os {conf_counts[conf_counts['Nível']=='HIGH']['Conceitos'].values[0]} "f"conceitos HIGH formam o núcleo consolidado do campo."))```---# Mapa temático {#sec-topicos}Os tópicos são categorias temáticas **emergentes** atribuídas a cada conceito durante a codificação. O treemap mostra a proporção relativa de cada tema.```{python}#| label: fig-treemap#| fig-cap: "Treemap dos tópicos temáticos. Áreas maiores indicam mais conceitos naquele tema."topic_counts = onto["topic"].value_counts().reset_index()topic_counts.columns = ["Tópico", "Conceitos"]fig = px.treemap( topic_counts, path=["Tópico"], values="Conceitos", color="Conceitos", color_continuous_scale="Viridis", height=500,)fig.update_layout(template="plotly_white", font=dict(size=12))fig.show()```---# Cruzamento: tópicos vs. dimensões {#sec-heatmap}Qual tópico concentra conceitos em qual dimensão? Este heatmap revela onde o conhecimento é mais denso e onde há **lacunas** que merecem investigação futura.```{python}#| label: fig-heatmap#| fig-cap: "Cruzamento entre tópicos temáticos e dimensões de aceitação social."cross = onto.copy()cross["dim_label"] = cross["dimension"].map(dim_labels)cross = cross[cross["dimension"] !="0"]pivot = cross.groupby(["topic", "dim_label"]).size().reset_index(name="count")top_topics = topic_counts[topic_counts["Conceitos"] >=10]["Tópico"].tolist()pivot = pivot[pivot["topic"].isin(top_topics)]heatmap_data = pivot.pivot(index="topic", columns="dim_label", values="count").fillna(0)fig = px.imshow( heatmap_data, labels=dict(x="Dimensão de aceitação", y="Tópico", color="Conceitos"), color_continuous_scale="Blues", aspect="auto", text_auto=True, height=500,)fig.update_layout(template="plotly_white", font=dict(size=12))fig.show()```---# Perfil metodológico {#sec-metodos}A diversidade metodológica fortalece a robustez das conclusões. O gráfico mostra quais abordagens de pesquisa predominam no corpus.```{python}#| label: fig-methods#| fig-cap: "Métodos de pesquisa identificados nos artigos do corpus."method_series = sources["method"].dropna().str.lower()method_keywords = {"Survey / Questionário": ["survey", "questionnaire"],"Entrevista": ["interview"],"Revisão de literatura": ["review", "literature", "meta-analysis", "bibliometric"],"Estudo de caso": ["case study", "case-study"],"Análise quantitativa": ["regression", "sem ", "structural equation", "statistical"],"Método misto": ["mixed method", "mixed-method"],"Experimento / Choice": ["experiment", "choice experiment", "conjoint", "contingent"],"Modelagem / Simulação": ["model", "simulation", "agent-based", "optimization"],"Análise de conteúdo": ["content analysis", "discourse", "thematic", "qualitative"],"Dados secundários": ["secondary data", "panel data", "database"],}method_counts = {}for label, keywords in method_keywords.items(): mask = method_series.apply(lambda x: any(kw in x for kw in keywords)) method_counts[label] = mask.sum()method_df = pd.DataFrame([ {"Método": k, "Artigos": v} for k, v in method_counts.items() if v >0]).sort_values("Artigos", ascending=True)fig = px.bar( method_df, x="Artigos", y="Método", orientation="h", color_discrete_sequence=["#5C6BC0"], text="Artigos", height=400,)fig.update_traces(textposition="outside")fig.update_layout(template="plotly_white", font=dict(size=12))fig.show()display(Markdown(f"*Nota: um artigo pode usar mais de um método, portanto os totais "f"podem exceder os {len(sources)} artigos do corpus.*"))```---# Rede de conceitos {#sec-rede}O grafo abaixo mostra os **30 conceitos com mais conexões** e as relações entre eles. O tamanho dos nós reflete a frequência; as cores representam os tópicos temáticos.```{python}#| label: fig-network#| fig-cap: "Rede dos 30 conceitos mais conectados. Passe o mouse sobre os nós para ver detalhes."import networkx as nxG = nx.DiGraph()for _, row in chains.iterrows(): G.add_edge(row["from_code"], row["to_code"], relation=row["relation"])degree_dict =dict(G.degree())top30_nodes =sorted(degree_dict, key=degree_dict.get, reverse=True)[:30]subG = G.subgraph(top30_nodes).copy()pos = nx.spring_layout(subG, k=2.5, iterations=80, seed=42)onto_topic_map = onto.set_index("chain")["topic"].to_dict()node_x, node_y, node_text, node_size, node_color = [], [], [], [], []topic_list =sorted(set(onto_topic_map.get(n, "Outros") for n in subG.nodes()))topic_color_map = {t: i for i, t inenumerate(topic_list)}for node in subG.nodes(): x, y = pos[node] node_x.append(x) node_y.append(y) deg = degree_dict[node] topic = onto_topic_map.get(node, "Outros") node_text.append(f"{node}<br>Conexões: {deg}<br>Tópico: {topic}") node_size.append(max(15, min(60, deg *0.8))) node_color.append(topic_color_map.get(topic, 0))edge_traces = []for u, v, data in subG.edges(data=True): x0, y0 = pos[u] x1, y1 = pos[v] edge_traces.append(go.Scatter( x=[x0, x1, None], y=[y0, y1, None], mode="lines", line=dict(width=0.5, color="#ccc"), hoverinfo="none", showlegend=False, ))node_trace = go.Scatter( x=node_x, y=node_y, mode="markers+text", text=[n for n in subG.nodes()], textposition="top center", textfont=dict(size=9), marker=dict( size=node_size, color=node_color, colorscale="Turbo", line=dict(width=1, color="white"), ), hovertext=node_text, hoverinfo="text", showlegend=False,)fig = go.Figure(data=edge_traces + [node_trace])fig.update_layout( template="plotly_white", showlegend=False, xaxis=dict(showgrid=False, zeroline=False, showticklabels=False), yaxis=dict(showgrid=False, zeroline=False, showticklabels=False), height=650, font=dict(size=12),)fig.show()```---# Conceitos de alta confiança {#sec-high-confidence}A tabela lista os conceitos classificados com **confiança HIGH** --- aqueles que aparecem com alta frequência em múltiplas fontes independentes. Cada linha mostra a classificação multidimensional completa.```{python}#| label: tbl-high-confidence#| tbl-cap: "Conceitos com confiança HIGH: os pilares empíricos do campo."high_conf = onto[onto["confidence"] =="HIGH"].copy()high_conf["aspect_label"] = high_conf["aspect"].map(aspect_labels)high_conf["dim_label"] = high_conf["dimension"].map(dim_labels)high_conf = high_conf.merge( concept_stats.reset_index().rename(columns={"concept": "chain"}), on="chain", how="left")display_cols = ["chain", "topic", "aspect_label", "dim_label", "frequencia", "fontes", "reasoning"]display_names = {"chain": "Conceito", "topic": "Tópico", "aspect_label": "Aspecto modal","dim_label": "Dimensão", "frequencia": "Freq.", "fontes": "Fontes","reasoning": "Justificativa",}table = high_conf[display_cols].rename(columns=display_names)table = table.sort_values("Freq.", ascending=False)table["Freq."] = table["Freq."].fillna(0).astype(int)table["Fontes"] = table["Fontes"].fillna(0).astype(int)display(Markdown(f"**{len(table)} conceitos com confiança HIGH:**"))display( table.style .hide(axis="index") .background_gradient(subset=["Freq."], cmap="Greens") .background_gradient(subset=["Fontes"], cmap="Blues") .set_properties(**{"text-align": "left", "font-size": "11px"}) .set_table_styles([ {"selector": "th", "props": [("text-align", "left"), ("font-weight", "bold")]} ]))```---# Síntese {#sec-sintese}```{python}#| label: summaryn_sources = stats.source_countn_concepts = stats.ontology_countn_relations = stats.triple_countn_high =len(onto[onto["confidence"] =="HIGH"])top5 = concept_stats.head(5).index.tolist()dominant_rel = chains["relation"].value_counts().index[0]dominant_dim = dim_counts.iloc[dim_counts["count"].values.argmax()]["label"]summary =f"""### Principais achados| Dimensão | Resultado ||----------|----------|| **Corpus** | {n_sources} artigos → {n_concepts} conceitos e {n_relations} relações causais || **Conceitos centrais** | {', '.join(top5)} || **Relação dominante** | {dominant_rel} ({chains['relation'].value_counts().iloc[0]} ocorrências) || **Dimensão mais estudada** | {dominant_dim} || **Robustez** | {n_high} conceitos com alta confiança, {n_concepts - n_high} emergentes |: Síntese quantitativa da análise {{.striped .hover}}---*Dados gerados pelo compilador Synesis a partir de codificação assistida por IA.*"""display(Markdown(summary))```