-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodels.py
More file actions
88 lines (77 loc) · 2.86 KB
/
Copy pathmodels.py
File metadata and controls
88 lines (77 loc) · 2.86 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import json
import requests
import urllib.parse
import xmltodict
import config
APPID = config.APPID # アプリケーションID(環境変数から読み取る)
def segmenter(data):
# クエリストリングの作成
filter = data["filter"] # 出力する品詞番号
results = data["results"] # 解析か集計
textData = data["text"] # 形態素解析する文字列
sentence = urllib.parse.quote(textData)
# XMLを取得しJSONに変換
# APIのレスポンスとして形態素解析結果のXMLを受け取る
res = yahooapima(filter, results, sentence)
dict = xmltodict.parse(res.text) # レスポンスのXMLを辞書型に変更
jsonData = json.dumps(dict) # 辞書型からjson形式に変更
return jsonData
def similarity_calculator(data):
# クエリストリングの作成
filter = data["filter"] # 出力する品詞番号
results = "uniq" # 集計
sentence = urllib.parse.quote(data["text"]) # 形態素解析する文字列
# XMLを取得しJSONに変換
# APIのレスポンスとして形態素解析結果のXMLを受け取る
res = yahooapima(filter, results, sentence)
dict = xmltodict.parse(res.text) # レスポンスのXMLを辞書型に変更
jsonData = json.dumps(dict) # 辞書型からjson形式に変更
return jsonData
def parser(data):
query = data["text"] # 解析する文字列
headers = {
"Content-Type": "application/json",
"User-Agent": "Yahoo AppID: {}".format(APPID),
}
param_dic = {
"id": "1234-1",
"jsonrpc": "2.0",
"method": "jlp.daservice.parse",
"params": {"q": query},
}
URL = "https://jlp.yahooapis.jp/DAService/V2/parse"
res = requests.post(URL, headers=headers, json=param_dic)
try:
jsonData = json.dumps(res.json())
except:
jsonData = "{}"
return jsonData
def extract_evaluation(data) :
query = data["text"] # 解析する文字列
headers = {
"Content-Type": "application/json",
"User-Agent": "Yahoo AppID: {}".format(APPID),
}
param_dic = {
"id": "1234-1",
"jsonrpc": "2.0",
"method": "jlp.daservice.parse",
"params": {"q": query},
}
URL = "https://jlp.yahooapis.jp/DAService/V2/parse"
res = requests.post(URL, headers=headers, json=param_dic)
try:
jsonData = json.dumps(res.json())
except:
jsonData = "{}"
return jsonData
def yahooapima(filter, results, sentence):
qs = 'appid=' + APPID + '&response=surface,reading,pos,baseform,feature&filter=' + \
filter + '&results=' + results + '&sentence=' + sentence
# クエリストリングを辞書型に変換
qs_d = urllib.parse.parse_qs(qs)
# url
url = 'https://jlp.yahooapis.jp/MAService/V1/parse'
# リクエスト
res = requests.post(url, data=qs_d)
return res