名寄せ
このサンプルは名寄せ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.entity_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 = """東京タワー
東京スカイツリー
通天閣
スカイツリー
日本電波塔(東京タワー)"""
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,5]},{"index":[2,4]}]}}