| |
| """HuggingFace.ipynb |
| |
| Automatically generated by Colab. |
| |
| Original file is located at |
| https://colab.research.google.com/drive/1lQNX9HtuVjqlduj-CZr0Rwy00-IFaLw- |
| """ |
|
|
| !pip install git+https://github.com/huggingface/transformers.git |
|
|
| !pip install transformers torch |
|
|
| from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline |
|
|
| model = AutoModelForSequenceClassification.from_pretrained("savasy/bert-base-turkish-sentiment-cased") |
| tokenizer = AutoTokenizer.from_pretrained("savasy/bert-base-turkish-sentiment-cased") |
| sa= pipeline("sentiment-analysis", tokenizer=tokenizer, model=model) |
|
|
| p = sa("bu telefon modelleri çok kaliteli , her parçası çok özel bence") |
| print(p) |
| |
| print(p[0]['label'] == 'LABEL_1') |
| |
|
|
| p = sa("Film çok kötü ve çok sahteydi") |
| print(p) |
| |
| print(p[0]['label'] == 'LABEL_1') |
| |
|
|
| from transformers import pipeline, AutoModelForTokenClassification, AutoTokenizer |
| model = AutoModelForTokenClassification.from_pretrained("savasy/bert-base-turkish-ner-cased") |
| tokenizer = AutoTokenizer.from_pretrained("savasy/bert-base-turkish-ner-cased") |
| ner=pipeline('ner', model=model, tokenizer=tokenizer) |
| ner("Türkiye Cumhuriyeti 1923 yılında Atatatürk tarafından kuruldu.") |
|
|
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
|
| tokenizer = AutoTokenizer.from_pretrained("ozcangundes/mt5-small-turkish-summarization") |
|
|
| model = AutoModelForSeq2SeqLM.from_pretrained("ozcangundes/mt5-small-turkish-summarization") |
|
|
| def generate_summary(main_news): |
| source_encoding=tokenizer( |
| main_news, |
| max_length=784, |
| padding="max_length", |
| truncation=True, |
| return_attention_mask=True, |
| add_special_tokens=True, |
| return_tensors="pt") |
|
|
| generated_ids=model.generate( |
| input_ids=source_encoding["input_ids"], |
| attention_mask=source_encoding["attention_mask"], |
| num_beams=2, |
| max_length=120, |
| repetition_penalty=2.5, |
| length_penalty=2.0, |
| early_stopping=True, |
| use_cache=True |
| ) |
|
|
| preds=[tokenizer.decode(gen_id, skip_special_tokens=True, clean_up_tokenization_spaces=True) |
| for gen_id in generated_ids] |
|
|
| return "".join(preds) |
|
|
| main_news=" Si Ronda, zamanında etnik Çinliler ile yerli izleyiciler arasında popüler olan bir lenong'dan uyarlandı. Ronda hikâyeleri, silat alanında yetenekli olan ve zenginden alıp fakirlere vermesiyle tanınan aynı adlı Batavi haydutun maceralarını ele almaktadır.[1] Endonezyalı sinema bilimcisi Misbach Yusa Biran, Ronda'nın potansiyel aksiyon sahnelerinden ötürü uyarlama için seçildiğini öne sürdü. Yerli sinemada bu tür sahneler genellikle Amerikan filmlerinden esinlenir ve izleyiciler tarafından olumlu karşılanırdı.[2] Si Jampang ile Si Pitung dahil olmak üzere[3] Si Ronda'nınkine benzer hikâyeler, yasal olmayan bir şekilde yaşamakla birlikte genellikle genel halk için savaşan olağanüstü erkekler (jago olarak adlandırılmakta) üzerine yoğunlaşmaktadır.[4] 1929'da Batavia Motion Picture tarafından Si Tjonat'ın piyasaya sürülmesinin ardından haydut filmleri olarak ortaya çıkan bu türün uyarlanması yerli sinemada popüler oldu. Bu filmi 1929'da yine Wong kardeşlerin Rampok Preanger ve 1931'de Si Pitung hikâyelerinin bir uyarlaması izledi.[5] 1929-1931 yılları arasındaki yerli filmlerin dörtte birinden oluşan bu türe ait tüm filmler, merkezdeki karakterin kahramanca niteliklerini korudu. Örneğin, Wong kardeşlerin Si Pitung uyarlamasında basit bir haydut olarak değil de Robin Hood tarzında bir figür olarak tasvir edildi.[6] Si Ronda, Lie Tek Swie tarafından yönetildi ve yapımı Tan's Film'den Tan Khoen Yauw tarafından gerçekleştirildi.[7] İkili daha önce 1929'da şirketin Njai Dasima filminde birlikte çalışmıştı.[8] A. Loepias, filmin görüntü yönetimini üstlendi. Siyah-beyaz çekilen[9] bu sessiz filmde Bahtiyar Efendi başrolü oynadı.[10] Njai Dasima filminde rol alan Momo da filmde yer aldı.[11] " |
| generate_summary(main_news) |
|
|
| from transformers import AutoTokenizer, GPT2LMHeadModel |
| from transformers import pipeline |
|
|
| model = GPT2LMHeadModel.from_pretrained("ytu-ce-cosmos/turkish-gpt2-large") |
| tokenizer = AutoTokenizer.from_pretrained("ytu-ce-cosmos/turkish-gpt2-large") |
|
|
| text_generator = pipeline('text-generation', model=model, tokenizer=tokenizer) |
|
|
| r = text_generator("Teknolojinin gelişimi hayatımızı önemli ölçüde etkiledi. ", max_length=100) |
| r |
|
|
| from transformers import AutoTokenizer, GPT2LMHeadModel, pipeline |
|
|
| |
| model_name = "ytu-ce-cosmos/turkish-gpt2-large" |
| model = GPT2LMHeadModel.from_pretrained(model_name) |
| tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
|
| |
| text_generator = pipeline('text-generation', model=model, tokenizer=tokenizer) |
|
|
| |
| input_text = "Yapay zeka teknolojisi gelişmeye devam ediyor." |
| result = text_generator(input_text, max_length=100, num_return_sequences=1) |
|
|
| print(result) |
|
|
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
|
| tokenizer = AutoTokenizer.from_pretrained("ozcangundes/mt5-small-turkish-squad") |
|
|
| model = AutoModelForSeq2SeqLM.from_pretrained("ozcangundes/mt5-small-turkish-squad") |
|
|
| def get_answer(question,context): |
| source_encoding=tokenizer( |
| question, |
| context, |
| max_length=512, |
| padding="max_length", |
| truncation="only_second", |
| return_attention_mask=True, |
| add_special_tokens=True, |
| return_tensors="pt") |
|
|
| generated_ids=model.generate( |
| input_ids=source_encoding["input_ids"], |
| attention_mask=source_encoding["attention_mask"], |
| max_length=120) |
|
|
| preds=[tokenizer.decode(gen_id, skip_special_tokens=True, clean_up_tokenization_spaces=True) for gen_id in generated_ids] |
|
|
| return "".join(preds) |
|
|
| question={ |
| "context":"Pardus, Google'ın öğrencilerle staj ve kendini geliştirme imkânı ile \ |
| tasarılara geliştirici ve katkı sağlamayı amaçladığı açık kaynak tasarısı \ |
| Google Summer of Code'a 2008 ve 2009 olmak üzere iki kere katılmıştır. Bu organizasyona \ |
| ilk katılan Türk tasarısı Pardus olmuştur. Bazı dönemlerde Pardus hakkındaki gelişmeleri \ |
| halka duyurmak ve tasarıya olan ilgiyi arttırmak amacıyla CeBIT Eurasia Bilişim Fuarı'na \ |
| katılım sağlanmaktadır. 2006, 2008, 2009, 2010, 2011,2013 ve 2014 bu fuarlarda Pardus \ |
| standı kurulmuştur.2014 yılında ICT SummitT Now Bilişim Zirvesi'nde yer alınmıştır. \ |
| BİLİŞİM’2014 TBD 31. Ulusal Bilişim Kurultayı ve CITEX’2014 Ankara Bilişim Fuarı’na \ |
| Gümüş sponsorluk ile katkıda bulunulmuş ve Pardus standı kurulmuştur.", |
| "question":"Pardus’un Google Summer of Code'a katıldığı yıllar nelerdir?" |
| } |
|
|
| get_answer(question["question"],question["context"]) |
|
|
| from transformers import pipeline |
|
|
| |
| qa_pipeline = pipeline("question-answering", model="Marzu39/bert-base-turkish-128k-qa") |
|
|
| |
| context = "Pardus, Google'ın öğrencilerle staj ve kendini geliştirme imkânı ile \ |
| tasarılara geliştirici ve katkı sağlamayı amaçladığı açık kaynak tasarısı \ |
| Google Summer of Code'a 2008 ve 2009 olmak üzere iki kere katılmıştır. Bu organizasyona \ |
| ilk katılan Türk tasarısı Pardus olmuştur. Bazı dönemlerde Pardus hakkındaki gelişmeleri \ |
| halka duyurmak ve tasarıya olan ilgiyi arttırmak amacıyla CeBIT Eurasia Bilişim Fuarı'na \ |
| katılım sağlanmaktadır. 2006, 2008, 2009, 2010, 2011,2013 ve 2014 bu fuarlarda Pardus \ |
| standı kurulmuştur.2014 yılında ICT SummitT Now Bilişim Zirvesi'nde yer alınmıştır. \ |
| BİLİŞİM’2014 TBD 31. Ulusal Bilişim Kurultayı ve CITEX’2014 Ankara Bilişim Fuarı’na \ |
| Gümüş sponsorluk ile katkıda bulunulmuş ve Pardus standı kurulmuştur." |
| question = "Pardus’un Google Summer of Code'a katıldığı yıllar nelerdir?" |
|
|
| |
| result = qa_pipeline(question=question, context=context) |
|
|
| |
| print(f"Answer: {result['answer']}") |
|
|
| from transformers import AutoTokenizer, AutoModelForSequenceClassification |
| import torch |
|
|
| |
| model_name = "Marzu39/bert-turkish-text-classification" |
| tokenizer = AutoTokenizer.from_pretrained(model_name) |
| model = AutoModelForSequenceClassification.from_pretrained(model_name) |
|
|
| def classify_text(text): |
| |
| inputs = tokenizer(text, return_tensors="pt") |
| outputs = model(**inputs) |
|
|
| |
| predicted_class = torch.argmax(outputs.logits, dim=1).item() |
| return predicted_class |
|
|
| |
| text = "idare eder diyebilirim" |
| predicted_class = classify_text(text) |
| print(f"Predicted Class ID: {predicted_class}") |
|
|
| print(model.config.id2label[predicted_class]) |
|
|
| from transformers import AutoTokenizer, AutoModelForSequenceClassification |
|
|
| tokenizer = AutoTokenizer.from_pretrained("Marzu39/bert-turkish-text-classification") |
| model = AutoModelForSequenceClassification.from_pretrained("Marzu39/bert-turkish-text-classification") |
|
|
| |
| from transformers import pipeline |
|
|
| pipe = pipeline("text-classification", model="Marzu39/bert-turkish-text-classification") |
|
|
| pipe("ben bu ürünü çok beğendim ") |
|
|
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
|
| tokenizer = AutoTokenizer.from_pretrained("ozcangundes/mt5-small-turkish-summarization") |
|
|
| model = AutoModelForSeq2SeqLM.from_pretrained("ozcangundes/mt5-small-turkish-summarization") |
|
|
| def generate_summary(main_news): |
| source_encoding=tokenizer( |
| main_news, |
| max_length=784, |
| padding="max_length", |
| truncation=True, |
| return_attention_mask=True, |
| add_special_tokens=True, |
| return_tensors="pt") |
|
|
| generated_ids=model.generate( |
| input_ids=source_encoding["input_ids"], |
| attention_mask=source_encoding["attention_mask"], |
| num_beams=2, |
| max_length=120, |
| repetition_penalty=2.5, |
| length_penalty=2.0, |
| early_stopping=True, |
| use_cache=True |
| ) |
|
|
| preds=[tokenizer.decode(gen_id, skip_special_tokens=True, clean_up_tokenization_spaces=True) |
| for gen_id in generated_ids] |
|
|
| return "".join(preds) |
|
|
| main_news= "Final etabının üçüncü karşılaşması 29 Nisan Pazartesi günü saat 18.00 ’ de Burhan Felek\ |
| Voleybol Salonu ’ nda oynanacak . Sezonu FIVB Kulüpler Dünya Şampiyonluğu ile açan ve CEV \ |
| Avrupa Şampiyonlar Ligi'ni üçüncü olarak tamamlayan VakıfBank Kadın Voleybol Takımı , \ |
| Vestel Venus Sultanlar Ligi final serisi ikinci maçında Eczacıbaşı VitrA'yı VakıfBank \ |
| Spor Sarayı'nda 16-25 , 25-10 , 25-18 ve 25-17'lik setlerle 3-1 mağlup ederek seride durumu\ |
| 1-1 ' e getirdi . İlk setini 25-16 kaybettiği karşılaşmanın ikinci setinde etkili servisler\ |
| kullanan sarı-siyahlılar , teknik molasına 12-5 önde girdiği seti 25-10 almayı başardı . \ |
| Etkili servis performansını üçüncü sette de sürdüren VakıfBank , teknik molasına 12-5 önde \ |
| girdiği seti 25-18 alarak , karşılaşmada 2-1 öne geçti . Dördüncü sette rakibinin geri dönüşüne \ |
| izin vermeyen VakıfBank , seti 25-17 , maçı da 3-1 kazanarak seride durumu eşitledi." |
|
|
|
|
|
|
| generate_summary(main_news) |
|
|
|
|
|
|
|
|
|
|
|
|