これは、NLP Cloud API の Python クライアントです。詳細については、ドキュメントを参照してください。
NLP クラウドは、NER、感情分析、分類、要約、対話要約、言い換え、意図分類、製品説明と広告生成、チャットボット、文法とスペルの修正、キーワードとキーフレーズの抽出、テキスト生成のための高性能の事前トレーニング済みモデルまたはカスタム モデルを提供します。 、画像生成、ソースコード生成、質問応答、自動音声認識、機械翻訳、言語検出、意味検索、意味類似性、トークン化、POS タグ付け、埋め込み、依存関係解析中。これは実稼働の準備ができており、REST API を通じて提供されます。
NLP Cloud の事前トレーニング済みモデルを使用することも、独自のモデルを微調整することも、独自のモデルをデプロイすることもできます。
問題に直面した場合は、ためらわずに Github の問題として報告してください。ありがとう!
pip経由でインストールします。
pip install nlpcloud
以下は、偽のトークンを使用して Facebook の Bart Large CNN モデルを使用してテキストを要約した完全な例です。
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.""" )
以下は、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.""" )
以下は同じことを行う完全な例ですが、フランス語のテキストに対して行われます。
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.""" )
json オブジェクトが返されます。
{
"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. "
}
初期化中に、使用するモデルと NLP クラウド トークンをクライアントに渡します。
モデルは、 en_core_web_lg
、 bart-large-mnli
... などの事前トレーニング済みモデルにすることもできますが、 custom_model/
(例、 custom_model/2568
) を使用してカスタム モデルの 1 つにすることもできます。利用可能なすべてのモデルの包括的なリストについては、ドキュメントを参照してください。
トークンは、NLP Cloud ダッシュボードから取得できます。
import nlpcloud client = nlpcloud . Client ( "" , "" )
GPU を使用する場合は、 gpu=True
を渡します。
import nlpcloud client = nlpcloud . Client ( "" , "" , gpu = True )
英語以外のテキストを処理するために多言語アドオンを使用する場合は、 lang="
を渡します。たとえば、フランス語のテキストを処理する場合は、 lang="fra_Latn"
を設定する必要があります。
import nlpcloud client = nlpcloud . Client ( "" , "" , lang = "" )
非同期リクエストを行う場合は、 asynchronous=True
を渡します。
import nlpcloud client = nlpcloud . Client ( "" , "" , asynchronous = True )
非同期リクエストを行っている場合は、URL を含むクイック応答を常に受け取ります。次に、結果が利用可能かどうかを確認するために、この URL をasync_result()
で定期的に (たとえば 10 秒ごとに) ポーリングする必要があります。以下に例を示します。
client . async_result ( "https://api.nlpcloud.io/v1/get-async-result/21718218-42e8-4be9-a67f-b7e18e03b436" )
上記のコマンドは、応答の準備ができたら JSON オブジェクトを返します。それ以外の場合はNone
を返します。
asr()
メソッドを呼び出して、次の引数を渡します。
url
: オーディオまたはビデオ ファイルがホストされている URLencoded_file
: ファイルの Base 64 でエンコードされたバージョンinput_language
: ISO コードとしてのファイルの言語 client . asr ( "Your url" )
上記のコマンドは JSON オブジェクトを返します。
chatbot()
メソッドを呼び出して入力を渡します。オプションとして、辞書のリストであるコンテキストと会話履歴を渡すこともできます。各辞書は、チャットボットからのinput
とresponse
で構成されます。
client . chatbot ( "Your input" , "You context" , [{ "input" : "input 1" , "response" : "response 1" }, { "input" : "input 2" , "response" : "response 2" }, ...])
上記のコマンドは JSON オブジェクトを返します。
classification()
メソッドを呼び出して、次の引数を渡します。
multi_class
: 分類をマルチクラスにするかどうか (ブール値)。デフォルトは true です。 client . classification ( "" , [ "label 1" , "label 2" , "..." ])
上記のコマンドは JSON オブジェクトを返します。
code_generation()
メソッドを呼び出して、生成するプログラムの命令を渡します。
client . code_generation ( "" )
上記のコマンドは JSON オブジェクトを返します。
dependencies()
メソッドを呼び出し、品詞タグ付け (POS) + アークを実行するテキストを渡します。
client . dependencies ( "" )
上記のコマンドは JSON オブジェクトを返します。
embeddings()
メソッドを呼び出し、埋め込みを抽出するテキスト ブロックのリストを渡します。
client . embeddings ([ "" , "" , "" , ...])
上記のコマンドは JSON オブジェクトを返します。
entities()
メソッドを呼び出し、名前付きエンティティ認識 (NER) を実行するテキストを渡します。
client . entities ( "" )
上記のコマンドは JSON オブジェクトを返します。
generation()
メソッドを呼び出して、次の引数を渡します。
max_length
: オプション。生成されたテキストに含める必要があるトークンの最大数。 CPU 上の GPT-J の場合は最大 256 トークン、GPU 上の GPT-J および GPT-NeoX 20B の場合は最大 1024 トークン、GPU 上の Fast GPT-J および Finetuned GPT-NeoX 20B の場合は最大 2048 トークン。 length_no_input
が false の場合、生成されるテキストのサイズは、 max_length
と入力テキストの長さの差になります。 length_no_input
が true の場合、生成されるテキストのサイズは単純にmax_length
になります。デフォルトは 50 です。length_no_input
: min_length
とmax_length
入力テキストの長さをブール値として含めるべきかどうか。 false の場合、 min_length
とmax_length
には入力テキストの長さが含まれます。 true の場合、min_length とmax_length
には入力テキストの長さは含まれません。デフォルトは false です。end_sequence
: 生成されたシーケンスの終わりとなる特定のトークン (文字列として)。たとえば、 である可能性があります.
またはn
または###
または 10 文字未満のその他の文字列。remove_input
: 結果から入力テキストを削除するかどうかをブール値として指定します。デフォルトは false です。num_beams
: ビーム検索のビーム数。 1 はビームサーチを行わないことを意味します。これは整数です。デフォルトは 1 です。num_return_sequences
: バッチ内の各要素に対して個別に計算されて返されたシーケンスの数 (整数)。デフォルトは 1 です。top_k
: top-k フィルタリング用に保持する最も確率の高い語彙トークンの数 (整数)。最大 1000 トークン。デフォルトは 0 です。top_p
: float < 1 に設定すると、合計が top_p 以上になる確率を持つ最も可能性の高いトークンのみが生成のために保持されます。これはフロートです。 0 から 1 の間である必要があります。デフォルトは 0.7 です。temperature
: 次のトークンの確率をモジュール化するために使用される値 (float として)。 0 から 1 の間である必要があります。デフォルトは 1 です。repetition_penalty
: 反復ペナルティのパラメータ (float として)。 1.0 はペナルティがないことを意味します。デフォルトは 1.0 です。bad_words
: 文字列のリストとして、生成が許可されていないトークンのリスト。デフォルトは null です。remove_end_sequence
: オプション。結果からend_sequence
文字列を削除するかどうか。デフォルトは false です。 client . generation ( "" )
上記のコマンドは JSON オブジェクトを返します。
gs_correction()
メソッドを呼び出して、修正したいテキストを渡します。
client . gs_correction ( "" )
上記のコマンドは JSON オブジェクトを返します。
image_generation()
メソッドを呼び出して、生成する新しいイメージのテキスト命令を渡します。
client . image_generation ( "" )
上記のコマンドは JSON オブジェクトを返します。
intent_classification()
メソッドを呼び出して、インテントを抽出するテキストを渡します。
client . intent_classification ( "" )
上記のコマンドは JSON オブジェクトを返します。
kw_kp_extraction()
メソッドを呼び出して、キーワードとキーフレーズを抽出するテキストを渡します。
client . kw_kp_extraction ( "" )
上記のコマンドは JSON オブジェクトを返します。
langdetection()
メソッドを呼び出し、言語を検出するために分析するテキストを渡します。
client . langdetection ( "" )
上記のコマンドは JSON オブジェクトを返します。
paraphrasing()
メソッドを呼び出し、言い換えるテキストを渡します。
client . paraphrasing ( "" )
上記のコマンドは JSON オブジェクトを返します。
question()
メソッドを呼び出して、以下を渡します。
client . question ( "" , "" )
上記のコマンドは JSON オブジェクトを返します。
semantic_search()
メソッドを呼び出して、検索クエリを渡します。
client . semantic_search ( "Your search query" )
上記のコマンドは JSON オブジェクトを返します。
semantic_similarity()
メソッドを呼び出し、比較する 2 つのテキスト ブロックで構成されるリストを渡します。
client . semantic_similarity ([ "" , "" ])
上記のコマンドは JSON オブジェクトを返します。
sentence_dependencies()
メソッドを呼び出し、POS + アークを実行する複数の文で構成されるテキスト ブロックを渡します。
client . sentence_dependencies ( "" )
上記のコマンドは JSON オブジェクトを返します。
sentiment()
メソッドを呼び出して、以下を渡します。
client . sentiment ( "" , "" )
上記のコマンドは JSON オブジェクトを返します。
speech_synthesis()
メソッドを呼び出して、オーディオに変換するテキストを渡します。
client . speech_synthesis ( "" )
上記のコマンドは JSON オブジェクトを返します。
summarization()
メソッドを呼び出して、要約するテキストを渡します。
client . summarization ( "" )
上記のコマンドは JSON オブジェクトを返します。
tokens()
メソッドを呼び出して、トークン化するテキストを渡します。
client . tokens ( "" )
上記のコマンドは JSON オブジェクトを返します。
translation()
メソッドを呼び出して、翻訳するテキストを渡します。
client . translation ( "" )
上記のコマンドは JSON オブジェクトを返します。