Repository: aphp/edsnlp (language: python)

Issue:
Pseudo negation pattern not catched
## Description

In the sentence "Le résultat ne permet pas d'exclure un SMD", SMD shouldn't be flagged negative 

## How to reproduce the bug

```python
import spacy

nlp = spacy.blank("eds")
nlp.add_pipe("eds.sentences")
# Dummy matcher
nlp.add_pipe(
    "eds.matcher",
    config=dict(terms=dict(smd="SMD")),
)
nlp.add_pipe("eds.negation")

text = "Le résultat ne permet pas d'exclure un SMD"

doc = nlp(text)
doc.ents[0]._.negation
```
returns True

## Your Environment

- Operating System: MacOS Ventura 13.5.2
- Python Version Used: 3.10
- spaCy Version Used: 3.5.2
- EDS-NLP Version Used: 0.10.2

## Proposed solution:
Add all combinations of "ne permet pas de" + negation verbs to pseudo patterns (I can do a PR if ok)


Discussion / hints:

Fix patch:
diff --git a/changelog.md b/changelog.md
index 208fe57c1..3ff2550eb 100644
--- a/changelog.md
+++ b/changelog.md
@@ -12,6 +12,7 @@
 - Measurements now correctly match "0.X", "0.XX", ... numbers
 - Typo in "celsius" measurement unit
 - Spaces and digits are now supported in BRAT entity labels
+- Fixed missing 'permet pas + verb' false positive negation patterns
 
 ## v0.10.2
 
diff --git a/edsnlp/pipes/qualifiers/negation/patterns.py b/edsnlp/pipes/qualifiers/negation/patterns.py
index 89cd3ea9e..35ba440d0 100644
--- a/edsnlp/pipes/qualifiers/negation/patterns.py
+++ b/edsnlp/pipes/qualifiers/negation/patterns.py
@@ -5,8 +5,26 @@
     "aucun doute",
     "aucune hésitation",
     "aucune diminution",
+    "permet pas d'",
+    "permet pas de",
+    "permet pas d'écarter",
+    "permet pas d'éliminer",
+    "permet pas d'exclure",
+    "permet pas d'infirmer",
+    "permet pas d'interdire",
+    "permet pas de nier",
+    "permet pas de réfuter",
+    "permet pas de rejeter",
     "ne permet pas d'",
     "ne permet pas de",
+    "ne permet pas d'écarter",
+    "ne permet pas d'éliminer",
+    "ne permet pas d'exclure",
+    "ne permet pas d'infirmer",
+    "ne permet pas d'interdire",
+    "ne permet pas de nier",
+    "ne permet pas de réfuter",
+    "ne permet pas de rejeter",
     "n'exclut pas",
     "non négligeable",
     "pas d'amélioration",


Test patch:
diff --git a/tests/pipelines/qualifiers/test_negation.py b/tests/pipelines/qualifiers/test_negation.py
index 7e429e8c7..dbe13d538 100644
--- a/tests/pipelines/qualifiers/test_negation.py
+++ b/tests/pipelines/qualifiers/test_negation.py
@@ -27,6 +27,8 @@
     "Le patient ne <ent negated=true>fume</ent> pas.",
     "Le patient ne <ent negated=true>fume vraiment vraiment</ent> pas.",
     "Le patient ne <ent negated=false>fume</ent> que des cigares.",
+    "Le résultat exclut un <ent negated=true>SMD</ent>",
+    "Le résultat ne permet pas d'exclure un <ent negated=false>SMD</ent>",
 ]