|
@@ -5,6 +5,7 @@ from difflib import SequenceMatcher
|
|
|
from review.models import Review
|
|
|
|
|
|
nlu_server_url = settings.NLU_SERVER_URI
|
|
|
+ner_model = settings.MODEL
|
|
|
|
|
|
|
|
|
def filter_with_last_ten_reviews(location_id, replies):
|
|
@@ -39,13 +40,8 @@ def is_a_name(name):
|
|
|
:param : name -> a string usually reviewer name
|
|
|
:return: Boolean -> true or false
|
|
|
'''
|
|
|
-
|
|
|
- response = model_inference(name.title())
|
|
|
- entities = response.get('entities')
|
|
|
- if not entities:
|
|
|
- return False
|
|
|
- entity = entities[0]
|
|
|
- if entity.get('entity') == 'PERSON':
|
|
|
+ doc = ner_model(name)
|
|
|
+ if doc.ents and doc.ents[0].label_ == 'PERSON':
|
|
|
return True
|
|
|
else:
|
|
|
return False
|
|
@@ -70,3 +66,9 @@ def analyze_inference(response):
|
|
|
intents[key] = int(values*100)
|
|
|
|
|
|
return intents
|
|
|
+
|
|
|
+
|
|
|
+def name_entity_recognition(text):
|
|
|
+ doc = ner_model(text)
|
|
|
+ names = [n for n in doc.ents if n.label_ == 'PERSON']
|
|
|
+ return names
|