Browse Source

start project

master
Tjiho 9 months ago
parent
commit
8db985448f
  1. 6
      .gitignore
  2. 5
      .kateproject
  3. 18
      README.md
  4. 8
      data/knowledge.rdf
  5. 12
      main.py
  6. 2
      requirements.txt
  7. 49
      src/errol.py

6
.gitignore

@ -1,3 +1,9 @@
# ---> IDE
# kate
*.swp
*.kate-swp
# ---> Python
# Byte-compiled / optimized / DLL files
__pycache__/

5
.kateproject

@ -0,0 +1,5 @@
{
"name": "Kate"
, "files": [ { "git": 1 } ]
, "index": true
}

18
README.md

@ -1,6 +1,16 @@
# Errol
Futur intelligence du projet Némo (sera inclue dans Ratatouille)
- Traitement du language avec Spacy.
- Utilisation du rdf pour sauvegarder et traiter les données.
Futur intelligence du projet Némo (sera inclue dans Ratatouille)
- Traitement du language avec Spacy.
- Utilisation du rdf pour sauvegarder et traiter les données.
## Installation
`python3 -m venv env`
`source env/bin/activate`
`pip install -r requirements.txt`
`python -m spacy download fr_dep_news_trf`

8
data/knowledge.rdf

@ -0,0 +1,8 @@
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix robot: <http://www.wikidata.org/entity/Q11012> .
@prefix virtual_assistant: <http://www.wikidata.org/entity/Q3467906> .
<local://self> a robot:,
virtual_assistant: ;
rdfs:label "Errol" .

12
main.py

@ -0,0 +1,12 @@
from src.errol import Errol
print('loading...')
errol = Errol()
sentence = ''
while sentence != 'exit':
sentence = input("oui ?")
print(errol.answer(sentence))

2
requirements.txt

@ -0,0 +1,2 @@
spacy<3.1.0
rdflib<5.1.0

49
src/errol.py

@ -0,0 +1,49 @@
import spacy
from spacy.tokens import Doc,Token
import rdflib
from rdflib import Graph, Literal, RDF, URIRef
from rdflib.namespace import FOAF , XSD
class Errol():
def __init__(self):
self.nlp = spacy.load('fr_dep_news_trf')
self.knowledge = Graph()
self.knowledge.parse('data/knowledge.rdf', format='n3')
def answer(self,sentence):
return 'ok'
def is_question(doc):
return doc[-1].text == '?'
def test():
nlp = spacy.load('fr_dep_news_trf')
doc = nlp('Je m\'apelle Tom?')
assert(is_question(doc))
doc = nlp('Comment je m\'apelle ?')
assert(is_question(doc))
doc = nlp('Quel temps fait il dehors?')
assert(is_question(doc))
doc = nlp('Quel temps pourri !')
assert(is_question(doc) == False)
doc = nlp('Qui que ce soit, pas chez moi.')
assert(is_question(doc) == False)
print("All tests passed")
if __name__ == '__main__':
test()
Loading…
Cancel
Save