テキストクラスタリング
このサンプルはテキストクラスタリング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":["カレー","天気"]}]}}