テキストクラスタリング

このサンプルはテキストクラスタリングAPIを使用して、入力された文リストに対してクラスタリングを行い、その結果を出力するものです。

使用API

テキスト解析 テキストクラスタリング

構成環境 Python 3.x

利用規約

LINEヤフーの提供するサンプルコードをご利用いただくにあたっては、
ガイドラインの内容をお読みいただき、同意していただくことが必要です。
サンプルコードを利用することによって、ガイドラインの内容に同意いただいたものとみなします。
ガイドラインに同意いただけない場合は、サンプルコードを使用するライセンスは許諾されません。

サンプルコード

sample.py

import json
from urllib import request
import base64
 
APPID = "<あなたのClient ID(アプリケーションID)>"  # <-- ここにあなたのClient ID(アプリケーションID)を設定してください。
URL = "https://jlp.yahooapis.jp/jsonrpc"
 
def encode(input_str):
    encoded_str = base64.b64encode(input_str.encode("utf-8")).decode()
    return encoded_str
 
def post(query):
    headers = {
        "Content-Type": "application/json",
        "User-Agent": "Yahoo AppID: {}".format(APPID),
    }
    param_dic = {
      "id": "1234-1",
      "jsonrpc": "2.0",
      "method": "jlp.text_clusterer.cluster",
      "params": {
        "q": query
      }
    }
    params = json.dumps(param_dic).encode()
    req = request.Request(URL, params, headers)
    with request.urlopen(req) as res:
        body = res.read()
    return body.decode()
 
input_str = """天気予報は晴れだけど、今日は傘を持っていこう。きっと雨。
カレーライスのご飯に古古米を使用する。ラーメンのライスに新米を使用する。
天気は崩れているので傘が売れるかもしれない。晴れるのは当分先で今日は雨のはず。
古古米の価格が大幅下落。スーパーマーケットに殺到するカレーライス好き。
BBQパーティの抽選にはずれたので今日はふて寝する。
天気の良い日にカレーが食べたい。先週は旧型ハードを買うべきだった。
天気の良い日にBBQパーティを開きたい。去年はレトロソフトを買うべきだった。
天気の悪い日にカレーを食べるな。来年は最新機種を買うべき。
天気の悪い日にカレーライスが食べたい。今週はアナログ機種を買うべき。"""
 
encoded_str = encode(input_str)
response = post(encoded_str)
print(response)

実行例

$ python3 sample.py
{"id":"1234-1","jsonrpc":"2.0","result":{"blocked_result":[{"index":[1,3],"topic":["天気"]},{"index":[2,4],"topic":["カレー"]},{"index":[5,7],"topic":["天気"]},{"index":[6,8,9],"topic":["カレー","天気"]}]}}

アプリケーションの管理

目次

利用のルール

開発のヒント

サービス一覧