forked from rosette-api/python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathname_similarity.py
More file actions
33 lines (24 loc) · 1.2 KB
/
name_similarity.py
File metadata and controls
33 lines (24 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# -*- coding: utf-8 -*-
"""
Example code to call Rosette API to get match score (similarity) of two names.
"""
import argparse
import json
import os
from rosette.api import API, NameSimilarityParameters
def run(key, altUrl='https://api.rosette.com/rest/v1/'):
# Create an API instance
api = API(user_key=key, service_url=altUrl)
matched_name_data1 = "Michael Jackson"
matched_name_data2 = "迈克尔·杰克逊"
params = NameSimilarityParameters()
params["name1"] = {"text": matched_name_data1, "language": "eng", "entityType": "PERSON"}
params["name2"] = {"text": matched_name_data2, "entityType": "PERSON"}
return api.name_similarity(params)
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter, description='Calls the ' + os.path.splitext(os.path.basename(__file__))[0] + ' endpoint')
parser.add_argument('-k', '--key', help='Rosette API Key', required=True)
parser.add_argument('-u', '--url', help="Alternative API URL", default='https://api.rosette.com/rest/v1/')
if __name__ == '__main__':
args = parser.parse_args()
result = run(args.key, args.url)
print(json.dumps(result, indent=2, ensure_ascii=False, sort_keys=True).encode("utf8"))