【提供終了済み・代替API比較】COTOHA API解説と移行ガイド|歴史的仕様と日本語NLP代替の選び方

重要な注意 (30秒で読める答え): COTOHA APIは、公式発表により新規受付・サービス提供が終了しています(最新の提供状況・終了日は必ず公式情報をご確認ください)。本記事は提供当時の仕様を歴史的資料として整理し、日本語NLP用途で現在検討可能な代替API(ChatGPT API・Google Cloud NL・Amazon Comprehend・Azure Text Analytics等)への移行視点をまとめています。新規にアカウント登録・APIキー取得を行うことはできません。

日本語の自然言語処理(NLP)APIとして長年知られていたCOTOHA APIは、公式発表により新規受付・サービス提供が終了しています(最新の状況は必ず公式サイトでご確認ください)。本記事は、提供当時の仕様を整理しつつ、現在新規導入を検討する場合の代替API選定の参考として執筆しています。

この記事のポイント COTOHA APIの使い方・料金・始め方を徹底解説。NTTドコモが提供する日本語特化の自然言語処理APIで、感情分析・固有表現抽出・構文解析をPythonで実装する手順を詳しく紹介します。

この記事の要点

  • COTOHA APIの料金プランと無料枠の範囲
  • アカウント作成からAPIキー取得・認証の手順
  • 構文解析・感情分析・固有表現抽出の実装方法
  • ChatGPT APIなど他の日本語NLPソリューションとの比較
  • 導入事例と実際のユースケース

30秒で結論

  • 現在の提供状況: 公式に新規受付・サービス提供終了済み(最新情報は公式参照)
  • 提供当時の無料枠: 開発者向けに小規模呼び出し上限の検証枠があったが、現在は利用不可
  • 提供当時の有料枠: 企業向けは要問い合わせ・規模次第の個別契約
  • 提供当時の強み: 日本語特化の構文解析・固有表現抽出に強み
  • 代替候補: 多言語/汎用ならGoogle Cloud NL・Amazon Comprehend・Azure Text Analytics、生成系を含めるなら ChatGPT API等

COTOHA APIとは?NTTの日本語NLP技術が背景

COTOHA(コトハ)APIは、NTTドコモのビジネス向けブランド「NTTドコモビジネス」が提供する自然言語処理プラットフォームです。NTTの研究所が30年以上にわたり蓄積してきた日本語解析技術をAPIとして提供しています。

主な機能一覧

機能概要活用例
構文解析文章の係り受け・品詞情報を取得文章の意味構造を把握
固有表現抽出人名・地名・組織名・日時を検出文書からのメタデータ抽出
感情分析テキストのポジティブ/ネガティブ判定レビュー・SNS分析
キーワード抽出文章の中心的トピックを自動抽出文書サマリー・タグ付け
類似度判定2文章の意味的な近さをスコア化FAQマッチング・重複検出
意図理解ユーザー発言の意図を分類チャットボット構築
ユーザー属性推定テキストから書き手の属性を推定マーケティング分析
誤脱字検出文章中の誤字・脱字を指摘文書品質チェック

これらの機能はすべて日本語テキストに最適化されており、ChatGPT APIのような汎用LLMとは異なるアプローチです。汎用LLMは「理解と生成」の両方をこなしますが、COTOHA APIは「構造化された解析」に特化しているため、確定的な出力が求められる業務システムとの親和性が高くなっています。


COTOHA API料金プラン(提供当時の情報・現在は新規申込不可)

注意: 以下はサービス提供当時に公開されていた料金構成の整理です。現在は新規申込ができないため、実額の最新確認は公式情報に依拠してください。

COTOHA APIの料金体系は、用途によって2つのプランに分かれています。

For Developers(開発者向け・無料)

項目内容
価格無料
API呼び出し制限1日100回(一部機能により異なる)
対象個人開発者・プロトタイプ開発
SLAなし
サポートコミュニティのみ

For Developersプランは個人の学習・プロトタイプ開発に最適です。クレジットカード登録なしで即日利用開始できます。

For Enterprise(企業向け・有料)

項目内容
価格月額費用:要問い合わせ(利用量・機能・契約期間で変動)
API呼び出し制限カスタム(大量処理対応)
SLAあり(99.9%稼働率保証)
サポート専任担当者による技術サポート
導入支援あり

Enterpriseプランは、コールセンター・金融・医療・製造業など業務システムへの組み込み用途を想定しています。正確な月額は規模やAPI種別によって異なるため、公式サイトから問い合わせが必要です。

ポイント: 競合比較のために言うと、Google Cloud Natural Language APIは1,000ユニット$1〜$5、Amazon ComprehendはUTF-8テキスト1ユニットあたり$0.0001〜$0.01の従量課金です。COTOHAのEnterpriseプランは日本語特化の精度と企業サポートを込みにした価格感なので、純粋な従量課金の安さよりも「日本語品質と運用サポート」に価値を感じる企業向けです。


COTOHA API始め方(提供当時の手順・現在は新規登録不可)

注意: 以下はサービス提供当時の登録・APIキー取得手順を、歴史的資料として記載したものです。公式発表によりサービスは終了済みで、現在は新規アカウント登録・Client ID発行・アクセストークン取得とも行えません。新規導入を検討している場合は、後述の代替API(Google Cloud NL / Amazon Comprehend / Azure Text Analytics / ChatGPT API等)の登録手順をご参照ください。

STEP 1:開発者ポータルにアクセス(当時の手順)

COTOHA APIの開発者ポータル(https://api.ce-cotoha.com/)にアクセスして「新規登録」を選択します。

STEP 2:アカウント登録

メールアドレス・パスワードを入力してアカウントを作成します。For Developersはクレジットカード不要です。登録メールが届いたら確認リンクをクリックして認証を完了させます。

STEP 3:ポータルにログインしてClient IDとClient Secretを確認

ログイン後のダッシュボードから Client IDClient Secret が発行されます。これらは後のAPI認証に使用するので控えておきます。

STEP 4:アクセストークンを取得

COTOHA APIはOAuth 2.0形式の認証を採用しています。まず Client IDClient Secret を使ってアクセストークンを取得し、そのトークンを使って各APIを呼び出す形式です。

# アクセストークン取得(curlの場合)
curl -X POST \
  "https://api.ce-cotoha.com/v1/oauth/accesstokens" \
  -H "Content-Type: application/json" \
  -d '{
    "grantType": "client_credentials",
    "clientId": "YOUR_CLIENT_ID",
    "clientSecret": "YOUR_CLIENT_SECRET"
  }'

レスポンス例:

```json
{
  "access_token": "eyJhbGciOiJSUzI1NiJ9...",
  "token_type": "bearer",
  "expires_in": "86399",
  "scope": "default"
}

`access_token` の有効期限は約<mark>24時間</mark>です。本番運用では定期的に再取得する仕組みをシステムに組み込む必要があります。

---

## Python実装(提供当時のサンプル・現状は実行不可・代替実装の参考用)

> <strong>注意</strong>: 以下のサンプルコードは提供当時のCOTOHA APIエンドポイント・認証フローを前提とした参考資料であり、サービス終了済みの現時点ではそのままでは動作しません。抜粋整形の都合で `import os`・`import requests`・`from datetime import datetime, timedelta` 等の宣言や一部メソッドの末尾を省略している箇所があります。実装イメージの参考としてお読みいただき、新規開発の場合は代替API(Google Cloud NL / Amazon Comprehend 等)のSDKに置き換えてください。

![日本語文書から解析結果へ変換される処理フロー](/article-images/cotoha-api-guide-2026-1.png)


実際にPythonでCOTOHA APIを呼び出してみます。まずは共通のクライアントクラスを作成し、各機能を呼び出す形にします。

### 前提:ライブラリのインストール

```bash
pip install requests python-dotenv

### 認証クラスの実装

```python
# cotoha_client.py
datetime
class CotohaClient:
    BASE_URL = "https://api.ce-cotoha.com/api/dev/nlp"
    AUTH_URL = "https://api.ce-cotoha.com/v1/oauth/accesstokens"

    def __init__(self, client_id: str, client_secret: str):
        self.client_id = client_id
        self.client_secret = client_secret
        self._token = None
        self._token_expires = None

    def _get_token(self) -> str:
        """アクセストークンの取得・キャッシュ"""
        if self._token and self._token_expires > datetime.now():
            return self._token

        resp = requests.post(self.AUTH_URL, json={
            "grantType": "client_credentials",
            "clientId": self.client_id,
            "clientSecret": self.client_secret,
        })
        resp.raise_for_status()
        data = resp.json()
        self._token = data["access_token"]
        self._token_expires = datetime.now() + timedelta(seconds=int(data["expires_in"]) - 60)
        return self._token

    def _headers(self) -> dict:
        return {
            "Authorization": f"Bearer {self._get_token()}",
            "Content-Type": "application/json",
        }

    def parse(self, text: str) -> dict:
        """構文解析"""
        return requests.post(
            f"{self.BASE_URL}/v1/parse",
            headers=self._headers(),
            json={"sentence": text, "type": "default"}
        ).json()

    def ne(self, text: str) -> dict:
        """固有表現抽出(Named Entity Recognition)"""
        return requests.post(
            f"{self.BASE_URL}/v1/ne",
            headers=self._headers(),
            json={"sentence": text, "type": "default"}
        ).json()

    def sentiment(self, text: str) -> dict:
        """感情分析"""
        return requests.post(
            f"{self.BASE_URL}/v1/sentiment",
            headers=self._headers(),
            json={"sentence": text}
        ).json()

    def keyword(self, document: str) -> dict:
        """キーワード抽出"""
        return requests.post(
            f"{self.BASE_URL}/v1/keyword",
            headers=self._headers(),
            json={"document": document, "type": "default"}
        ).json()

### 構文解析の実行例

```python
cotoha_client
client = CotohaClient(
    client_id=os.getenv("COTOHA_CLIENT_ID"),
    client_secret=os.getenv("COTOHA_CLIENT_SECRET")
)

result = client.parse("AIが日本語自然言語処理の精度を大幅に向上させました。")
for token in result["result"]:
    print(f"形態素: {token['form']} | 品詞: {token['pos']} | 係り先: {token.get('head', '-')}")

出力例:

形態素: AI     | 品詞: 名詞    | 係り先: 2
形態素: が     | 品詞: 格助詞  | 係り先: 2
形態素: 日本語 | 品詞: 名詞    | 係り先: 3
形態素: 自然   | 品詞: 名詞    | 係り先: 3
...

### 感情分析の実行例

```python
reviews = [
    "このサービスは非常に使いやすく、サポートも丁寧で大変満足しています。",
    "対応が遅すぎて、問題が全く解決されませんでした。",
    "普通の機能で特に不満はありません。",
]

for review in reviews:
    result = client.sentiment(review)
    sentiment = result["result"]["sentiment"]
    score = result["result"]["score"]
    print(f"[{sentiment}({score:.3f})] {review[:30]}...")

出力例:

[Positive(0.812)] このサービスは非常に使いやすく、サポ...
[Negative(0.743)] 対応が遅すぎて、問題が全く解決されま...
[Neutral(0.553)]  普通の機能で特に不満はありません。...

### 固有表現抽出の実行例

```python

text = "NTTドコモは2026年3月に東京都千代田区でAIサミットを開催する予定です。" result = client.ne(text)

for entity in result["result"]: print(f"テキスト: {entity['form']} | 種別: {entity['class']} | 開始: {entity['begin_pos']}")

出力例:

テキスト: NTTドコモ | 種別: OG(組織名)| 開始: 0 テキスト: 2026年3月 | 種別: TI(時間) | 開始: 7 テキスト: 東京都千代田区 | 種別: LO(場所) | 開始: 14


COTOHA APIと競合ツールの比較

ツール日本語精度価格帯汎用性対応言語向いている用途
COTOHA API◎ 高精度要問い合わせ(企業向け)△ NLP特化日本語のみ日本語文書の構造化解析
Google Cloud NL○ 良好$1〜$5/1,000ユニット○ 汎用性高い多言語対応多言語・スケールアウト
Amazon Comprehend○ 良好$0.0001〜$0.01/ユニット○ AWS連携多言語対応AWSエコシステム内
Azure Text Analytics○ 良好$1〜$25/1,000件○ Microsoft連携多言語対応Microsoft 365連携
ChatGPT API△ 柔軟だが確定的でない$0.15〜$60/100万token◎ 最高水準多言語対応生成・対話・柔軟な解析

結論: 日本語の構造化解析(品詞・係り受け・固有表現)の精度と確定性を求めるなら、COTOHAが優位。汎用性・多言語・コスト最優先ならGoogle/Amazon/Azure、柔軟な理解・生成ならChatGPT APIが選択肢に入ります。


COTOHA APIの実際の活用事例

VOC分析で問い合わせを優先度別に仕分ける仕組み

1. コールセンターのVOC分析

顧客からの問い合わせテキストを感情分析にかけ、クレーム度スコアを算出。スコアが一定以上のものを優先エスカレーションする仕組みを構築した事例があります。1日数万件の問い合わせを自動スコアリングすることで、オペレーターの負担を大幅に削減できます。

2. 法律・金融文書の情報抽出

契約書から当事者名(固有表現抽出)・日付・金額を自動抽出して構造化データベースに格納するシステム。従来は人手でのデータ入力が必要だった作業をAPIで自動化しています。

3. 社内ナレッジベースの検索精度向上

社内FAQシステムで類似度判定APIを活用し、ユーザーの質問と既存Q&Aの意味的近さを判定してランキング表示。キーワード一致だけでは取りこぼしていた質問にも適切な回答を返せるようになります。

4. ニュース記事の自動タグ付け

キーワード抽出APIで記事の主要トピックを自動抽出し、コンテンツ管理システム(CMS)に自動タグ付けする仕組みを構築。編集者のメタデータ入力工数を削減し、コンテンツの検索性を向上させています。


COTOHA APIの制限・注意点

実際に導入を検討する際に把握しておきたい制限があります。

対応言語は日本語のみ

英語・中国語などの多言語処理は対象外です。グローバル展開を予定しているシステムには向きません。その場合はGoogle Cloud NLやAmazon Comprehendの多言語対応を活用する必要があります。

For Developersは1日100回制限

テスト用途なら問題ないですが、本番稼働前には必ずFor Enterpriseへの移行計画を立てておく必要があります。制限超過時はAPIが応答を返さなくなるため注意が必要です。

料金の透明性

For Enterpriseの価格は公開されておらず、商談が必要です。スタートアップや個人開発者が気軽に使える価格帯かどうかは問い合わせてみないと分かりません。

トークン管理の実装が必要

アクセストークンが24時間で失効するため、本番システムでは自動リフレッシュ機能の実装が必須です(上記の実装例参照)。


AI PICKSの独自評価

AI PICKSでは、500以上のAIツールを独自の評価基準でスコアリングしています。外部レビュー・SNSバズ・トレンド指数・サイト人気度・プロダクト品質の5軸で総合評価しています。

ツール名総合スコア料金タイプ
ChatGPT95ptフリーミアム
Claude93ptフリーミアム

スコアはAI PICKSの独自基準で算出。詳細は評価基準についてをご覧ください。

編集部の検証メモ

公開されている各社のAPI仕様・料金ページを比較検討した結果を整理します。評価軸は (1) 日本語処理の専門性、(2) 料金体系の透明性、(3) 用途のカバー範囲 の3点としました。

公開情報からの比較整理

項目COTOHA APIChatGPT APIClaude API
設計思想日本語NLP特化(構文・感情・固有表現)汎用生成AI汎用生成AI・長文処理
料金For Developersは無料枠あり/Enterpriseは要問い合わせ従量課金・公式料金ページ公開従量課金・公式料金ページ公開
日本語対応日本語テキストに最適化多言語対応(日本語含む)多言語対応(日本語含む)
商用利用法人プラン前提商用可(利用規約準拠)商用可(利用規約準拠)

最新の正確な金額・上限は各サービスの公式ページを必ず確認してください。

編集部の総合判断

  • 日本語テキストの構造解析・感情分析・固有表現抽出が主目的の方 → COTOHA APIが第一候補。NTT研究所由来の専門機能が揃っています。
  • チャットボット・文章生成・要約など汎用的なLLM用途を求める方 → ChatGPTまたはClaudeのAPIが扱いやすい選択肢です。
  • 両方を組み合わせたい方 → 前処理にCOTOHA、生成パートにChatGPT/Claudeというハイブリッド構成も公式仕様上は実現可能です。

よくある質問(FAQ)

Q. COTOHA APIは完全無料で使えますか?

For Developersプランは無料で使えます。ただし1日100回の呼び出し制限があります。本番システムへの組み込みや大量処理が必要な場合はFor Enterprise(有料・要問い合わせ)への移行が必要です。

Q. COTOHA APIでChatGPTのような文章生成はできますか?

できません。COTOHA APIは自然言語の「解析・分類・抽出」に特化しており、文章生成機能は提供していません。文章生成が必要な場合はChatGPT APIやClaude APIと組み合わせて使う設計が現実的です。例えば「COTOHAで意図を分類→ChatGPTで回答文を生成」というパイプラインが一般的です。

Q. Pythonのwrapperライブラリはありますか?

公式のPythonライブラリは提供されていませんが、GitHubで非公式ライブラリが複数公開されています。ただし、メンテナンス状況にばらつきがあるため、本番導入にはこの記事で紹介したような自作クライアントを使うほうが安定します。requests+環境変数管理の組み合わせで十分に実装できます。

Q. For EnterpriseとFor Developersでは機能に差がありますか?

基本的なAPIの種類は同じですが、For Enterpriseではより高精度なモデルや追加機能(より詳細なユーザー属性推定など)が利用できる場合があります。また、SLA・サポート・大量処理対応の面で大きく異なります。

Q. COTOHA APIのレスポンス速度はどのくらいですか?

通常のテキスト処理では100〜500msのレスポンスタイムが目安です。文章が長くなるほど処理時間は増加します。リアルタイム応答が重要なシステムでは事前にレイテンシ計測を行うことを推奨します。

Q. COTOHA APIはセキュリティ・個人情報の観点で安全ですか?

NTTドコモビジネスが提供するエンタープライズサービスのため、ISO 27001等のセキュリティ基準に準拠しています。For Enterpriseでは秘密保持契約(NDA)の締結も可能です。個人情報を含むテキストを処理する場合は、利用規約とデータ処理に関する契約内容を事前に確認することを推奨します。


まとめ:COTOHA APIを選ぶべきシーン

COTOHA APIは「日本語テキストを確定的に構造化解析したい」ユースケースで最も力を発揮します。汎用LLMのように確率的な応答ではなく、品詞・係り受け・固有表現の種別といった構造化されたデータが必要な業務システムでは、今もCOTOHA APIの強みは健在です。

一方で、料金の透明性と日本語限定という制約は現実的なデメリットです。グローバル展開予定・コスト最優先・英語テキスト処理が含まれる場合は、Google Cloud NLやAmazon Comprehendの方がフィットする可能性が高いでしょう。

まずはFor Developersの無料枠でプロトタイプを作り、精度と運用コストを確認してからEnterprise移行を検討するのが現実的なアプローチです。

関連記事

各ツールの公式サイト(一次情報)

料金・機能・対応範囲は各社公式が一次情報です。本記事は公開時点の検証に基づきますが、最新かつ正確な条件は必ず各公式ページで確認してください。