NLPクラウドAPIの紹介

NLP Cloud は、自然言語処理をプロダクションで簡単に使用できるようにする API です。このAPIは、最良のオープンソースの事前学習済みモデルに基づいています。 事前に学習されたモデルを使用しています。また、独自のモデルを使用したり、プラットフォーム上でモデルをトレーニングすることもできます。NLP Cloudのほとんどの のテキスト理解とテキスト生成機能:エンティティ抽出(NER)、センチメント分析 エンティティ抽出(NER)、感情分析、テキスト分類、テキスト要約、質問応答、テキスト生成、品詞(POS)タグ付けなど。 タグ付け...などがあります。

このAPIは、1分間に3回のリクエストまで無料で利用できるので、モデルの品質を簡単にテストするのに適しています。 モデルの品質を簡単にテストするのに適しています。その後、最初の有料プランは月額29ドル(1分間に15回のリクエストの場合)です。

このチュートリアルでは、APIの使い方を見てみましょう。

なぜNLPクラウドなのか?

AIモデルを本番環境に展開することは、プロジェクトの失敗の原因になりがちです。自然言語処理モデルは非常にリソースを必要とします。 自然言語処理モデルは非常に多くのリソースを必要とするため、本番環境でこれらのモデルの高い可用性を確保しつつ、良好な応答時間を確保することが課題となります。 時間を確保することは困難です。それには、高価なインフラと、高度なDevOps、プログラミング、そしてAI のスキルが必要となります。

NLPクラウドの目標は、企業が、品質に妥協することなく、手頃な価格で、自社のモデルを本番環境で迅速に活用できるようにすることです。 品質に妥協することなく、お求めやすい価格で提供することです。

アカウントの作成

サインアップはとても早いです。 登録ページにアクセスして ページにアクセスして、Eメールとパスワードを入力してください。 (登録はこちら).

NLPクラウドへの登録

これでダッシュボードに入り、APIトークンが表示されます。このトークンは安全に保管してください。 が必要になります。

ダッシュボードにはいくつかのコードスニペットが用意されており、すぐに使いこなせるようになっています。詳細は 詳細については ドキュメント (ドキュメントはこちら).

NLPクラウドのドキュメント

NLPクラウドAPIクライアントLibs

NLPクラウドは、アウトオブボックスで、典型的な自然言語処理機能のほとんどを提供し、どちらのおかげで 事前に訓練されたスパシーまたはハグフェイスモデル、または独自のスパシーモデルをアップロードすることによって。

NLPクラウドでは、APIを使いやすくするために、いくつかの言語(Python、Ruby、PHP、Go、Node.js)のクライアントライブラリを提供しています。 (Python, Ruby, PHP, Go, Node.js) を提供しています。このチュートリアルの残りの部分では、Pythonのライブラリを使用します。

PIPは、Python libをインストールするために使用します。

pip install nlpcloud

エンティティ抽出(NER)

エンティティの抽出にはspaCyを使用しています。spaCyの "large "事前学習済みモデルがすべて利用可能です。 15言語に対応しています。 (これらのモデルの詳細については、SpaCyのウェブサイトをご覧ください。). また、自分で開発したカスタム 自分で開発したスパシーモデルをアップロードして、製品として使用することもできます。それが必要な場合 ダッシュボードの「カスタムモデル」セクションにアクセスしてください。

カスタム自然言語処理モデルのアップロード

ここでは、事前に学習された英語の spaCy モデル("en_core_web_lg")により、"John Doe has been working for Microsoft in Seattle since 1999 "という文からエンティティを抽出したいとします。 John Doe has been working for Microsoft in Seattle since 1999." という文章からエンティティを抽出したいとします。これは、事前に学習された英語用のspaCyモデル("en_core_web_lg")のおかげです。 ここでは、どのように進めればよいかを説明します。

import nlpcloud

client = nlpcloud.Client("en_core_web_lg", "")
client.entities("John Doe has been working for Microsoft in Seattle since 1999.")

抽出された各エンティティの内容と、文中の位置を返します。

センチメント分析

センチメント分析は、Hugging Faceトランスフォーマーと Distilbert Base Uncased Finetuned SST 2 English. 例を挙げてみましょう。

import nlpcloud

client = nlpcloud.Client("distilbert-base-uncased-finetuned-sst-2-english", "")
client.sentiment("NLP Cloud proposes an amazing service!")

この文章の一般的な感情が、どちらかというとポジティブなのかネガティブなのか、そしてその可能性を教えてくれます。 可能性を示します。

テキストの分類

テキストの分類は、Hugging Faceトランスフォーマーと Facebook's Bart Large MNLI. ここではその一例をご紹介します。

import nlpcloud

client = nlpcloud.Client("bart-large-mnli", "")
client.classification("""John Doe is a Go Developer at Google. 
    He has been working there for 10 years and has been 
    awarded employee of the year.""",
    ["job", "nature", "space"],
    True)

ご覧のように、分類したいテキストのブロックと、可能なカテゴリーを渡しています。 最後の引数は、1つのカテゴリーを適用するのか、複数のカテゴリーを適用するのかを定義するブール値です。

各カテゴリの可能性を返します。

テキストサマリー

テキストの要約は、Hugging Faceトランスフォーマーと Facebook's Bart Large CNN. 例を挙げてみましょう。

import nlpcloud

client = nlpcloud.Client("bart-large-cnn", "")
client.summarization("""The tower is 324 metres (1,063 ft) tall, 
about the same height as an 81-storey building, and the tallest structure in Paris. 
Its base is square, measuring 125 metres (410 ft) on each side. During its construction, 
the Eiffel Tower surpassed the Washington Monument to become the tallest man-made 
structure in the world, a title it held for 41 years until the Chrysler Building 
in New York City was finished in 1930. It was the first structure to reach a 
height of 300 metres. Due to the addition of a broadcasting aerial at the top of 
the tower in 1957, it is now taller than the Chrysler Building by 5.2 metres (17 ft). 
Excluding transmitters, the Eiffel Tower is the second tallest free-standing structure 
in France after the Millau Viaduct.""")

以上のような要約を返してくれます。これは "抽象的 "な要約であり、"抽出的 "な要約ではありません。 つまり、新しい文が生成されたり、重要でない文が削除されたりする可能性があります。しかし 重要でない文章はもちろん削除されます。

質問への回答

ハグ・フェイス・トランスフォーマーのおかげで、質問に答えることができます。 Deepset's Roberta Base Squad 2. 以下はその例です。 例を挙げてみましょう。

import nlpcloud

client = nlpcloud.Client("roberta-base-squad2", "")
client.question("""French president Emmanuel Macron said the country was at war
    with an invisible, elusive enemy, and the measures were unprecedented,
    but circumstances demanded them.""",
    "Who is the French president?")

ここでは、文脈のおかげで質問に答えることができます。

例えば、上記の例では「Emmanuel Macron」が返されます。

品詞のタグ付け

品詞のタグ付けは、エンティティの抽出に使用したものと同じスパシーモデルによって実現されています。ですから、例えば 例えば、英語の事前学習モデルを使用したい場合は、以下のようになります。

import nlpcloud

client = nlpcloud.Client("en_core_web_lg", "")
client.dependencies("John Doe is a Go Developer at Google")

文中の各トークンの品詞と、他のトークンへの依存関係を返します。

結論

NLP Cloudは、使いやすく、制作時間を大幅に短縮できる自然言語処理用のAPIです。

翻訳、言語検出、テキスト生成など、さらに多くのモデルが用意されています...。その他にもたくさんあります。

また、重要な性能を必要とする場合には、GPUプランも提案されています。

この記事が少しでも皆様のお役に立てれば幸いです。何かご不明な点がございましたら、ご遠慮なくお申し付けください。 ご連絡ください。

Julien Salinas
NLP CloudのCTO