OnurDemircioglu commited on
Commit
3c4d97b
·
verified ·
1 Parent(s): 80f411f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -51
app.py CHANGED
@@ -1,52 +1,52 @@
1
- import gradio as gr
2
- from transformers import pipeline
3
-
4
- # Modeli direkt yükle (cache otomatik iner)
5
- # NOT: Bu model İngilizce metinler için eğitilmiştir. Eğer Türkçe metinlerle çalışmak istiyorsanız,
6
- # 'turkish-ner' gibi Türkçe için finetune edilmiş bir model kullanmanız gerekmektedir.
7
- ner_pipeline = pipeline(
8
- "ner",
9
- model="dbmdz/bert-large-cased-finetuned-conll03-english",
10
- aggregation_strategy="simple"
11
- )
12
-
13
- def ner_texte_cevir(text):
14
- results = ner_pipeline(text)
15
-
16
- # gr.HighlightedText için çıktı formatını düzenle
17
- output_segments = []
18
- last_idx = 0
19
-
20
- # Metni ve algılanan varlıkları birleştirerek HighlightedText için uygun formatı oluştur
21
- for entity in results:
22
- # Varlık öncesindeki metin (etiketsiz)
23
- if entity['start'] > last_idx:
24
- output_segments.append((text[last_idx:entity['start']], None))
25
-
26
- # Algılanan varlık ve etiketi
27
- output_segments.append((text[entity['start']:entity['end']], entity['entity_group']))
28
- last_idx = entity['end']
29
-
30
- # Son varlıktan sonra kalan metin (etiketsiz)
31
- if last_idx < len(text):
32
- output_segments.append((text[last_idx:], None))
33
-
34
- # Eğer hiçbir varlık bulunamazsa, tüm metni etiketsiz olarak döndür
35
- if not output_segments and text:
36
- output_segments.append((text, None))
37
-
38
- return output_segments
39
-
40
- iface = gr.Interface(
41
- fn=ner_texte_cevir,
42
- inputs=gr.Textbox(lines=5, placeholder="Metni buraya yapıştır..."),
43
- outputs=gr.HighlightedText(),
44
- title="Türkçe NER Uygulaması", # Başlıkta Türkçe dese de model İngilizce unutma :)
45
- description="İsim, kurum, yer tespit eder.",
46
- examples=[
47
- ["Ahmet Yılmaz dün İstanbul Üniversitesi'nde konferans verdi."],
48
- ["Apple şirketi yeni iPhone'u tanıttı."]
49
- ]
50
- )
51
-
52
  iface.launch(share=True)
 
1
+ import gradio as gr
2
+ from transformers import pipeline
3
+
4
+ # Modeli direkt yükle (cache otomatik iner)
5
+ # NOT: Bu model İngilizce metinler için eğitilmiştir. Eğer Türkçe metinlerle çalışmak istiyorsanız,
6
+ # 'turkish-ner' gibi Türkçe için finetune edilmiş bir model kullanmanız gerekmektedir.
7
+ ner_pipeline = pipeline(
8
+ "ner",
9
+ model="akdeniz27/bert-base-turkish-cased-ner",
10
+ aggregation_strategy="simple"
11
+ )
12
+
13
+ def ner_texte_cevir(text):
14
+ results = ner_pipeline(text)
15
+
16
+ # gr.HighlightedText için çıktı formatını düzenle
17
+ output_segments = []
18
+ last_idx = 0
19
+
20
+ # Metni ve algılanan varlıkları birleştirerek HighlightedText için uygun formatı oluştur
21
+ for entity in results:
22
+ # Varlık öncesindeki metin (etiketsiz)
23
+ if entity['start'] > last_idx:
24
+ output_segments.append((text[last_idx:entity['start']], None))
25
+
26
+ # Algılanan varlık ve etiketi
27
+ output_segments.append((text[entity['start']:entity['end']], entity['entity_group']))
28
+ last_idx = entity['end']
29
+
30
+ # Son varlıktan sonra kalan metin (etiketsiz)
31
+ if last_idx < len(text):
32
+ output_segments.append((text[last_idx:], None))
33
+
34
+ # Eğer hiçbir varlık bulunamazsa, tüm metni etiketsiz olarak döndür
35
+ if not output_segments and text:
36
+ output_segments.append((text, None))
37
+
38
+ return output_segments
39
+
40
+ iface = gr.Interface(
41
+ fn=ner_texte_cevir,
42
+ inputs=gr.Textbox(lines=5, placeholder="Metni buraya yapıştır..."),
43
+ outputs=gr.HighlightedText(),
44
+ title="Türkçe NER Uygulaması", # Başlıkta Türkçe dese de model İngilizce unutma :)
45
+ description="İsim, kurum, yer tespit eder.",
46
+ examples=[
47
+ ["Ahmet Yılmaz dün İstanbul Üniversitesi'nde konferans verdi."],
48
+ ["Apple şirketi yeni iPhone'u tanıttı."]
49
+ ]
50
+ )
51
+
52
  iface.launch(share=True)