-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpython_demo.py
478 lines (437 loc) · 36.9 KB
/
python_demo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
# -*- coding: utf-8 -*-
try:
# Fix UTF8 output issues on Windows console.
# Does nothing if package is not installed
from win_unicode_console import enable
enable()
except ImportError:
pass
def utfReverse(s):
# CAVEAT: this will mess up characters that are
# more than 2 bytes long in utf 16
u = s.decode("utf-8")
return u[::-1].encode("utf-8")
######################################################################
from trace import Trace
import requests
import json
def callApi(url, data, tokenKey):
headers = {
'Content-Type': "application/json",
'Authorization': "Bearer " + tokenKey,
'Cache-Control': "no-cache"
}
response = requests.request("POST", url, data=data.encode("utf-8"), headers=headers)
result = response.text # utfReverse(response.text.encode("utf-8"))
response.close()
return result
def callApiJsonParam(url, data, tokenKey):
headers = {
'Authorization': "Bearer " + tokenKey,
'Cache-Control': "no-cache"
}
response = requests.request("POST", url, json=data, headers=headers)
result = response.text
response.close()
return result
##################### Get Token by Api Key ##########################
baseUrl = "http://api.text-mining.ir/api/"
url = baseUrl + "Token/GetToken"
querystring = {"apikey":"YOUR_API_KEY"} # replace YOUR_API_KEY
response = requests.request("GET", url, params=querystring)
data = json.loads(response.text)
tokenKey = data['token']
######################## Call Normalizer ############################
url = baseUrl + "PreProcessing/NormalizePersianWord"
payload = json.dumps({"text":"ولــے اگــر دڪــمــه مــڪــث رو لــمــس ڪــنــیــم ڪــلــا مــتــن چــنــدیــن صــفــحــه جــابــه جــا مــیــشــه و دیــگــه نــمــیــشــه فــهمــیــد ڪــدوم آیــه تــلــاوت مــی شود بــایــد چــے ڪــنــیــم؟.",
"refineSeparatedAffix":"true"}, ensure_ascii=False)
print(callApi(url, payload, tokenKey))
# or
payload = {"text":"ولــے اگــر دڪــمــه مــڪــث رو لــمــس ڪــنــیــم ڪــلــا مــتــن چــنــدیــن صــفــحــه جــابــه جــا مــیــشــه و دیــگــه نــمــیــشــه فــهمــیــد ڪــدوم آیــه تــلــاوت مــی شود بــایــد چــے ڪــنــیــم؟.",
"refineSeparatedAffix": True}
print(callApiJsonParam(url, payload, tokenKey))
# result: ولی اگر دکمه مکث رو لمس کنیم کلا متن چندین صفحه جابه جا میشه و دیگه نمیشه فهمید کدوم آیه تلاوت میشود باید چی کنیم؟.
##################### Call Sentence Splitter ########################
url = baseUrl + "PreProcessing/SentenceSplitter"
payload = {"text": "من با دوستم به مدرسه می رفتیم و در آنجا مشغول به تحصیل بودیم. سپس به دانشگاه راه یافتیم",
"checkSlang": True,
"normalize": True,
"normalizerParams": {
"text": "don't care",
"RefineQuotationPunc": False
},
"complexSentence": True
}
print(callApiJsonParam(url, payload, tokenKey))
# resuilt: ["من با دوستم به مدرسه میرفتیم","و در آنجا مشغول به تحصیل بودیم .","سپس به دانشگاه راه یافتیم"
######################## Call Tokenizer ############################
url = baseUrl + "PreProcessing/Tokenize"
payload = "من با دانشجویان دیگری برخورد کردم"
print(callApiJsonParam(url, payload, tokenKey))
# rsult: ["من","با","دانشجویان","دیگری","برخورد","کردم"]
url = baseUrl + "PreProcessing/TokenizeWithType"
payload = "اخبار 20:30 مورخ 1398/2/22 اعلام کرد شرکت T.E.T مبلغ 200.57 میلیون ارزش دارد!!! 😒 @Khabar_Alaki -- email: [email protected]"
print(callApiJsonParam(url, payload, tokenKey))
#result: [{"key":"اخبار","value":"Word"},{"key":"20:30 ","value":"DateTime"},{"key":"مورخ","value":"Word"},{"key":"1398/2/22","value":"DateTime"},{"key":"اعلام","value":"Word"},{"key":"کرد","value":"Word"},{"key":"شرکت","value":"Word"},{"key":"T.E.T","value":"Abbreviation"},{"key":"مبلغ","value":"Word"},{"key":"200.57","value":"Number"},{"key":"میلیون","value":"Word"},{"key":"ارزش","value":"Word"},{"key":"دارد","value":"Word"},{"key":"!!!","value":"Separator"},{"key":"😒","value":"Emoji"},{"key":"@Khabar_Alaki","value":"SocialId"},{"key":"--","value":"Separator"},{"key":"email","value":"Word"},{"key":":","value":"Separator"},{"key":"[email protected]","value":"Email"}]
############# Call Sentence Splitter and Tokenizer #################
url = baseUrl + "PreProcessing/SentenceSplitterAndTokenize"
payload = {"text": "من با دوستم به مدرسه می رفتیم و در آنجا مشغول به تحصیل بودیم. سپس به دانشگاه راه یافتیم",
"checkSlang": True,
"normalize": True,
"normalizerParams": {
"text": "don't care",
"replaceWildChar": True,
"replaceDigit": True,
"refineSeparatedAffix": True,
"refineQuotationPunc": False
},
"complexSentence": True
}
print(callApiJsonParam(url, payload, tokenKey))
# result: [["من","با","دوستم","به","مدرسه","میرفتیم"],["و","در","آنجا","مشغول","به","تحصیل","بودیم","."],["سپس","به","دانشگاه","راه","یافتیم"]]
########################## Call Stemmer ##########################
url = baseUrl + "Stemmer/LemmatizeText2Text"
payload = "من با دانشجویان دیگری برخورد کردم. سپس به آنها گفتم\nمن با شما کارهای زیادی دارم"
print(callApiJsonParam(url, payload, tokenKey))
''' result:
من با دانشجو دیگر بر خورد کرد. سپس به آن گفت
من با شما کار زیاد داشت
'''
url = baseUrl + "Stemmer/LemmatizePhrase2Phrase"
payload = u'{"phrases": [{ "word": "دریانوردانی" }, { "word": "فرشتگان" }], "checkSlang": false}'
print(callApi(url, payload, tokenKey))
# result: [{"wordComment":"","simplePos":"","rootWords":["دریانورد","دریا"],"verbInformation":null,"sentenceNumber":0,"wordNumberInSentence":0,"startCharIndex":0,"word":"دریانوردانی","tags":{},"firstRoot":"دریانورد","wordCount":1,"length":11,"isVerb":false,"isPunc":false},{"wordComment":"","simplePos":"","rootWords":["فرشته"],"verbInformation":null,"sentenceNumber":0,"wordNumberInSentence":0,"startCharIndex":0,"word":"فرشتگان","tags":{},"firstRoot":"فرشته","wordCount":1,"length":7,"isVerb":false,"isPunc":false}]
url = baseUrl + "Stemmer/LemmatizeText2Phrase"
payload = u'{"text": "دانشجویان زیادی به مدارس استعدادهای درخشان راه پیدا نخواهند کرد که با مشکلات بعدی مواجه شوند.", "checkSlang": false}'
result = json.loads(callApi(url, payload, tokenKey))
for phrase in result:
print(f"({phrase['Word']}:{phrase['FirstRoot']}) ")
''' result:
(دانشجویان:دانشجو)
(زیادی:زیاد)
(به:به)
(مدارس:مدرسه)
(استعدادهای:استعداد)
(درخشان:درخشان)
(راه:راه)
(پیدا:پیدا)
(نخواهند کرد:نکرد)
(که:که)
(با:با)
(مشکلات:مشکل)
(بعدی:بعد)
(مواجه:مواجه)
(شوند:شد)
(.:.)
'''
url = baseUrl + "Stemmer/LemmatizeWords2Phrase"
payload = u'["دریانوردانی", "جزایر", "فرشتگان", "تنها"]'
result = json.loads(callApi(url, payload, tokenKey))
for phrase in result:
print(f"({phrase['Word']}:{phrase['FirstRoot']}) ")
''' result:
(دریانوردانی:دریانورد)
(جزایر:جزیره)
(فرشتگان:فرشته)
(تنها:تنها)
'''
#################### Call Spell Corrector ########################
url = baseUrl + "TextRefinement/SpellCorrector"
payload = u'''{\"text\": \"فهوه با مبات میجسبد\",
\"checkSlang\": true,
\"normalize\": true,
\"candidateCount\": 2}'''
print(callApi(url, payload, tokenKey))
# result: قهوه با {نبات,ملات} {میچسبد,میجنبد}
################ Call Spell Corrector in Context ##################
url = baseUrl + "TextRefinement/SpellCorrectorInContext"
payload = u'''{\"text\": \"ستر حیوانی است که در صحرا با مقدار کم آب زندگی میکند\",
\"normalize\": true,
\"candidateCount\": 3}'''
print(callApi(url, payload, tokenKey))
# result: {شتر,سطر,سفر} {حیوانی,حیوان,یونانی} {است,دست,هست} که در {صحرا,صفرا,صدرا} با {مقدار,مدار,مقدر} کم آب {زندگی,بندگی,زدگی} {میکند,میکند,مکند}
################## Call Swear Word Detector ######################
url = baseUrl + "TextRefinement/SwearWordTagger"
payload = u'"خـــــــرررررهای دیووووونههه - صکس س.ک.س ی \r\n بیپدرومادر"'
result = json.loads(callApi(url, payload, tokenKey))
## for item in result: ...
print(result)
# result: {'خرررررهای': 'MildSwearWord', 'دیووووونههه': 'MildSwearWord', 'صکس': 'StrongSwearWord', 'س.ک.س': 'StrongSwearWord', 'ی بیپدرومادر': 'StrongSwearWord'}
################ Call Slang to Formal Converter ##################
url = baseUrl + "TextRefinement/FormalConverter"
payload = u'''اگه اون گزینه رو کلیک کنین، یه پنجره باز میشه که میتونین رمز عبورتون رو اونجا تغییر بدین
داشتم مي رفتم برم، ديدم گرفت نشست، گفتم بذار بپرسم ببينم مياد نمياد ديدم ميگه نميخوام بيام بذار برم بگيرم بخوابم نمیتونم بشینم.
کتابای خودتونه
نمیدونم چی بگم که دیگه اونجا نره
ساعت چن میتونین بیایین؟'''
print(callApiJsonParam(url, payload, tokenKey))
''' result:
اگر آن گزینه را کلیک کنید، یک پنجره باز میشود که میتوانید رمز عبورتان را آنجا تغییر بدهید
داشتم میرفتم بروم، دیدم گرفت نشست، گفتم بگذار بپرسم ببینم میآید نمیآید دیدم میگوید نمیخواهم بیایم بگذار بروم بگیرم بخوابم نمیتوانم بنشینم.
کتابهای خودتان است
نمیدانم چه بگویم که دیگر آنجا نرود
ساعت چند میتوانید بیایید؟
'''
######################## Call POS-Tagger ############################
url = baseUrl + "PosTagger/GetPos"
payload = u'احمد و علی به مدرسه پایین خیابان می رفتند'
result = json.loads(callApiJsonParam(url, payload, tokenKey))
for phrase in result:
print(f"({phrase['Word']},{phrase['Tags']['POS']['Item1']}) ")
''' result:
(احمد,N)
(و,CON)
(علی,N)
(به,P)
(مدرسه,N)
(پایین,ADJ)
(خیابان,N)
(میرفتند,V)
(.,)
'''
############################ Call NER ###############################
url = baseUrl + "NamedEntityRecognition/Detect"
payload = u'"احمد عباسی به تحصیلات خود در دانشگاه آزاد اسلامی در مشهد ادامه داد"'
result = json.loads(callApi(url, payload, tokenKey))
for phrase in result:
print(f"({phrase['Word']},{phrase['Tags']['NER']['Item1']}) ")
''' result:
{احمد,B-PER}
{عباسی,I-PER}
{به,O}
{تحصیلات,O}
{خود,O}
{در,O}
{دانشگاه,B-ORG}
{آزاد,I-ORG}
{اسلامی,I-ORG}
{در,O}
{مشهد,I-LOC}
{ادامه,O}
{داد,O}
'''
##################### Call Language Detection #######################
url = baseUrl + "LanguageDetection/Predict"
payload = u'"شام ییبسن یا یوخ. سن سیز بوغازیمنان گتمیر شام. به به نه قشه یردی. ساغ اول سیز نئجه سیز. نئجه سن؟ اوشاقلار نئجه دیر؟ سلام لاری وار سیزین کی لر نئجه دیر. یاخچی"'
print(callApi(url, payload, tokenKey))
# result: azb
################## Call Sentiment Classification ####################
url = baseUrl + "SentimentAnalyzer/SentimentClassifier2" # output: 0:Negative 1:Neutral 2:Positive
payload = u"\"اصلا خوب نبود\""
print(callApi(url, payload, tokenKey))
# result: 0
################# Call Document Similarity #####################
url = baseUrl + "TextSimilarity/DocumentSimilarity"
payload = {
"Document1": "کمک بشر دوستانه",
"Document2": "یاری انسانها",
"UseStemming": True,
"UseSynonyms": True,
"UseStatisticalSimilarity": True,
"UseSpaceCorrection": True,
"UseSpellChecker": False
}
print(callApiJsonParam(url, payload, tokenKey))
''' result:
0.78
'''
###################### Call Text Similarity #########################
url = baseUrl + "TextSimilarity/ExtractSynonyms"
payload = u"\"احسان\""
print(callApi(url, payload, tokenKey))
# result: ["احسان","نیکی کردن","نیکوکاری","بخشش","نیکی","خوبی","نیکویی","انعام","نکویی","اکرام","صنع","فضل","لطف","منت","نزل","نعمت","نیکی_کردن","احسان (نام)","احسان_(نام)"]
url = baseUrl + "TextSimilarity/GetMostSimilarWord"
payload = u'''{
"word": "روحانی",
"topN": "50"}'''
print(callApi(url, payload, tokenKey))
# result: ["دولت","آقای","احمدینژاد","رئیسجمهور","رییسجمهور","انتخابات","برجام","اصلاحات","خاتمی","طلبان","حسن","ترامپ","مچکرررریم","استغفار_نمیکنید","جناب","هاشمی","جهانگیری","مردم","ریاستجمهوری","اقتصادی","انقلاب","اختلاف_سپاه_ارتش","مجلس","سخنان","حمایت","تدبیر","سیاسی","سخنرانی","اصلاح","اصولگرایان","ظریف","اقای","انتخاباتی","مسئولین","آمریکا","شورای","جمهوری","رفسنجانی","ملت","برخروشیدهاند","دولت_غربگرا_و_سازشگر","رهبری","جامعه","گفته","مطرح","دکتر","مناظره_روحانی_با_خودش","اصلاحطلب","فرصت_بیشتری","ابقای_علی_اوسط_هاشمی"]
url = baseUrl + "TextSimilarity/GetSyntacticDistance"
payload = u'{"string1": "ایرانی ها", "string2": "ایرانیان", "distanceFunc": 2}' # JaccardDistance
print(callApi(url, payload, tokenKey))
# result: 0.333333343
url = baseUrl + "TextSimilarity/GetStatisticalDistance"
payload = u'''{
"string1": "روحانی",
"string2": "جسمانی"}'''
print(callApi(url, payload, tokenKey))
# result: 0.905992568
url = baseUrl + "TextSimilarity/SentenceSimilarityBipartiteMatching"
payload = u'''{
"string1": "حمله مغولها به ایران",
"string2": "حملات مغولان به ایران",
"distanceFunc": 2}''' # JaccardDistance
print(callApi(url, payload, tokenKey))
# result: 0.80357146263122559
url = baseUrl + "TextSimilarity/SentenceSimilarityWithIntersectionMatching"
payload = u'''{
"string1": "حمله مغولها به ایران",
"string2": "حملات مغولان به ایران",
"distanceFunc": 2,
"minDistThreshold": 0.3}''' # حداقل فاصله دو کلمه برای انطباق (یکسان فرض نمودن) آنها
print(callApi(url, payload, tokenKey))
# result: 0.75
url = baseUrl + "TextSimilarity/SentenceSimilarityWithNGramMatching"
payload = u'''{
"string1": "حمله مغولها به ایران",
"string2": "حملات مغولان به ایران",
"distanceFunc": 2,
"minDistThreshold": 0.3}''' # حداقل فاصله دو کلمه برای انطباق (یکسان فرض نمودن) آنها
print(callApi(url, payload, tokenKey))
# result: 0.714285708963871
url = baseUrl + "TextSimilarity/SentenceSimilarityWithNearDuplicateDetector"
payload = u'''{
"string1": "حمله مغولها به ایران",
"string2": "حملات مغولان به ایران"}'''
print(callApi(url, payload, tokenKey))
# result: 0.5
################ Call Information Retrieval Function(s) ##################
url = baseUrl + "InformationRetrieval/KeywordExtraction"
payload = u'''{
"text": "سرمایه گذاری هنگفت امارات در توسعه انرژی
امارات در مناطق شمالی این کشور بیش از ۷۰۰ میلیون درهم در توسعه انرژی سرمایه گذاری میکند.
محمد صالح مدیرکل اداره برق امارات در نشست خبری اعلام کرد که امارات متحده عربی از امسال تا سال ۲۰۲۲ میلادی ۸ پروژه مهم انرژی به منظور توسعه و گسترش برق مناطق شمالی امارات اجرا خواهد کرد.
وی افزود: این طرحها با هزینهای بالغ بر ۷۰۰ میلیون درهم احداث و تکمیل خواهد شد.",
"minWordLength": 3,
"maxWordCount": 3,
"minKeywordFrequency": 1,
"resultKeywordCount": 5,
"method": "TFIDF"}'''
print(callApi(url, payload, tokenKey))
''' result:
{
"امارات": 75.26119828977285,
"توسعه انرژی": 23.99621570204974,
"۷۰۰ میلیون درهم": 21.95849183879027,
"مناطق شمالی": 20.25414682800825,
"سرمایهگذاری هنگفت امارات": 17.670494399999686
}
'''
url = baseUrl + "InformationRetrieval/StopWordRemoval"
payload = u'''"تیم متن کاوی فارسییار با مجموعهای از فارغ التحصیلان دانشگاههای صنعتی شریف، تربیت مدرس و فردوسی مشهد از سال ۱۳۹۰ بصورت تخصصی در زمینه پردازش زبان طبیعی مشغول به فعالیت است. در سال ۱۳۹۶ در جهت فعالیت پژوهشی عمیقتر در زمینه پردازش متون برای زبان فارسی، این گروه با آزمایشگاه متن کاوی و یادگیری ماشین پژوهشگاه علوم و فناوری اطلاعات ایران (ایرانداک) همکاری تنگاتنگی داشته است."'''
print(callApi(url, payload, tokenKey))
# result: تیم متن کاوی فارسییار مجموعهای فارغ التحصیلان دانشگاههای صنعتی شریف، تربیت مدرس فردوسی مشهد سال ۱۳۹۰ تخصصی پردازش زبان طبیعی مشغول فعالیت. سال ۱۳۹۶ فعالیت پژوهشی عمیقتر پردازش متون زبان فارسی، گروه آزمایشگاه متن کاوی یادگیری ماشین پژوهشگاه علوم فناوری اطلاعات ایران (ایرانداک) همکاری تنگاتنگی.
######################## Text Summarization ############################
url = baseUrl + "InformationRetrieval/Summarize"
payload = json.dumps({"Method":"SFW", "summaryWordCount":150, "text":'''
باشگاه خبرنگاران/ رئیسجمهور آمریکا به ادعاها درباره دیدار سناتور آمریکایی با وزیر خارجه ایران در حاشیه نشست مونیخ واکنش نشان داد و آن را نقض قانون «لوگان» خواند.
به گزارش رویترز، دونالد ترامپ، رئیس جمهور آمریکا،در واکنش به انتشار خبری درباره دیدار سناتور کریس مورفی با محمد جواد ظریف وزیر امور خارجه ایران - در حاشیه کنفرانس امنیتی مونیخ - گفت: خبری خواندم که نوشته بود سناتور مورفی با ایرانیها دیدار کرد. آیا چنین چیزی حقیقت دارد؟ من این خبر را وقتی که داشتم به اینجا میآمدم، دیدم. آیا چیزی هست که من باید بدانم؟ چون به نظر میرسد که این اقدام (دیدار سناتور کریس مورفی با محمد جواد ظریف) نقض قانون لوگان است.
رئیس جمهور آمریکا افزود: چه اتفاقی افتاد؟ آیا شما (خبرنگاران) خبری درباره دیدار سناتور مورفی با ایرانیها خواندید یا شنیدید؟ من که نمیدانم، همین الان که داشتم از خودرو بیرون میآمدم این خبر را خواندم.
قانون لوگان قانونی فدرال در آمریکا است که بر اساس آن هرگونه مذاکره بدون مجوز مقامات آمریکایی با شهروندان دولتهایی -که درگیر مناقشه با آمریکا هستند- جرم محسوب میشود.
این اظهارات در پی آن مطرح میشود که کریس مورفی، سناتور آمریکایی که در نشست مونیخ نیز حضور داشت، مدعی گفتوگو با محمدجواد ظریف، وزیر خارجه ایران، در هتل محل اقامت او شد. مورفی تاکید کرد هر چند اختیار اقدامات دیپلماتیک را از سوی دولت آمریکا نداشت، گفتوگو با مقام ایرانی را به سود کشورش و امنیت ملی آن میداند.
ترامپ درباره موضوع اختلافات در واشنگتن و متهم شدن وزارت دادگستری آمریکا به مداخله در پرونده راجر استون، مشاور و دوست سابق خود، هم گفت: من به دادستان خود اطمینان کامل دارم؛ میدانید که از همان ابتدا دمکراتها شروع به جنجالآفرینی کردند. آنها در ابتدای کار موضوع روسیه را پیش کشیدند، بعد جنجالها بر سر تحقیقات مولر بود و بعد از آن هم مدام درباره روسیه یاوهسرایی کردند. من راجر استون را نمیشناسم و وی نیز هیچ نقشی در ستاد انتخاباتی ما نداشت. باور دارم که اتفاقات بسیار سختی برای راجر استون روی داده است.
او افزود: تیم من در شبکههای اجتماعی بسیار قوی عمل میکند و دست کم من هم صدایی در این میان دارم و میتوانم با اخبار جعلی که در آن منتشر میشود، مقابله کنم. اینکه گفته شده است دادستان کل (ویلیام بار) میگوید من کار وی را دشوار کردهام شاید درست باشد، ولی افراد زیادی هم هستند که نمیخواهند اتفاقات خوب روی بدهد و این اعتقاد من است نه اعتقاد وی و باید دیدگاهش را از خودش سوال کنید. شبکههای اجتماعی برای من بسیار اهمیت دارد و میخواهم در این فضا صدایی داشته باشم، زیرا در رسانهها صدایی نداشتهام. درباره راجر استون نیز نظر خاصی ندارم، ولی باور دارم که رفتاری که با او شده است بسیار دور از انصاف بود.
رئیسجمهور آمریکا در پاسخ به سوال خبرنگاری درباره افغانستان هم مدعی شد: ما نوزده سال است که درگیر جنگ در این کشور هستیم؛ نیروهای خود را به شکلی چشمگیر در این کشور کاهش دادهایم و در حال حاضر بیشتر به جای نیروی نظامی، در نقش ضابط قانون عمل میکنیم. کشتن چند میلیون نفر بسیار کار سادهای است، ولی من نمیخواهم این کار را بکنم، میتوانیم به سادگی آب خوردن این کار را بکنیم، صحبت من از بمبهای هستهای نیست، من از تسلیحات کاملا متعارف صحبت میکنم، من نمیخواهم چند میلیون نفر را بکشیم، من مایل به مذاکره با طالبان هستم، مدتی است این مذاکره دنبال میشود و آنها این فرصت را دارند که به توافق برسند. این برایشان فرصت است.
'''}, ensure_ascii=False)
print(callApi(url, payload, tokenKey))
# result:
# به گزارش رویترز، دونالد ترامپ، رئیسجمهور آمریکا، در واکنش به انتشار خبری درباره دیدار سناتور کریس مورفی با محمدجواد ظریف وزیر امور خارجه ایران- در حاشیه کنفرانس امنیتی مونیخ- گفت: خبری خواندم که نوشته بود سناتور مورفی با ایرانیها دیدار کرد.
# کشتن چند میلیون نفر بسیار کار سادهای است، ولی من نمیخواهم این کار را بکنم، میتوانیم به سادگی آب خوردن این کار را بکنیم، صحبت من از بمبهای هستهای نیست، من از تسلیحات کاملا متعارف صحبت میکنم، من نمیخواهم چند میلیون نفر را بکشیم، من مایل به مذاکره با طالبان هستم، مدتی است این مذاکره دنبال میشود و آنها این فرصت را دارند که به توافق برسند.
######################## Topic Modeling ############################
url = baseUrl + "InformationRetrieval/TopicModeling"
payload = json.dumps({"Method":"LDA", "TopicsCount":3, "wordsPerTopicCount": 10, "documents":'''
باز هم بیچاره مردم کی باید تو زحمت مضاعف بیافتند
سیستمعامل تمام نسخه سرفیس پرو، نسخه پرو ویندوز است، پس هر برنامهای روی این تبلت قابل نصب است.
من ساندویچ را دوست نداشتم. به نظرم کیفیت گوشت خوب نبود ولی سیب را دوست داشتم
حجم مزه و نحوه ارسال خیلی خوب بود امتیاز کامل دادم. سس روی نان کمی به شیرینی میزد که سلیقهای هست من خیلی دوست ندارم بااینوجود درمجموع خیلی خوب بود
من این مدل را میخواهم به هیچ جا غیر از شما هم اعتماد ندارم حاضرم پولش پیش بدهم
رنگ سفید گرفتم اما ظاهرا s45 هست که 14 تومان ارزانتر است. شبیه عکس این محصول نیست.
عالی. عالی. عالی. عالی. عالی
این پاور بانک را حدود 1 ماه خریدم و خیلی راضیم. یکی از دلایلی که این پاور را خریدم این بود که< برند انرجایزر> تولید کنندهی سل باتری تو دنیا میباشد.
در جایی که قانون بیکفایتی میکند خدا و مردم جواب این گرگها را خوب میدهند. دنیادار مکافات هست.
منانم از لطفت مهربان
رستوران خیلی خوبی است
بسیار عالی و خوشطعم و خوب فقط یک مقدار کمبود ولی خیلی خوشطعم بود مخصوصا سسهاش عالی بود ممنونم
افت شدید. کیفیت. نسبت به قبل داشت.
سلام… یک پیتزای حرفهای خوشمزه بود
پیشنهاد ویژه لطفا همین الان آن را بخرم
ارتش سرخ
خیلی خوشمزه و عالی… فقط دیر رسید به دستم و سرد شده بود غذام
قیمت کلاسهای گیتار برای مبتدی چند هست؟ میتوانید چند جا معرفی کنید؟ با تشکر از دیجی کالا
با سلام و تبریک سال نو من این گوشی را سفارش دادم از سایت شما اما موقع تحویل گوشی جعبه گوشی له و خرابشده بود از شرکت معتبری مثل شما بعید هست،. گوشی خیلی خوبی من از او راضیم. با تشکر
سلام. دیجیکالای عزیز، لطفا هرچهسریعتر نقد و بررسی کاملی درباره این گوشی در سایت قرار دهید.
واقعا زیبا است
اوف بر تو ای گمرک آقازاده نواز و صنعت خودروسازی که بلای جان مردم بیگناه شدهای… . الحق که خوب به مردم مظلوم ایران خدمت ناصادقانه میکنید
اوف من چه فکر میکردمو چه شد. میگفتم از دو میلیون آنطرف دیگر نمیپرد نزدیک سه میلیون شد عجب
باسرعت غذا را آوردند. غذاها خوشمزه بودند
هتلی آرامشبخش با نمای ساحلی مناسب. هتل آلاله 2 درگهان از لحاظ موقعیت بسیار مناسب دارای نمای ساحلی آرام و بسیار نزدیک بازار درگهان بوده اما تنها نقاط ضعف هتل نداشتن تنوع در منوی صبحانه، نداشتن آسانسور، عدم نظافت سروقت راهروها، قطعی وای فای اینترنت اتاق و سرویس بهداشتیهای ضعیف داخل اتاق بود.
من حدود 6 ماهه گوشی را دارم خیلی گوشی خوب هست از هر لحاظ بگویی عالی هست
خیلی زود آب را جوش میآورد. قوری یک لیتر گنجایش دارد. سیستم گرم نگهدارنده دارد. متاسفانه کتری پلاستیکی هست ولی با این قیمت قابل قبول هست. من درون پیشنهاد ویژه خریدم قیمتش به نسبت کیفی خیلی عالی هست. مرسی
کیفیت و مقدار همبرگر عالی بود؛ فقط سیبزمینی زیاد جالب نبود؛ باز هم ممنون اسنپ فود
فقط کمی برشتهتر شود با سس زیاد بگذارید
سختافزاری بسیار پایین دارد بازگوید مموری باحجم بالا روش باشد امکان هنگش زیاده ولی اندازه بزرگی دارد
نمیدانم چه موادی درش بکاررفته. . ولی برای من حساسیت داشت و باعث ایجاد لکههای قرمز روی پوست شد. . بوی تندی دارد و فکر میکنم موادی که برای ایجاد این بوی تند بکاررفته باعث همین حساسیت شده باشد.
کیهان و جوان و… تا دیروز از اسم امریکا و دانشگاههاش حالش به هم میخورد حالا نظرسنجیش را میآید بررسی عمیق میکند… کی به کی میگوید نان به نرخ روز خور??
سلام. آیا این دستگاه دارای کنترل از راه دور هست؟
کیفیت برنج خیلی خوب بود. متاسفانه خورش قیمه بیشتر مزهی آبگوشت میداد. گوشتها بسیار سفت بود. مقدار خورش هم کمبود. البته چون روغن خورش خیلی کمبود، احتمالا برای افرادی که باید غذای کمروغن بخورند گزینهای مناسبی باشد.
سلام من این گوشی را حدود یک ماه میشود خریدم اولش خوب بود ولی الان همهاش هنگ میکند
دوستان این موس بلوتوث هست و دانگل ندارد با پرت USB شما هم کاری ندارد
این کاربر پرسپولیسی حالش خوب نیست… . اینقدر شعور طرفداران آفتابه قرمز کم شده که میان اینجا و بجای همدردی حرف بیربط میزنند. . نوروزی فحش خورد یانخورد به قائدی چه ربطی دارد؟؟؟
همانطور که بقیه دوستان هم گفتن، شیرینی کمی بهم ریخته بود و جعبهاش کمی پاره و کهنه. نمیدانم مسیر کوتاه چه بلایی سرش آمده بود
کیفیت غذا بسیار پایین و بد
بازی عالی من همین دیروز گرفتمش حتما آن را بگیرید
'''.splitlines()}, ensure_ascii=False)
result = json.loads(callApi(url, payload, tokenKey))
cnt = 1
for list in result:
print("---- Topic {} ----".format(cnt))
cnt+=1
for k, v in list.items():
print(k+" ")
''' result:
---- Topic 1 ----
عالی
گوشی
کیفیت
خریدم
حدود
مقدار
کمبود
خوشمزه
خورش
پاور
---- Topic 2 ----
مردم
اوف
میلیون
نزدیک
نمای
ساحلی
مناسب
هتل
درگهان
نداشتن
---- Topic 3 ----
کمی
دوست
نسخه
پرو
سس
شیرینی
ندارم
نمیدانم
موادی
بکاررفته
'''
######################## Call Virastar ############################
url = baseUrl + "Virastar/ScanText"
payload = {"text": "حتما آن ها مومن را احترام مے ڪنند. یگ بپنجره ی بزگ وسبز باز میشود . !حضور تان را کرامی می داشتم",
"returnOnlyChangedTokens": False}
result = json.loads(callApiJsonParam(url, payload, tokenKey))
output = ''
for token in result:
output += token['OriginalText']
if (token['IsChanged']):
output += '{' + ' - '.join([f"{edit['SuggestedText']}({edit['Description']})" for edit in token['EditList']]) + '}'
print(output)
''' result:
حتما{حتماً(اصلاح تنوین)} آن ها{آنها(اصلاح پسوند)} مومن{مؤمن(اصلاح حروف دارای همزه)} را احترام مے ڪنند{میکنند(اصلاح پیشوند، اصلاحات نویسهها)}. یگ{یک(اصلاح اشتباه تایپی/املائی رایج)} بپنجره ی{بپنجرهی(اصلاح پسوند) - به پنجرهی(جداسازی واژههای بهم چسبیده)} بزگ{بزرگ(اصلاح اشتباه تایپی/املائی رایج)} وسبز{و سبز(جداسازی واژههای بهم چسبیده)} باز میشود{میشود(اصلاح پیشوند)} . !{.! (اصلاح فاصلهگذاری مطابق دستور زبان)}حضور تان{حضورتان(پیشنهاد پیوستهنویسی واژههای چندبخشی)} را کرامی{کرمی(این واژه از نظر لغوی مشابه «کرمی» است. (با میزان فاصلۀ: 1)) - رامی(این واژه از نظر لغوی مشابه «رامی» است. (با میزان فاصلۀ: 0.98)) - گرامی(این واژه از نظر لغوی مشابه «گرامی» است. (با میزان فاصلۀ: 0.75))} می داشتم{میداشتم(اصلاح پیشوند)}
'''
################# Call Punctuation Restoration #####################
url = baseUrl + "Virastar/PunctuationRestoration"
payload = {"text": u'''درادامه این مطلب آمده است دولت بایدن که در پشت سرفصلهای اخبار اوکراین پنهان شده بود حالا یک گام نگرانکننده به جنگ با ایران نزدیکتر شد به گزارش کانال ۱۳ اسرائیل، ایالات متحده با شرکت در رزمایش بزرگ اسرائیل برای شبیه سازی حمله به تاسیسات هستهای ایران در اواخر این ماه موافقت کرده است تایمز اسرائیل خاطرنشان کرد که این گزارش بدون منبع است اما به گفته اکسیوس مقامات اسرائیلی تأیید کردند که ایالات متحده مشارکت خواهد کرد و پنتاگون به درخواست اکسیوس برای اظهار نظر بلافاصله پاسخ نداد'''}
print(callApiJsonParam(url, payload, tokenKey))
''' result:
درادامه این مطلب آمده است: دولت بایدن که در پشت سرفصلهای اخبار اوکراین پنهان شده بود. حالا یک گام نگرانکننده به جنگ با ایران نزدیکتر شد. به گزارش کانال ۱۳ اسرائیل، ایالاتمتحده با شرکت در رزمایش بزرگ اسرائیل برای شبیهسازی حمله به تاسیسات هستهای ایران در اواخر این ماه موافقت کرده است. تایمز اسرائیل خاطرنشان کرد که این گزارش بدون منبع است، اما به گفته اکسیوس مقامات اسرائیلی تایید کردند که ایالاتمتحده مشارکت خواهد کرد و پنتاگون به درخواست اکسیوس برای اظهارنظر بلافاصله پاسخ نداد.
'''
print("Finished 🙏")