Ini adalah klien Python untuk NLP Cloud API. Lihat dokumentasi untuk lebih jelasnya.
NLP Cloud menyajikan model terlatih atau model kustom berkinerja tinggi untuk NER, analisis sentimen, klasifikasi, peringkasan, peringkasan dialog, parafrase, klasifikasi maksud, deskripsi produk dan pembuatan iklan, chatbot, koreksi tata bahasa dan ejaan, ekstraksi kata kunci dan frasa kunci, pembuatan teks , pembuatan gambar, pembuatan kode sumber, menjawab pertanyaan, pengenalan ucapan otomatis, terjemahan mesin, deteksi bahasa, pencarian semantik, kesamaan semantik, tokenisasi, penandaan POS, penyematan, dan penguraian ketergantungan. Ini siap untuk produksi, disajikan melalui REST API.
Anda dapat menggunakan model terlatih NLP Cloud, menyempurnakan model Anda sendiri, atau menerapkan model Anda sendiri.
Jika Anda menghadapi masalah, jangan ragu untuk mengangkatnya sebagai masalah Github. Terima kasih!
Instal melalui pip.
pip install nlpcloud
Berikut adalah contoh lengkap yang merangkum teks menggunakan model Bart Large CNN Facebook, dengan token palsu:
import nlpcloud
client = nlpcloud . Client ( "bart-large-cnn" , "4eC39HqLyjWDarjtT1zdp7dc" )
client . summarization ( """One month after the United States began what has become a
troubled rollout of a national COVID vaccination campaign, the effort is finally
gathering real steam. Close to a million doses -- over 951,000, to be more exact --
made their way into the arms of Americans in the past 24 hours, the U.S. Centers
for Disease Control and Prevention reported Wednesday. That s the largest number
of shots given in one day since the rollout began and a big jump from the
previous day, when just under 340,000 doses were given, CBS News reported.
That number is likely to jump quickly after the federal government on Tuesday
gave states the OK to vaccinate anyone over 65 and said it would release all
the doses of vaccine it has available for distribution. Meanwhile, a number
of states have now opened mass vaccination sites in an effort to get larger
numbers of people inoculated, CBS News reported.""" )
Berikut ini contoh lengkap yang melakukan hal yang sama, tetapi pada GPU:
import nlpcloud
client = nlpcloud . Client ( "bart-large-cnn" , "4eC39HqLyjWDarjtT1zdp7dc" , True )
client . summarization ( """One month after the United States began what has become a
troubled rollout of a national COVID vaccination campaign, the effort is finally
gathering real steam. Close to a million doses -- over 951,000, to be more exact --
made their way into the arms of Americans in the past 24 hours, the U.S. Centers
for Disease Control and Prevention reported Wednesday. That s the largest number
of shots given in one day since the rollout began and a big jump from the
previous day, when just under 340,000 doses were given, CBS News reported.
That number is likely to jump quickly after the federal government on Tuesday
gave states the OK to vaccinate anyone over 65 and said it would release all
the doses of vaccine it has available for distribution. Meanwhile, a number
of states have now opened mass vaccination sites in an effort to get larger
numbers of people inoculated, CBS News reported.""" )
Berikut adalah contoh lengkap yang melakukan hal yang sama, tetapi pada teks Perancis:
import nlpcloud
client = nlpcloud . Client ( "bart-large-cnn" , "4eC39HqLyjWDarjtT1zdp7dc" , True , "fra_Latn" )
client . summarization ( """Sur des images aériennes, prises la veille par un vol de surveillance
de la Nouvelle-Zélande, la côte d’une île est bordée d’arbres passés du vert
au gris sous l’effet des retombées volcaniques. On y voit aussi des immeubles
endommagés côtoyer des bâtiments intacts. « D’après le peu d’informations
dont nous disposons, l’échelle de la dévastation pourrait être immense,
spécialement pour les îles les plus isolées », avait déclaré plus tôt
Katie Greenwood, de la Fédération internationale des sociétés de la Croix-Rouge.
Selon l’Organisation mondiale de la santé (OMS), une centaine de maisons ont
été endommagées, dont cinquante ont été détruites sur l’île principale de
Tonga, Tongatapu. La police locale, citée par les autorités néo-zélandaises,
a également fait état de deux morts, dont une Britannique âgée de 50 ans,
Angela Glover, emportée par le tsunami après avoir essayé de sauver les chiens
de son refuge, selon sa famille.""" )
Objek json dikembalikan:
{
"summary_text" : " Over 951,000 doses were given in the past 24 hours. That's the largest number of shots given in one day since the rollout began. That number is likely to jump quickly after the federal government gave states the OK to vaccinate anyone over 65. A number of states have now opened mass vaccination sites. "
}
Teruskan model yang ingin Anda gunakan dan token NLP Cloud ke klien selama inisialisasi.
Model tersebut dapat berupa model terlatih seperti en_core_web_lg
, bart-large-mnli
... tetapi juga salah satu model khusus Anda, menggunakan custom_model/
(misalnya custom_model/2568
). Lihat dokumentasi untuk daftar lengkap semua model yang tersedia.
Token Anda dapat diambil dari dasbor NLP Cloud Anda.
import nlpcloud client = nlpcloud . Client ( "" , "" )
Jika Anda ingin menggunakan GPU, berikan gpu=True
.
import nlpcloud client = nlpcloud . Client ( "" , "" , gpu = True )
Jika Anda ingin menggunakan add-on multibahasa untuk memproses teks non-Inggris, teruskan lang="
. Misalnya, jika Anda ingin memproses teks Perancis, Anda harus mengatur lang="fra_Latn"
.
import nlpcloud client = nlpcloud . Client ( "" , "" , lang = "" )
Jika Anda ingin membuat permintaan asinkron, teruskan asynchronous=True
.
import nlpcloud client = nlpcloud . Client ( "" , "" , asynchronous = True )
Jika Anda membuat permintaan asinkron, Anda akan selalu menerima respons cepat yang berisi URL. Anda kemudian harus melakukan polling pada URL ini dengan async_result()
secara teratur (misalnya setiap 10 detik) untuk memeriksa apakah hasilnya tersedia. Berikut ini contohnya:
client . async_result ( "https://api.nlpcloud.io/v1/get-async-result/21718218-42e8-4be9-a67f-b7e18e03b436" )
Perintah di atas mengembalikan objek JSON ketika responsnya sudah siap. Ia mengembalikan None
sebaliknya.
Panggil metode asr()
dan berikan argumen berikut:
url
: URL tempat file audio atau video Anda dihostingencoded_file
: versi file Anda yang disandikan base 64input_language
: bahasa file Anda sebagai kode ISO client . asr ( "Your url" )
Perintah di atas mengembalikan objek JSON.
Panggil metode chatbot()
dan berikan masukan Anda. Sebagai opsi, Anda juga dapat meneruskan konteks dan riwayat percakapan yang merupakan daftar kamus. Setiap kamus dibuat dari input
dan response
dari chatbot.
client . chatbot ( "Your input" , "You context" , [{ "input" : "input 1" , "response" : "response 1" }, { "input" : "input 2" , "response" : "response 2" }, ...])
Perintah di atas mengembalikan objek JSON.
Panggil metode classification()
dan berikan argumen berikut:
multi_class
: Apakah klasifikasi harus berupa kelas jamak atau tidak, sebagai boolean. Defaultnya adalah benar. client . classification ( "" , [ "label 1" , "label 2" , "..." ])
Perintah di atas mengembalikan objek JSON.
Panggil metode code_generation()
dan berikan instruksi untuk program yang ingin Anda buat:
client . code_generation ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode dependencies()
dan teruskan teks yang ingin Anda lakukan penandaan bagian ucapan (POS) + busur.
client . dependencies ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode embeddings()
dan teruskan daftar blok teks yang ingin Anda ekstrak embeddingsnya.
client . embeddings ([ "" , "" , "" , ...])
Perintah di atas mengembalikan objek JSON.
Panggil metode entities()
dan teruskan teks yang ingin Anda gunakan untuk melakukan pengenalan entitas bernama (NER).
client . entities ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode generation()
dan berikan argumen berikut:
max_length
: Opsional. Jumlah maksimum token yang harus dimuat dalam teks yang dihasilkan. Maksimum 256 token untuk GPT-J pada CPU, maksimum 1024 token untuk GPT-J dan GPT-NeoX 20B pada GPU, dan maksimum 2048 token untuk Fast GPT-J dan Finetuned GPT-NeoX 20B pada GPU. Jika length_no_input
salah, ukuran teks yang dihasilkan adalah selisih antara max_length
dan panjang teks masukan Anda. Jika length_no_input
benar, ukuran teks yang dihasilkan adalah max_length
. Defaultnya adalah 50.length_no_input
: Apakah min_length
dan max_length
tidak boleh menyertakan panjang teks masukan, sebagai boolean. Jika salah, min_length
dan max_length
menyertakan panjang teks masukan. Jika benar, min_length dan max_length
tidak menyertakan panjang teks masukan. Defaultnya salah.end_sequence
: Token spesifik yang harus menjadi akhir dari urutan yang dihasilkan, sebagai string. Misalnya jika bisa .
atau n
atau ###
atau apa pun yang kurang dari 10 karakter.remove_input
: Apakah Anda ingin menghapus teks input dari hasilnya, sebagai boolean. Defaultnya salah.num_beams
: Jumlah berkas untuk pencarian berkas. 1 berarti tidak ada pencarian sinar. Ini adalah bilangan bulat. Defaultnya adalah 1.num_return_sequences
: Jumlah urutan kembalian yang dihitung secara independen untuk setiap elemen dalam batch, sebagai bilangan bulat. Defaultnya adalah 1.top_k
: Jumlah token kosakata dengan probabilitas tertinggi yang disimpan untuk pemfilteran top-k, sebagai bilangan bulat. Maksimum 1000 token. Defaultnya adalah 0.top_p
: Jika disetel ke float < 1, hanya token yang paling mungkin dengan probabilitas berjumlah top_p atau lebih tinggi yang disimpan untuk dibuat. Ini adalah pelampung. Harus antara 0 dan 1. Defaultnya adalah 0,7.temperature
: Nilai yang digunakan untuk memodulasi probabilitas token berikutnya, sebagai float. Harus antara 0 dan 1. Defaultnya adalah 1.repetition_penalty
: Parameter penalti pengulangan, sebagai float. 1.0 berarti tidak ada penalti. Defaultnya adalah 1.0.bad_words
: Daftar token yang tidak boleh dibuat, sebagai daftar string. Defaultnya adalah nol.remove_end_sequence
: Opsional. Apakah Anda ingin menghapus string end_sequence
dari hasilnya. Defaultnya salah. client . generation ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode gs_correction()
dan teruskan teks yang ingin Anda perbaiki:
client . gs_correction ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode image_generation()
dan berikan instruksi teks untuk gambar baru yang ingin Anda hasilkan:
client . image_generation ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode intent_classification()
dan teruskan teks yang ingin Anda ekstrak maksudnya:
client . intent_classification ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode kw_kp_extraction()
dan teruskan teks yang kata kunci dan frasa kuncinya ingin Anda ekstrak:
client . kw_kp_extraction ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode langdetection()
dan teruskan teks yang ingin Anda analisis untuk mendeteksi bahasanya.
client . langdetection ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode paraphrasing()
dan teruskan teks yang ingin Anda parafrase.
client . paraphrasing ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode question()
dan teruskan perintah berikut:
client . question ( "" , "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode semantic_search()
dan teruskan kueri penelusuran Anda.
client . semantic_search ( "Your search query" )
Perintah di atas mengembalikan objek JSON.
Panggil metode semantic_similarity()
dan berikan daftar yang terdiri dari 2 blok teks yang ingin Anda bandingkan.
client . semantic_similarity ([ "" , "" ])
Perintah di atas mengembalikan objek JSON.
Panggil metode sentence_dependencies()
dan berikan blok teks yang terdiri dari beberapa kalimat yang ingin Anda gunakan untuk melakukan POS + arc.
client . sentence_dependencies ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode sentiment()
dan teruskan perintah berikut:
client . sentiment ( "" , "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode speech_synthesis()
dan teruskan teks yang ingin Anda konversi menjadi audio:
client . speech_synthesis ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode summarization()
dan teruskan teks yang ingin Anda rangkum.
client . summarization ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode tokens()
dan teruskan teks yang ingin Anda tokenisasi.
client . tokens ( "" )
Perintah di atas mengembalikan objek JSON.
Panggil metode translation()
dan teruskan teks yang ingin Anda terjemahkan.
client . translation ( "" )
Perintah di atas mengembalikan objek JSON.