Turkish topic detection using artificial intelligence
Project description
TrTopicter 🇹🇷
TrTopicter is a ready-use fasttext machine learning model to detect the topic of given Turkish text. Language detection is stacked before the model to avoid analyzing non-Turkish text that may potentially pave the way to erroneous responses. The deployed model was trained with almost 30K Turkish annotated sentences/paragraphs, and an averaged F-1 measure of 94.37 % is achieved. Execution time for a given text that has over 300 characters is lower than 1 ms and resource usage is only 6 MB.
Install
Pypi installation is available. Tested on Windows 8 / 10, Ubuntu 18.04 / 20.04 and OSX Catalina 10.15.7
$ pip install trtopicter
Supported Topics
politics - economy - health - sport - technology - culture - religion - justice
Pre-processings
- Case-folding to lower case
- Punctuation, numbers and white space removal
- Stop words removal ( credits: https://github.com/ahmetaa/zemberek-nlp/blob/master/experiment/src/main/resources/stop-words.tr.txt)
Configuration
{
"LANGUAGE_IDENTIFICATION": {
"limit": {
"character": 500
},
"probability_threshold": 0.2
},
"DOMAIN_DETECTION": {
"limit": {
"character": 500
},
"probability_threshold": 0.5
}
}
character
: Number of characters threshold for detection, data type is integer
probability_threshold
: Probablity threshold for detection, data type is float
Usage
Create an object from TrTopicter class and easily pass a string to get_topic method.
>>> from trtopicter install TrTopicter
>>> topicter = TrTopicter()
>>> print(topicter.get_topic("""
Epidemiyoloji:HIV infeksiyonu ile birlikte dünyada Tbc olgularında artış görülmüştür.
İnfeksiyon hastalıkları içerisinde morbidite ve mortalitesi en yüksek olandır.
Kişide infeksiyona yatkınlıkbulaşmada önemlidir (genetik faktörler).
Mycobacteria tuberculosis aside dirençli bir bakteri olup Ehrlich-Ziehl-Neelsen boyama yöntemi ilemavi bir
zemin üzerinde kırmızı çomaklar halinde görülür.Deri tüberkülozu:Deride M tuberculosis, M bovis ve
bazı durumlarda Bacillus Calmette-Guerin (BCG) infeksiyona neden olur. Tbc yaygın görülmekle beraber etkenler ne
çok virülandır ne de infeksiyözdür. M. tuberculosis infeksiyonunun ancak %5-10‟u hastalık yapar.
M tuberculosis dokuda latent bir şekilde kalabilir, tedaviye yanıt vermez ve reaktivasyon gösterebilir"""))
{'label': 'health', 'probability': 1.0}
>>> print(topicter.get_topic("""
Salgından etkilenen altının gram fiyatı, güne yükselişle başlamasının ardından 473,8 liradan işlem görüyor.
Aynı dakikalarda çeyrek altın 775 lira, Cumhuriyet altını da 3.163 liradan satılıyor.
Dün, altının ons fiyatı ve dolar kurundaki düşüşe paralel değer kaybeden gram altın,
günü bir önceki kapanışın yüzde 7,7 altında 468 liradan tamamladı.
SALGIN ALTININ ONS FİYATINI ETKİLİYOR
Gram altın, yeni güne değer kazancıyla başlamasının ardından saat 10.55 itibarıyla önceki kapanışın
yüzde 1,2 üzerinde 473,8 liradan işlem görüyor. Aynı dakikalarda çeyrek altın 775 lira,
Cumhuriyet altını da 3.163 liradan satılıyor.
"""))
{'label': 'economy', 'probability': 1.0}
>>> print(instance.get_topic("""
Onlar yıllardır yeşil sahalarda sergiledikleri futbolla tuttuğumuz takımları galibiyete taşıyor,
Milli takımla bizleri temsil ediyor. Ancak dediğimiz gibi yıllardı. Yıllardır Süper Lig'de
izlediğimiz futbolcuların gençlik zamanları ve şimdiki halleri arasındaki değişimleri sizi
çok şaşırtacak. A Milli Futbol Takımı'nın UEFA Uluslar B Ligi 3. Grup'ta 18 Kasım Çarşamba
günü Macaristan ile deplasmanda oynayacağı maçı Slovak hakem Ivan Kruzliak yönetecek.
Türkiye Futbol Federasyonunun internet sitesinde yer alan açıklamaya göre,
başkent Budapeşte'deki Puşkaş Arena'da TSİ 22.45'te başlayacak karşılaşmada düdük çalacak
Kruzliak'ın yardımcılıklarını Tomas Somolani ve Branislav Hancko yapacak.
Karşılaşmanın dördüncü hakemi ise Filip Glova olacak.
"""))
{'label': 'sport', 'probability': 1.0}
To-do
- Increase number of topics
- Cython support
Resources
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.