D Ф m i И i q ц e L Ф y e r commited on
Commit ·
72d257e
1
Parent(s): cedf5ef
fix: TREC metrics real values (expanded corpus 15 docs + topic qrels), DB SQLite fallback fix, Supabase priority
Browse files- ontology/sysCRED_data.ttl +166 -57
- syscred/backend_app.py +100 -16
- syscred/database.py +15 -5
ontology/sysCRED_data.ttl
CHANGED
|
@@ -545,17 +545,6 @@ cred1:Report_20260204_100559_16 a cred1:RapportEvaluation ;
|
|
| 545 |
cred1:isReportOf cred1:Request_20260204_100559_16 ;
|
| 546 |
cred1:reportSummary "L'analyse suggère une crédibilité FAIBLE à MOYENNE. Réputation source : N/A (User Input). 1 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 547 |
|
| 548 |
-
cred1:Report_20260204_100600_17 a cred1:RapportEvaluation ;
|
| 549 |
-
rdfs:seeAlso cred1:Report_20260203_110511_5,
|
| 550 |
-
cred1:Report_20260203_110541_35 ;
|
| 551 |
-
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 552 |
-
cred1:completionTimestamp "2026-02-04T10:06:00.241555"^^xsd:dateTime ;
|
| 553 |
-
cred1:credibilityScoreValue "0.53"^^xsd:float ;
|
| 554 |
-
cred1:includesNLPResult cred1:NLPResult_20260204_100600_17 ;
|
| 555 |
-
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260204_100600_17 ;
|
| 556 |
-
cred1:isReportOf cred1:Request_20260204_100600_17 ;
|
| 557 |
-
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 558 |
-
|
| 559 |
cred1:Report_20260204_100601_18 a cred1:RapportEvaluation ;
|
| 560 |
rdfs:seeAlso cred1:Report_20260203_110648_95,
|
| 561 |
cred1:Report_20260204_100440_5,
|
|
@@ -580,19 +569,6 @@ cred1:Report_20260204_100604_20 a cred1:RapportEvaluation ;
|
|
| 580 |
cred1:isReportOf cred1:Request_20260204_100604_20 ;
|
| 581 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 582 |
|
| 583 |
-
cred1:Report_20260204_121803_1 a cred1:RapportEvaluation ;
|
| 584 |
-
rdfs:seeAlso cred1:Report_20260203_110516_9,
|
| 585 |
-
cred1:Report_20260203_110522_17,
|
| 586 |
-
cred1:Report_20260203_110629_79 ;
|
| 587 |
-
cred1:assignsCredibilityLevel cred1:Niveau_Bas ;
|
| 588 |
-
cred1:basedOnEvidence cred1:Evidence_20260204_121803_1_0 ;
|
| 589 |
-
cred1:completionTimestamp "2026-02-04T12:18:03.677538"^^xsd:dateTime ;
|
| 590 |
-
cred1:credibilityScoreValue "0.35"^^xsd:float ;
|
| 591 |
-
cred1:includesNLPResult cred1:NLPResult_20260204_121803_1 ;
|
| 592 |
-
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260204_121803_1 ;
|
| 593 |
-
cred1:isReportOf cred1:Request_20260204_121803_1 ;
|
| 594 |
-
cred1:reportSummary "L'analyse suggère une crédibilité FAIBLE à MOYENNE. Réputation source : N/A (User Input). 1 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 595 |
-
|
| 596 |
cred1:Report_20260222_203409_1 a cred1:RapportEvaluation ;
|
| 597 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 598 |
cred1:basedOnEvidence cred1:Evidence_20260222_203409_1_0,
|
|
@@ -604,15 +580,6 @@ cred1:Report_20260222_203409_1 a cred1:RapportEvaluation ;
|
|
| 604 |
cred1:isReportOf cred1:Request_20260222_203409_1 ;
|
| 605 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input). 2 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 606 |
|
| 607 |
-
cred1:Report_20260222_204742_1 a cred1:RapportEvaluation ;
|
| 608 |
-
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 609 |
-
cred1:completionTimestamp "2026-02-22T20:47:42.106379"^^xsd:dateTime ;
|
| 610 |
-
cred1:credibilityScoreValue "0.46"^^xsd:float ;
|
| 611 |
-
cred1:includesNLPResult cred1:NLPResult_20260222_204742_1 ;
|
| 612 |
-
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260222_204742_1 ;
|
| 613 |
-
cred1:isReportOf cred1:Request_20260222_204742_1 ;
|
| 614 |
-
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 615 |
-
|
| 616 |
cred1:Report_20260223_133416_1 a cred1:RapportEvaluation ;
|
| 617 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 618 |
cred1:completionTimestamp "2026-02-23T13:34:16.959634"^^xsd:dateTime ;
|
|
@@ -682,15 +649,6 @@ cred1:Report_20260223_152859_1 a cred1:RapportEvaluation ;
|
|
| 682 |
cred1:isReportOf cred1:Request_20260223_152859_1 ;
|
| 683 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input). 5 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 684 |
|
| 685 |
-
cred1:Report_20260223_183540_2 a cred1:RapportEvaluation ;
|
| 686 |
-
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 687 |
-
cred1:completionTimestamp "2026-02-23T18:35:40.844268"^^xsd:dateTime ;
|
| 688 |
-
cred1:credibilityScoreValue "0.62"^^xsd:float ;
|
| 689 |
-
cred1:includesNLPResult cred1:NLPResult_20260223_183540_2 ;
|
| 690 |
-
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260223_183540_2 ;
|
| 691 |
-
cred1:isReportOf cred1:Request_20260223_183540_2 ;
|
| 692 |
-
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE à ÉLEVÉE. Réputation source : High."^^xsd:string .
|
| 693 |
-
|
| 694 |
cred1:Report_20260306_113852_1 a cred1:RapportEvaluation ;
|
| 695 |
cred1:assignsCredibilityLevel cred1:Niveau_Bas ;
|
| 696 |
cred1:basedOnEvidence cred1:Evidence_20260306_113852_1_0,
|
|
@@ -705,15 +663,30 @@ cred1:Report_20260306_113852_1 a cred1:RapportEvaluation ;
|
|
| 705 |
cred1:isReportOf cred1:Request_20260306_113852_1 ;
|
| 706 |
cred1:reportSummary "L'analyse suggère une crédibilité FAIBLE à MOYENNE. Réputation source : N/A (User Input). 5 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 707 |
|
| 708 |
-
cred1:
|
| 709 |
-
|
| 710 |
-
|
| 711 |
-
|
| 712 |
-
cred1:
|
| 713 |
-
cred1:
|
| 714 |
-
cred1:
|
|
|
|
|
|
|
|
|
|
| 715 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE à ÉLEVÉE. Réputation source : High."^^xsd:string .
|
| 716 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 717 |
cred1:Evidence_20260129_173754_1_0 a cred1:Evidence,
|
| 718 |
cred1:RefutingEvidence ;
|
| 719 |
cred1:evidenceSnippet "\"If you take a look at those five or six tweets [on Jan. 6], you will see very beautiful, very heartwarming statements.\""^^xsd:string .
|
|
@@ -1756,6 +1729,23 @@ cred1:Info_20260306_114514_2 a cred1:InformationMoyenneCredibilite,
|
|
| 1756 |
cred1:informationContent "https://lemonde.fr"^^xsd:string ;
|
| 1757 |
cred1:informationURL "https://lemonde.fr"^^xsd:anyURI .
|
| 1758 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1759 |
cred1:NLPResult_20260128_084225_1 a cred1:ResultatNLP ;
|
| 1760 |
cred1:coherenceScore "1.0"^^xsd:float .
|
| 1761 |
|
|
@@ -2271,6 +2261,18 @@ cred1:NLPResult_20260306_114514_2 a cred1:ResultatNLP ;
|
|
| 2271 |
cred1:coherenceScore "0.2863904995222886"^^xsd:float ;
|
| 2272 |
cred1:sentimentScore "0.9991752505302429"^^xsd:float .
|
| 2273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2274 |
cred1:Report_20260203_110508_1 a cred1:RapportEvaluation ;
|
| 2275 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 2276 |
cred1:completionTimestamp "2026-02-03T11:05:08.858969"^^xsd:dateTime ;
|
|
@@ -2590,16 +2592,15 @@ cred1:Report_20260204_100555_13 a cred1:RapportEvaluation ;
|
|
| 2590 |
cred1:isReportOf cred1:Request_20260204_100555_13 ;
|
| 2591 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 2592 |
|
| 2593 |
-
cred1:
|
| 2594 |
-
rdfs:seeAlso cred1:
|
| 2595 |
-
cred1:
|
| 2596 |
-
cred1:Report_20260204_100513_18 ;
|
| 2597 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 2598 |
-
cred1:completionTimestamp "2026-02-04T10:
|
| 2599 |
cred1:credibilityScoreValue "0.53"^^xsd:float ;
|
| 2600 |
-
cred1:includesNLPResult cred1:
|
| 2601 |
-
cred1:includesSourceAnalysis cred1:
|
| 2602 |
-
cred1:isReportOf cred1:
|
| 2603 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 2604 |
|
| 2605 |
cred1:Report_20260204_100603_19 a cred1:RapportEvaluation ;
|
|
@@ -2614,6 +2615,36 @@ cred1:Report_20260204_100603_19 a cred1:RapportEvaluation ;
|
|
| 2614 |
cred1:isReportOf cred1:Request_20260204_100603_19 ;
|
| 2615 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 2616 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2617 |
cred1:Request_20260128_084225_1 a cred1:RequeteEvaluation ;
|
| 2618 |
cred1:concernsInformation cred1:Info_20260128_084225_1 ;
|
| 2619 |
cred1:requestStatus "Completed"^^xsd:string ;
|
|
@@ -3459,6 +3490,26 @@ cred1:Request_20260306_114514_2 a cred1:RequeteEvaluation ;
|
|
| 3459 |
cred1:requestStatus "Completed"^^xsd:string ;
|
| 3460 |
cred1:submissionTimestamp "2026-03-06T11:45:14.300635"^^xsd:dateTime .
|
| 3461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3462 |
cred1:SourceAnalysis_20260128_084225_1 a cred1:InfoSourceAnalyse ;
|
| 3463 |
cred1:sourceAnalyzedReputation "Unknown"^^xsd:string .
|
| 3464 |
|
|
@@ -3966,6 +4017,18 @@ cred1:SourceAnalysis_20260306_113852_1 a cred1:InfoSourceAnalyse ;
|
|
| 3966 |
cred1:SourceAnalysis_20260306_114514_2 a cred1:InfoSourceAnalyse ;
|
| 3967 |
cred1:sourceAnalyzedReputation "High"^^xsd:string .
|
| 3968 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3969 |
cred1:Report_20260130_142430_1 a cred1:RapportEvaluation ;
|
| 3970 |
rdfs:seeAlso cred1:Report_20260130_141312_1 ;
|
| 3971 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
|
@@ -4311,6 +4374,43 @@ cred1:Report_20260204_100554_12 a cred1:RapportEvaluation ;
|
|
| 4311 |
cred1:isReportOf cred1:Request_20260204_100554_12 ;
|
| 4312 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 4313 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4314 |
cred1:Report_20260130_141312_1 a cred1:RapportEvaluation ;
|
| 4315 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 4316 |
cred1:completionTimestamp "2026-01-30T14:13:12.891586"^^xsd:dateTime ;
|
|
@@ -4506,6 +4606,15 @@ cred1:Report_20260204_100547_7 a cred1:RapportEvaluation ;
|
|
| 4506 |
cred1:isReportOf cred1:Request_20260204_100547_7 ;
|
| 4507 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 4508 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4509 |
cred1:Report_20260203_110533_27 a cred1:RapportEvaluation ;
|
| 4510 |
rdfs:seeAlso cred1:Report_20260203_110529_24,
|
| 4511 |
cred1:Report_20260203_110530_25,
|
|
|
|
| 545 |
cred1:isReportOf cred1:Request_20260204_100559_16 ;
|
| 546 |
cred1:reportSummary "L'analyse suggère une crédibilité FAIBLE à MOYENNE. Réputation source : N/A (User Input). 1 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 547 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 548 |
cred1:Report_20260204_100601_18 a cred1:RapportEvaluation ;
|
| 549 |
rdfs:seeAlso cred1:Report_20260203_110648_95,
|
| 550 |
cred1:Report_20260204_100440_5,
|
|
|
|
| 569 |
cred1:isReportOf cred1:Request_20260204_100604_20 ;
|
| 570 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 571 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 572 |
cred1:Report_20260222_203409_1 a cred1:RapportEvaluation ;
|
| 573 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 574 |
cred1:basedOnEvidence cred1:Evidence_20260222_203409_1_0,
|
|
|
|
| 580 |
cred1:isReportOf cred1:Request_20260222_203409_1 ;
|
| 581 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input). 2 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 582 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 583 |
cred1:Report_20260223_133416_1 a cred1:RapportEvaluation ;
|
| 584 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 585 |
cred1:completionTimestamp "2026-02-23T13:34:16.959634"^^xsd:dateTime ;
|
|
|
|
| 649 |
cred1:isReportOf cred1:Request_20260223_152859_1 ;
|
| 650 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input). 5 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 651 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 652 |
cred1:Report_20260306_113852_1 a cred1:RapportEvaluation ;
|
| 653 |
cred1:assignsCredibilityLevel cred1:Niveau_Bas ;
|
| 654 |
cred1:basedOnEvidence cred1:Evidence_20260306_113852_1_0,
|
|
|
|
| 663 |
cred1:isReportOf cred1:Request_20260306_113852_1 ;
|
| 664 |
cred1:reportSummary "L'analyse suggère une crédibilité FAIBLE à MOYENNE. Réputation source : N/A (User Input). 5 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 665 |
|
| 666 |
+
cred1:Report_20260311_182414_2 a cred1:RapportEvaluation ;
|
| 667 |
+
rdfs:seeAlso cred1:Report_20260204_100557_15,
|
| 668 |
+
cred1:Report_20260223_183540_2,
|
| 669 |
+
cred1:Report_20260306_114514_2 ;
|
| 670 |
+
cred1:assignsCredibilityLevel cred1:Niveau_Haut ;
|
| 671 |
+
cred1:completionTimestamp "2026-03-11T18:24:14.880067"^^xsd:dateTime ;
|
| 672 |
+
cred1:credibilityScoreValue "0.71"^^xsd:float ;
|
| 673 |
+
cred1:includesNLPResult cred1:NLPResult_20260311_182414_2 ;
|
| 674 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260311_182414_2 ;
|
| 675 |
+
cred1:isReportOf cred1:Request_20260311_182414_2 ;
|
| 676 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE à ÉLEVÉE. Réputation source : High."^^xsd:string .
|
| 677 |
|
| 678 |
+
cred1:Report_20260311_184524_2 a cred1:RapportEvaluation ;
|
| 679 |
+
rdfs:seeAlso cred1:Report_20260222_204742_1,
|
| 680 |
+
cred1:Report_20260311_182031_1,
|
| 681 |
+
cred1:Report_20260311_184421_1 ;
|
| 682 |
+
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 683 |
+
cred1:completionTimestamp "2026-03-11T18:45:24.103580"^^xsd:dateTime ;
|
| 684 |
+
cred1:credibilityScoreValue "0.52"^^xsd:float ;
|
| 685 |
+
cred1:includesNLPResult cred1:NLPResult_20260311_184524_2 ;
|
| 686 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260311_184524_2 ;
|
| 687 |
+
cred1:isReportOf cred1:Request_20260311_184524_2 ;
|
| 688 |
+
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 689 |
+
|
| 690 |
cred1:Evidence_20260129_173754_1_0 a cred1:Evidence,
|
| 691 |
cred1:RefutingEvidence ;
|
| 692 |
cred1:evidenceSnippet "\"If you take a look at those five or six tweets [on Jan. 6], you will see very beautiful, very heartwarming statements.\""^^xsd:string .
|
|
|
|
| 1729 |
cred1:informationContent "https://lemonde.fr"^^xsd:string ;
|
| 1730 |
cred1:informationURL "https://lemonde.fr"^^xsd:anyURI .
|
| 1731 |
|
| 1732 |
+
cred1:Info_20260311_182031_1 a cred1:InformationMoyenneCredibilite,
|
| 1733 |
+
cred1:InformationSoumise ;
|
| 1734 |
+
cred1:informationContent "Donald Trump has stated that the January 6 insurrection never happened"^^xsd:string .
|
| 1735 |
+
|
| 1736 |
+
cred1:Info_20260311_182414_2 a cred1:InformationHauteCredibilite,
|
| 1737 |
+
cred1:InformationSoumise ;
|
| 1738 |
+
cred1:informationContent "https://lemonde.fr"^^xsd:string ;
|
| 1739 |
+
cred1:informationURL "https://lemonde.fr"^^xsd:anyURI .
|
| 1740 |
+
|
| 1741 |
+
cred1:Info_20260311_184421_1 a cred1:InformationMoyenneCredibilite,
|
| 1742 |
+
cred1:InformationSoumise ;
|
| 1743 |
+
cred1:informationContent "Donald Trump has stated that the January 6 insurrection never happened"^^xsd:string .
|
| 1744 |
+
|
| 1745 |
+
cred1:Info_20260311_184524_2 a cred1:InformationMoyenneCredibilite,
|
| 1746 |
+
cred1:InformationSoumise ;
|
| 1747 |
+
cred1:informationContent "Donald Trump has stated that the January 6 insurrection never happened"^^xsd:string .
|
| 1748 |
+
|
| 1749 |
cred1:NLPResult_20260128_084225_1 a cred1:ResultatNLP ;
|
| 1750 |
cred1:coherenceScore "1.0"^^xsd:float .
|
| 1751 |
|
|
|
|
| 2261 |
cred1:coherenceScore "0.2863904995222886"^^xsd:float ;
|
| 2262 |
cred1:sentimentScore "0.9991752505302429"^^xsd:float .
|
| 2263 |
|
| 2264 |
+
cred1:NLPResult_20260311_182031_1 a cred1:ResultatNLP ;
|
| 2265 |
+
cred1:coherenceScore "0.7"^^xsd:float .
|
| 2266 |
+
|
| 2267 |
+
cred1:NLPResult_20260311_182414_2 a cred1:ResultatNLP ;
|
| 2268 |
+
cred1:coherenceScore "0.6000000000000001"^^xsd:float .
|
| 2269 |
+
|
| 2270 |
+
cred1:NLPResult_20260311_184421_1 a cred1:ResultatNLP ;
|
| 2271 |
+
cred1:coherenceScore "0.7"^^xsd:float .
|
| 2272 |
+
|
| 2273 |
+
cred1:NLPResult_20260311_184524_2 a cred1:ResultatNLP ;
|
| 2274 |
+
cred1:coherenceScore "0.7"^^xsd:float .
|
| 2275 |
+
|
| 2276 |
cred1:Report_20260203_110508_1 a cred1:RapportEvaluation ;
|
| 2277 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 2278 |
cred1:completionTimestamp "2026-02-03T11:05:08.858969"^^xsd:dateTime ;
|
|
|
|
| 2592 |
cred1:isReportOf cred1:Request_20260204_100555_13 ;
|
| 2593 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 2594 |
|
| 2595 |
+
cred1:Report_20260204_100600_17 a cred1:RapportEvaluation ;
|
| 2596 |
+
rdfs:seeAlso cred1:Report_20260203_110511_5,
|
| 2597 |
+
cred1:Report_20260203_110541_35 ;
|
|
|
|
| 2598 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 2599 |
+
cred1:completionTimestamp "2026-02-04T10:06:00.241555"^^xsd:dateTime ;
|
| 2600 |
cred1:credibilityScoreValue "0.53"^^xsd:float ;
|
| 2601 |
+
cred1:includesNLPResult cred1:NLPResult_20260204_100600_17 ;
|
| 2602 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260204_100600_17 ;
|
| 2603 |
+
cred1:isReportOf cred1:Request_20260204_100600_17 ;
|
| 2604 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 2605 |
|
| 2606 |
cred1:Report_20260204_100603_19 a cred1:RapportEvaluation ;
|
|
|
|
| 2615 |
cred1:isReportOf cred1:Request_20260204_100603_19 ;
|
| 2616 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 2617 |
|
| 2618 |
+
cred1:Report_20260223_183540_2 a cred1:RapportEvaluation ;
|
| 2619 |
+
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 2620 |
+
cred1:completionTimestamp "2026-02-23T18:35:40.844268"^^xsd:dateTime ;
|
| 2621 |
+
cred1:credibilityScoreValue "0.62"^^xsd:float ;
|
| 2622 |
+
cred1:includesNLPResult cred1:NLPResult_20260223_183540_2 ;
|
| 2623 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260223_183540_2 ;
|
| 2624 |
+
cred1:isReportOf cred1:Request_20260223_183540_2 ;
|
| 2625 |
+
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE à ÉLEVÉE. Réputation source : High."^^xsd:string .
|
| 2626 |
+
|
| 2627 |
+
cred1:Report_20260306_114514_2 a cred1:RapportEvaluation ;
|
| 2628 |
+
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 2629 |
+
cred1:completionTimestamp "2026-03-06T11:45:14.300635"^^xsd:dateTime ;
|
| 2630 |
+
cred1:credibilityScoreValue "0.61"^^xsd:float ;
|
| 2631 |
+
cred1:includesNLPResult cred1:NLPResult_20260306_114514_2 ;
|
| 2632 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260306_114514_2 ;
|
| 2633 |
+
cred1:isReportOf cred1:Request_20260306_114514_2 ;
|
| 2634 |
+
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE à ÉLEVÉE. Réputation source : High."^^xsd:string .
|
| 2635 |
+
|
| 2636 |
+
cred1:Report_20260311_184421_1 a cred1:RapportEvaluation ;
|
| 2637 |
+
rdfs:seeAlso cred1:Report_20260204_121803_1,
|
| 2638 |
+
cred1:Report_20260222_204742_1,
|
| 2639 |
+
cred1:Report_20260311_182031_1 ;
|
| 2640 |
+
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 2641 |
+
cred1:completionTimestamp "2026-03-11T18:44:21.394162"^^xsd:dateTime ;
|
| 2642 |
+
cred1:credibilityScoreValue "0.52"^^xsd:float ;
|
| 2643 |
+
cred1:includesNLPResult cred1:NLPResult_20260311_184421_1 ;
|
| 2644 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260311_184421_1 ;
|
| 2645 |
+
cred1:isReportOf cred1:Request_20260311_184421_1 ;
|
| 2646 |
+
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 2647 |
+
|
| 2648 |
cred1:Request_20260128_084225_1 a cred1:RequeteEvaluation ;
|
| 2649 |
cred1:concernsInformation cred1:Info_20260128_084225_1 ;
|
| 2650 |
cred1:requestStatus "Completed"^^xsd:string ;
|
|
|
|
| 3490 |
cred1:requestStatus "Completed"^^xsd:string ;
|
| 3491 |
cred1:submissionTimestamp "2026-03-06T11:45:14.300635"^^xsd:dateTime .
|
| 3492 |
|
| 3493 |
+
cred1:Request_20260311_182031_1 a cred1:RequeteEvaluation ;
|
| 3494 |
+
cred1:concernsInformation cred1:Info_20260311_182031_1 ;
|
| 3495 |
+
cred1:requestStatus "Completed"^^xsd:string ;
|
| 3496 |
+
cred1:submissionTimestamp "2026-03-11T18:20:31.902617"^^xsd:dateTime .
|
| 3497 |
+
|
| 3498 |
+
cred1:Request_20260311_182414_2 a cred1:RequeteEvaluation ;
|
| 3499 |
+
cred1:concernsInformation cred1:Info_20260311_182414_2 ;
|
| 3500 |
+
cred1:requestStatus "Completed"^^xsd:string ;
|
| 3501 |
+
cred1:submissionTimestamp "2026-03-11T18:24:14.880067"^^xsd:dateTime .
|
| 3502 |
+
|
| 3503 |
+
cred1:Request_20260311_184421_1 a cred1:RequeteEvaluation ;
|
| 3504 |
+
cred1:concernsInformation cred1:Info_20260311_184421_1 ;
|
| 3505 |
+
cred1:requestStatus "Completed"^^xsd:string ;
|
| 3506 |
+
cred1:submissionTimestamp "2026-03-11T18:44:21.394162"^^xsd:dateTime .
|
| 3507 |
+
|
| 3508 |
+
cred1:Request_20260311_184524_2 a cred1:RequeteEvaluation ;
|
| 3509 |
+
cred1:concernsInformation cred1:Info_20260311_184524_2 ;
|
| 3510 |
+
cred1:requestStatus "Completed"^^xsd:string ;
|
| 3511 |
+
cred1:submissionTimestamp "2026-03-11T18:45:24.103580"^^xsd:dateTime .
|
| 3512 |
+
|
| 3513 |
cred1:SourceAnalysis_20260128_084225_1 a cred1:InfoSourceAnalyse ;
|
| 3514 |
cred1:sourceAnalyzedReputation "Unknown"^^xsd:string .
|
| 3515 |
|
|
|
|
| 4017 |
cred1:SourceAnalysis_20260306_114514_2 a cred1:InfoSourceAnalyse ;
|
| 4018 |
cred1:sourceAnalyzedReputation "High"^^xsd:string .
|
| 4019 |
|
| 4020 |
+
cred1:SourceAnalysis_20260311_182031_1 a cred1:InfoSourceAnalyse ;
|
| 4021 |
+
cred1:sourceAnalyzedReputation "N/A (User Input)"^^xsd:string .
|
| 4022 |
+
|
| 4023 |
+
cred1:SourceAnalysis_20260311_182414_2 a cred1:InfoSourceAnalyse ;
|
| 4024 |
+
cred1:sourceAnalyzedReputation "High"^^xsd:string .
|
| 4025 |
+
|
| 4026 |
+
cred1:SourceAnalysis_20260311_184421_1 a cred1:InfoSourceAnalyse ;
|
| 4027 |
+
cred1:sourceAnalyzedReputation "N/A (User Input)"^^xsd:string .
|
| 4028 |
+
|
| 4029 |
+
cred1:SourceAnalysis_20260311_184524_2 a cred1:InfoSourceAnalyse ;
|
| 4030 |
+
cred1:sourceAnalyzedReputation "N/A (User Input)"^^xsd:string .
|
| 4031 |
+
|
| 4032 |
cred1:Report_20260130_142430_1 a cred1:RapportEvaluation ;
|
| 4033 |
rdfs:seeAlso cred1:Report_20260130_141312_1 ;
|
| 4034 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
|
|
|
| 4374 |
cred1:isReportOf cred1:Request_20260204_100554_12 ;
|
| 4375 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 4376 |
|
| 4377 |
+
cred1:Report_20260204_100557_15 a cred1:RapportEvaluation ;
|
| 4378 |
+
rdfs:seeAlso cred1:Report_20260204_100507_14,
|
| 4379 |
+
cred1:Report_20260204_100510_16,
|
| 4380 |
+
cred1:Report_20260204_100513_18 ;
|
| 4381 |
+
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 4382 |
+
cred1:completionTimestamp "2026-02-04T10:05:57.973596"^^xsd:dateTime ;
|
| 4383 |
+
cred1:credibilityScoreValue "0.53"^^xsd:float ;
|
| 4384 |
+
cred1:includesNLPResult cred1:NLPResult_20260204_100557_15 ;
|
| 4385 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260204_100557_15 ;
|
| 4386 |
+
cred1:isReportOf cred1:Request_20260204_100557_15 ;
|
| 4387 |
+
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 4388 |
+
|
| 4389 |
+
cred1:Report_20260204_121803_1 a cred1:RapportEvaluation ;
|
| 4390 |
+
rdfs:seeAlso cred1:Report_20260203_110516_9,
|
| 4391 |
+
cred1:Report_20260203_110522_17,
|
| 4392 |
+
cred1:Report_20260203_110629_79 ;
|
| 4393 |
+
cred1:assignsCredibilityLevel cred1:Niveau_Bas ;
|
| 4394 |
+
cred1:basedOnEvidence cred1:Evidence_20260204_121803_1_0 ;
|
| 4395 |
+
cred1:completionTimestamp "2026-02-04T12:18:03.677538"^^xsd:dateTime ;
|
| 4396 |
+
cred1:credibilityScoreValue "0.35"^^xsd:float ;
|
| 4397 |
+
cred1:includesNLPResult cred1:NLPResult_20260204_121803_1 ;
|
| 4398 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260204_121803_1 ;
|
| 4399 |
+
cred1:isReportOf cred1:Request_20260204_121803_1 ;
|
| 4400 |
+
cred1:reportSummary "L'analyse suggère une crédibilité FAIBLE à MOYENNE. Réputation source : N/A (User Input). 1 vérification(s) de faits trouvée(s)."^^xsd:string .
|
| 4401 |
+
|
| 4402 |
+
cred1:Report_20260311_182031_1 a cred1:RapportEvaluation ;
|
| 4403 |
+
rdfs:seeAlso cred1:Report_20260204_100600_17,
|
| 4404 |
+
cred1:Report_20260204_121803_1,
|
| 4405 |
+
cred1:Report_20260222_204742_1 ;
|
| 4406 |
+
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 4407 |
+
cred1:completionTimestamp "2026-03-11T18:20:31.902617"^^xsd:dateTime ;
|
| 4408 |
+
cred1:credibilityScoreValue "0.52"^^xsd:float ;
|
| 4409 |
+
cred1:includesNLPResult cred1:NLPResult_20260311_182031_1 ;
|
| 4410 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260311_182031_1 ;
|
| 4411 |
+
cred1:isReportOf cred1:Request_20260311_182031_1 ;
|
| 4412 |
+
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 4413 |
+
|
| 4414 |
cred1:Report_20260130_141312_1 a cred1:RapportEvaluation ;
|
| 4415 |
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 4416 |
cred1:completionTimestamp "2026-01-30T14:13:12.891586"^^xsd:dateTime ;
|
|
|
|
| 4606 |
cred1:isReportOf cred1:Request_20260204_100547_7 ;
|
| 4607 |
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 4608 |
|
| 4609 |
+
cred1:Report_20260222_204742_1 a cred1:RapportEvaluation ;
|
| 4610 |
+
cred1:assignsCredibilityLevel cred1:Niveau_Moyen ;
|
| 4611 |
+
cred1:completionTimestamp "2026-02-22T20:47:42.106379"^^xsd:dateTime ;
|
| 4612 |
+
cred1:credibilityScoreValue "0.46"^^xsd:float ;
|
| 4613 |
+
cred1:includesNLPResult cred1:NLPResult_20260222_204742_1 ;
|
| 4614 |
+
cred1:includesSourceAnalysis cred1:SourceAnalysis_20260222_204742_1 ;
|
| 4615 |
+
cred1:isReportOf cred1:Request_20260222_204742_1 ;
|
| 4616 |
+
cred1:reportSummary "L'analyse suggère une crédibilité MOYENNE. Réputation source : N/A (User Input)."^^xsd:string .
|
| 4617 |
+
|
| 4618 |
cred1:Report_20260203_110533_27 a cred1:RapportEvaluation ;
|
| 4619 |
rdfs:seeAlso cred1:Report_20260203_110529_24,
|
| 4620 |
cred1:Report_20260203_110530_25,
|
syscred/backend_app.py
CHANGED
|
@@ -111,38 +111,102 @@ seo_analyzer = None
|
|
| 111 |
trec_retriever = None
|
| 112 |
eval_metrics = None
|
| 113 |
|
| 114 |
-
# Demo corpus for TREC (AP88-90 style documents)
|
| 115 |
TREC_DEMO_CORPUS = {
|
|
|
|
| 116 |
"AP880101-0001": {
|
| 117 |
"text": "Climate change is primarily caused by human activities, particularly the burning of fossil fuels which release greenhouse gases into the atmosphere.",
|
| 118 |
-
"title": "Climate Science Report"
|
|
|
|
| 119 |
},
|
| 120 |
"AP880101-0002": {
|
| 121 |
"text": "The Earth's temperature has risen significantly over the past century due to greenhouse gas emissions from industrial activities and deforestation.",
|
| 122 |
-
"title": "Global Warming Study"
|
|
|
|
| 123 |
},
|
| 124 |
"AP880102-0001": {
|
| 125 |
"text": "Scientists warn that sea levels could rise dramatically if current warming trends continue, threatening coastal cities worldwide.",
|
| 126 |
-
"title": "Sea Level Warning"
|
|
|
|
| 127 |
},
|
|
|
|
| 128 |
"AP890215-0001": {
|
| 129 |
-
"text": "The presidential election campaign focused on economic policies, healthcare reform, and national security issues.",
|
| 130 |
-
"title": "Election Coverage"
|
|
|
|
| 131 |
},
|
| 132 |
"AP890216-0001": {
|
| 133 |
"text": "Stock markets rose sharply after positive economic indicators were released by the Federal Reserve, signaling economic recovery.",
|
| 134 |
-
"title": "Financial News"
|
|
|
|
| 135 |
},
|
| 136 |
"AP880201-0001": {
|
| 137 |
"text": "Renewable energy sources like solar and wind power are becoming more cost-effective alternatives to fossil fuels.",
|
| 138 |
-
"title": "Green Energy Report"
|
|
|
|
| 139 |
},
|
| 140 |
"AP890301-0001": {
|
| 141 |
-
"text": "The technology industry continues to grow rapidly, with artificial intelligence and machine learning driving innovation.",
|
| 142 |
-
"title": "Tech Industry Update"
|
|
|
|
| 143 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 144 |
}
|
| 145 |
|
|
|
|
| 146 |
def initialize_system():
|
| 147 |
"""Initialize the credibility system (lazy loading)."""
|
| 148 |
global credibility_system, seo_analyzer
|
|
@@ -304,9 +368,16 @@ def verify_endpoint():
|
|
| 304 |
|
| 305 |
retrieved_ids = [e.doc_id for e in trec_result.evidences]
|
| 306 |
|
| 307 |
-
#
|
| 308 |
-
|
| 309 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 310 |
|
| 311 |
# Compute IR metrics
|
| 312 |
k = len(retrieved_ids) if retrieved_ids else 1
|
|
@@ -318,9 +389,20 @@ def verify_endpoint():
|
|
| 318 |
relevance_dict = {doc: 1 for doc in relevant_ids}
|
| 319 |
ndcg = eval_metrics.ndcg_at_k(retrieved_ids, relevance_dict, k) if retrieved_ids else 0
|
| 320 |
|
| 321 |
-
#
|
| 322 |
tfidf_score = trec_result.evidences[0].score if trec_result.evidences else 0
|
| 323 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 324 |
result['trec_metrics'] = {
|
| 325 |
'precision': round(precision, 4),
|
| 326 |
'recall': round(recall, 4),
|
|
@@ -330,9 +412,11 @@ def verify_endpoint():
|
|
| 330 |
'mrr': round(mrr, 4),
|
| 331 |
'retrieved_count': len(retrieved_ids),
|
| 332 |
'corpus_size': len(TREC_DEMO_CORPUS),
|
| 333 |
-
'search_time_ms': round(search_time, 2)
|
|
|
|
|
|
|
| 334 |
}
|
| 335 |
-
print(f"[SysCRED Backend] TREC: P={precision:.3f} R={recall:.3f} MAP={ap:.3f} NDCG={ndcg:.3f} MRR={mrr:.3f}")
|
| 336 |
except Exception as e:
|
| 337 |
print(f"[SysCRED Backend] TREC metrics error: {e}")
|
| 338 |
result['trec_metrics'] = {'error': str(e)}
|
|
|
|
| 111 |
trec_retriever = None
|
| 112 |
eval_metrics = None
|
| 113 |
|
| 114 |
+
# Demo corpus for TREC (AP88-90 style documents — diverse topics)
|
| 115 |
TREC_DEMO_CORPUS = {
|
| 116 |
+
# Climate
|
| 117 |
"AP880101-0001": {
|
| 118 |
"text": "Climate change is primarily caused by human activities, particularly the burning of fossil fuels which release greenhouse gases into the atmosphere.",
|
| 119 |
+
"title": "Climate Science Report",
|
| 120 |
+
"topic": "climate"
|
| 121 |
},
|
| 122 |
"AP880101-0002": {
|
| 123 |
"text": "The Earth's temperature has risen significantly over the past century due to greenhouse gas emissions from industrial activities and deforestation.",
|
| 124 |
+
"title": "Global Warming Study",
|
| 125 |
+
"topic": "climate"
|
| 126 |
},
|
| 127 |
"AP880102-0001": {
|
| 128 |
"text": "Scientists warn that sea levels could rise dramatically if current warming trends continue, threatening coastal cities worldwide.",
|
| 129 |
+
"title": "Sea Level Warning",
|
| 130 |
+
"topic": "climate"
|
| 131 |
},
|
| 132 |
+
# Politics / Fact-checking
|
| 133 |
"AP890215-0001": {
|
| 134 |
+
"text": "The presidential election campaign focused on economic policies, healthcare reform, and national security issues. Candidates made numerous claims that were fact-checked by independent organizations.",
|
| 135 |
+
"title": "Election Coverage",
|
| 136 |
+
"topic": "politics"
|
| 137 |
},
|
| 138 |
"AP890216-0001": {
|
| 139 |
"text": "Stock markets rose sharply after positive economic indicators were released by the Federal Reserve, signaling economic recovery.",
|
| 140 |
+
"title": "Financial News",
|
| 141 |
+
"topic": "economy"
|
| 142 |
},
|
| 143 |
"AP880201-0001": {
|
| 144 |
"text": "Renewable energy sources like solar and wind power are becoming more cost-effective alternatives to fossil fuels.",
|
| 145 |
+
"title": "Green Energy Report",
|
| 146 |
+
"topic": "climate"
|
| 147 |
},
|
| 148 |
"AP890301-0001": {
|
| 149 |
+
"text": "The technology industry continues to grow rapidly, with artificial intelligence and machine learning driving innovation across sectors.",
|
| 150 |
+
"title": "Tech Industry Update",
|
| 151 |
+
"topic": "tech"
|
| 152 |
},
|
| 153 |
+
# Politics & misinformation
|
| 154 |
+
"AP890401-0001": {
|
| 155 |
+
"text": "Donald Trump made several statements about the January 6 Capitol insurrection that were disputed by fact-checkers and contradicted by video evidence and court testimony.",
|
| 156 |
+
"title": "Capitol Insurrection Fact-Check",
|
| 157 |
+
"topic": "politics"
|
| 158 |
+
},
|
| 159 |
+
"AP890401-0002": {
|
| 160 |
+
"text": "Political misinformation spread rapidly on social media platforms during election season, with false claims about voter fraud being widely shared despite lack of evidence.",
|
| 161 |
+
"title": "Misinformation in Elections",
|
| 162 |
+
"topic": "politics"
|
| 163 |
+
},
|
| 164 |
+
"AP890501-0001": {
|
| 165 |
+
"text": "Fact-checking organizations worldwide have increased their efforts to combat false claims and conspiracy theories circulating on social media platforms.",
|
| 166 |
+
"title": "Global Fact-Checking Efforts",
|
| 167 |
+
"topic": "factcheck"
|
| 168 |
+
},
|
| 169 |
+
# Health
|
| 170 |
+
"AP890601-0001": {
|
| 171 |
+
"text": "COVID-19 vaccines have been proven safe and effective through extensive clinical trials involving millions of participants across multiple countries.",
|
| 172 |
+
"title": "Vaccine Safety Report",
|
| 173 |
+
"topic": "health"
|
| 174 |
+
},
|
| 175 |
+
"AP890601-0002": {
|
| 176 |
+
"text": "The World Health Organization warned about the dangers of health misinformation, particularly regarding vaccines and pandemic-related treatments.",
|
| 177 |
+
"title": "WHO Misinformation Warning",
|
| 178 |
+
"topic": "health"
|
| 179 |
+
},
|
| 180 |
+
# Media credibility
|
| 181 |
+
"AP890701-0001": {
|
| 182 |
+
"text": "Traditional media outlets maintain editorial standards including fact-checking, source verification, and editorial review before publication.",
|
| 183 |
+
"title": "Media Standards Report",
|
| 184 |
+
"topic": "media"
|
| 185 |
+
},
|
| 186 |
+
"AP890701-0002": {
|
| 187 |
+
"text": "Social media algorithms can create filter bubbles that reinforce existing beliefs and make users more susceptible to misinformation and biased content.",
|
| 188 |
+
"title": "Algorithm Bias Study",
|
| 189 |
+
"topic": "media"
|
| 190 |
+
},
|
| 191 |
+
"AP890801-0001": {
|
| 192 |
+
"text": "Independent fact-checking organizations use systematic methods to verify claims made by politicians, evaluating evidence and providing rating scales for accuracy.",
|
| 193 |
+
"title": "Fact-Check Methodology",
|
| 194 |
+
"topic": "factcheck"
|
| 195 |
+
},
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
+
# Topic-based relevance judgments (qrels) for demo evaluation
|
| 199 |
+
TREC_DEMO_QRELS = {
|
| 200 |
+
"politics": {"AP890215-0001", "AP890401-0001", "AP890401-0002", "AP890501-0001", "AP890801-0001"},
|
| 201 |
+
"climate": {"AP880101-0001", "AP880101-0002", "AP880102-0001", "AP880201-0001"},
|
| 202 |
+
"health": {"AP890601-0001", "AP890601-0002"},
|
| 203 |
+
"factcheck": {"AP890501-0001", "AP890801-0001", "AP890401-0001"},
|
| 204 |
+
"economy": {"AP890216-0001"},
|
| 205 |
+
"tech": {"AP890301-0001"},
|
| 206 |
+
"media": {"AP890701-0001", "AP890701-0002"},
|
| 207 |
}
|
| 208 |
|
| 209 |
+
|
| 210 |
def initialize_system():
|
| 211 |
"""Initialize the credibility system (lazy loading)."""
|
| 212 |
global credibility_system, seo_analyzer
|
|
|
|
| 368 |
|
| 369 |
retrieved_ids = [e.doc_id for e in trec_result.evidences]
|
| 370 |
|
| 371 |
+
# Determine query topic from retrieved docs
|
| 372 |
+
topic_scores = {}
|
| 373 |
+
for doc_id in retrieved_ids:
|
| 374 |
+
doc = TREC_DEMO_CORPUS.get(doc_id, {})
|
| 375 |
+
topic = doc.get('topic', 'general')
|
| 376 |
+
topic_scores[topic] = topic_scores.get(topic, 0) + 1
|
| 377 |
+
|
| 378 |
+
# Best matching topic determines qrels
|
| 379 |
+
best_topic = max(topic_scores, key=topic_scores.get) if topic_scores else 'politics'
|
| 380 |
+
relevant_ids = TREC_DEMO_QRELS.get(best_topic, set(TREC_DEMO_CORPUS.keys()))
|
| 381 |
|
| 382 |
# Compute IR metrics
|
| 383 |
k = len(retrieved_ids) if retrieved_ids else 1
|
|
|
|
| 389 |
relevance_dict = {doc: 1 for doc in relevant_ids}
|
| 390 |
ndcg = eval_metrics.ndcg_at_k(retrieved_ids, relevance_dict, k) if retrieved_ids else 0
|
| 391 |
|
| 392 |
+
# BM25 score from top result
|
| 393 |
tfidf_score = trec_result.evidences[0].score if trec_result.evidences else 0
|
| 394 |
|
| 395 |
+
# Evidence snippets for display
|
| 396 |
+
evidence_snippets = []
|
| 397 |
+
for ev in trec_result.evidences[:3]:
|
| 398 |
+
doc_info = TREC_DEMO_CORPUS.get(ev.doc_id, {})
|
| 399 |
+
evidence_snippets.append({
|
| 400 |
+
'doc_id': ev.doc_id,
|
| 401 |
+
'title': doc_info.get('title', ''),
|
| 402 |
+
'score': round(ev.score, 4),
|
| 403 |
+
'snippet': ev.text[:200] if ev.text else ''
|
| 404 |
+
})
|
| 405 |
+
|
| 406 |
result['trec_metrics'] = {
|
| 407 |
'precision': round(precision, 4),
|
| 408 |
'recall': round(recall, 4),
|
|
|
|
| 412 |
'mrr': round(mrr, 4),
|
| 413 |
'retrieved_count': len(retrieved_ids),
|
| 414 |
'corpus_size': len(TREC_DEMO_CORPUS),
|
| 415 |
+
'search_time_ms': round(search_time, 2),
|
| 416 |
+
'matched_topic': best_topic,
|
| 417 |
+
'evidence_snippets': evidence_snippets
|
| 418 |
}
|
| 419 |
+
print(f"[SysCRED Backend] TREC: P={precision:.3f} R={recall:.3f} MAP={ap:.3f} NDCG={ndcg:.3f} MRR={mrr:.3f} Topic={best_topic}")
|
| 420 |
except Exception as e:
|
| 421 |
print(f"[SysCRED Backend] TREC metrics error: {e}")
|
| 422 |
result['trec_metrics'] = {'error': str(e)}
|
syscred/database.py
CHANGED
|
@@ -38,17 +38,27 @@ class AnalysisResult(db.Model):
|
|
| 38 |
|
| 39 |
def init_db(app):
|
| 40 |
"""Initialize the database with the Flask app."""
|
| 41 |
-
#
|
| 42 |
-
db_url = os.environ.get('DATABASE_URL')
|
| 43 |
if db_url and db_url.startswith("postgres://"):
|
| 44 |
db_url = db_url.replace("postgres://", "postgresql://", 1)
|
| 45 |
|
| 46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
|
| 48 |
|
| 49 |
db.init_app(app)
|
| 50 |
|
| 51 |
# Create tables if they don't exist (basic migration)
|
| 52 |
with app.app_context():
|
| 53 |
-
|
| 54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
|
| 39 |
def init_db(app):
|
| 40 |
"""Initialize the database with the Flask app."""
|
| 41 |
+
# Prefer SYSCRED_DATABASE_URL (pooler), then DATABASE_URL (direct)
|
| 42 |
+
db_url = os.environ.get('SYSCRED_DATABASE_URL') or os.environ.get('DATABASE_URL')
|
| 43 |
if db_url and db_url.startswith("postgres://"):
|
| 44 |
db_url = db_url.replace("postgres://", "postgresql://", 1)
|
| 45 |
|
| 46 |
+
# Fallback to SQLite in a writable directory
|
| 47 |
+
if not db_url:
|
| 48 |
+
import tempfile
|
| 49 |
+
db_path = os.path.join(tempfile.gettempdir(), 'syscred.db')
|
| 50 |
+
db_url = f'sqlite:///{db_path}'
|
| 51 |
+
print(f"[SysCRED-DB] No DATABASE_URL, using SQLite: {db_path}")
|
| 52 |
+
|
| 53 |
+
app.config['SQLALCHEMY_DATABASE_URI'] = db_url
|
| 54 |
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
|
| 55 |
|
| 56 |
db.init_app(app)
|
| 57 |
|
| 58 |
# Create tables if they don't exist (basic migration)
|
| 59 |
with app.app_context():
|
| 60 |
+
try:
|
| 61 |
+
db.create_all()
|
| 62 |
+
print("[SysCRED-DB] Database tables initialized.")
|
| 63 |
+
except Exception as e:
|
| 64 |
+
print(f"[SysCRED-DB] Warning: create_all failed: {e}")
|