Skip to content

Commit 420547f

Browse files
committed
test case for translation
1 parent 1cee175 commit 420547f

File tree

3 files changed

+73
-2
lines changed

3 files changed

+73
-2
lines changed

backend/MultiLangProject/MultiLangApp/unittests.py

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
from django.contrib.auth.models import User #####
66
from django.http import JsonResponse , HttpResponse ####
77
from MultiLangApp.views import get_summary
8+
import deepl
9+
import nltk
810

911

1012
from transformers import pipeline, set_seed
@@ -152,4 +154,67 @@ def test_summerizer_random(request):
152154
#Test Case 6: Test get_summary function
153155
def test_get_summary(request):
154156
summary = get_summary(request)
155-
return summary
157+
return summary
158+
159+
#Test Case 7: Test translate function
160+
def test_translate(request):
161+
refs = [["Je suis allé au magasin et j\'ai acheté du lait."]]
162+
rest = []
163+
article = "I went to the store and bought some milk."
164+
lang = "FR"
165+
auth_key = "da19e392-2688-f41f-38d5-5389e9ad7b56:fx" # Replace with your key
166+
translator = deepl.Translator(auth_key)
167+
result = translator.translate_text(article, target_lang=lang)
168+
rest.append(result.text)
169+
score = nltk.translate.bleu_score.corpus_bleu(refs, rest)
170+
res = {
171+
'translation': result.text,
172+
'score':score,
173+
'raw': 'Successful',
174+
}
175+
print('json-data to be sent: ', res)
176+
177+
return JsonResponse(res)
178+
179+
180+
#Test Case 8: Test translate function-2
181+
def test_translate2(request):
182+
refs = [["""L'intelligence artificielle (IA) est l'intelligence - perception, synthèse et déduction d'informations - démontrée par des machines, par opposition à l'intelligence démontrée par des êtres non humains.
183+
l'information - démontrée par les machines, par opposition à l'intelligence démontrée par les animaux non humains et les humains.
184+
non humains et les humains. La reconnaissance vocale, la vision par ordinateur, la traduction entre les langues (naturelles) sont autant d'exemples de tâches dans lesquelles l'intelligence artificielle est mise en œuvre,
185+
reconnaissance vocale, la vision par ordinateur, la traduction entre les langues (naturelles), ainsi que d'autres mappages d'entrées.
186+
entrées.
187+
188+
Les applications de l'IA comprennent les moteurs de recherche avancés sur le web (par exemple, Google Search), les systèmes de recommandation (utilisés par YouTube, Amazon, etc.) et les systèmes d'aide à la décision.
189+
(utilisés par YouTube, Amazon et Netflix), la compréhension de la parole humaine (comme Siri et Alexa), les systèmes de conduite autonome.
190+
et Alexa), les voitures autopilotées (par exemple, Waymo), les outils génératifs ou créatifs (ChatGPT et AI
191+
), la prise de décision automatisée et la compétition au plus haut niveau dans les systèmes de jeux stratégiques (comme les échecs et le Go).
192+
(comme les échecs et le jeu de Go)."""]]
193+
rest = []
194+
article = """
195+
Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring
196+
information—demonstrated by machines, as opposed to intelligence displayed by non-human
197+
animals and humans. Example tasks in which this is done include speech recognition,
198+
computer vision, translation between (natural) languages, as well as other mappings of
199+
inputs.
200+
201+
AI applications include advanced web search engines (e.g., Google Search), recommendation
202+
systems (used by YouTube, Amazon, and Netflix), understanding human speech (such as Siri
203+
and Alexa), self-driving cars (e.g., Waymo), generative or creative tools (ChatGPT and AI
204+
art), automated decision-making, and competing at the highest level in strategic game systems
205+
(such as chess and Go).
206+
"""
207+
lang = "FR"
208+
auth_key = "da19e392-2688-f41f-38d5-5389e9ad7b56:fx" # Replace with your key
209+
translator = deepl.Translator(auth_key)
210+
result = translator.translate_text(article, target_lang=lang)
211+
rest.append(result.text)
212+
score = nltk.translate.bleu_score.corpus_bleu(refs, rest)
213+
res = {
214+
'translation': result.text,
215+
'score':score,
216+
'raw': 'Successful',
217+
}
218+
print('json-data to be sent: ', res)
219+
220+
return JsonResponse(res)

backend/MultiLangProject/MultiLangApp/urls.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,7 @@
1414
re_path(r'^test_summerizer_random/$', unittests.test_summerizer_random, name='test_summerizer_random'),
1515
re_path(r'^test_get_summary/$', unittests.test_get_summary, name='test_get_summary'),
1616
re_path(r'^translate/$', views.translate, name='translate'),
17+
re_path(r'^test_translate/$', unittests.test_translate, name='test_translate'),
18+
re_path(r'^test_translate2/$', unittests.test_translate2, name='test_translate2'),
19+
1720
]

backend/MultiLangProject/MultiLangApp/views.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ def translate(request):
3434
article = request.data.get('article', None)
3535
print('article:', article)
3636
lang = request.data.get('language', None)
37-
37+
else:
38+
article = request.GET.get('article', None)
39+
print('article:', article)
40+
lang = request.GET.get('language', None)
3841
auth_key = "da19e392-2688-f41f-38d5-5389e9ad7b56:fx" # Replace with your key
3942
translator = deepl.Translator(auth_key)
4043

0 commit comments

Comments
 (0)