自然言語処理/gooラボのAPIを呼び出す
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#topicpath
----
#contents
[[Webソフトやアプリ開発に役立つAPIを無料で提供する【gooラ...
gooラボが自然言語処理 関連で、形態素解析APIや固有表現抽出...
使い方は、
[[API利用方法 |ソフト・アプリ開発のAPIなら【gooラボ】>ht...
あ、利用規約を見ると非商用利用のみとなってますのでご注意...
**形態素解析API [#s90daf8e]
curlで呼び出すとこんな感じ。
$ cat parameter.json
{
"app_id":"31e6exxxxxxxxxxxx",
"sentence":"鈴木さんがきょうの9時30分に横浜に行きま...
}
$ curl -X POST \
-H 'Content-Type:application/json' \
-H 'Accept:application/json' \
--data-binary @parameter.json \
https://labs.goo.ne.jp/api/morph
実行結果:
{
"request_id": "labs.goo.ne.jp\t1532479475\t0",
"word_list": [
[
[ "鈴木", "名詞", "スズキ" ],
[ "さん", "名詞接尾辞","サン" ],
[ "が", "格助詞", "ガ" ],
[ "きょう", "名詞", "キョウ" ],
[ "の", "格助詞", "ノ" ],
[ "9時", "名詞", "クジ" ],
[ "30分", "名詞", "サンジュップン"],
[ "に", "格助詞", "ニ" ],
[ "横浜", "名詞", "ヨコハマ" ],
[ "に", "格助詞", "ニ" ],
[ "行", "動詞語幹", "イ" ],
[ "き", "動詞活用語尾", "キ" ],
[ "ます", "動詞接尾辞", "マス" ],
[ "。", "句点", "$" ]
]
]
}
結果は多少整形してます。
ちゃんと形態素にバラしてくれましたね。
**固有表現抽出API [#r026da97]
curlで呼び出すとこんな感じ。
$ cat parameter.json
{
"app_id":"31e6exxxxxxxxxxxx",
"sentence":"鈴木さんがきょうの9時30分に横浜に行きま...
}
$ curl -X POST \
-H 'Content-Type:application/json' \
-H 'Accept:application/json' \
--data-binary @parameter.json \
https://labs.goo.ne.jp/api/entity
実行結果:
{
"request_id": "labs.goo.ne.jp\t1532479348\t0",
"ne_list": [
[ "鈴木", "PSN" ],
[ "きょう", "DAT" ],
[ "9時30分","TIM" ],
[ "横浜", "LOC" ]
]
}
とれましたねー。
**Pythonから呼び出す [#z9b59829]
つづいてPythonから呼んでみます。Vagrantなどで Pythonをつ...
$ git clone https://github.com/masatomix/ai-samples.git
$ cd ai-samples/
$ git checkout -b tag refs/tags/0.0.1
$ vagrant up
$ vagrant ssh
vagrant@ubuntu-xenial:~$ cd /vagrant/samples/
vagrant@ubuntu-xenial:/vagrant/samples$ sudo pip3 instal...
vagrant@ubuntu-xenial:/vagrant/samples$ cp -pfr config/c...
vagrant@ubuntu-xenial:/vagrant/samples$ cat config/confi...
[payload]
app_id = 31e6exxxxxxxxxxxx <-正しいのにしてください。
実行します。
$ sudo python3 goolab.py
sentence: [鈴木さんがきょうの9時30分に横浜に行きます。]
固有表現抽出結果:
['鈴木', 'PSN']
['きょう', 'DAT']
['9時30分', 'TIM']
['横浜', 'LOC']
形態素解析結果:
['鈴木', '名詞', 'スズキ']
['さん', '名詞接尾辞', 'サン']
['が', '格助詞', 'ガ']
['きょう', '名詞', 'キョウ']
['の', '格助詞', 'ノ']
['9時', '名詞', 'クジ']
['30分', '名詞', 'サンジュップン']
['に', '格助詞', 'ニ']
['横浜', '名詞', 'ヨコハマ']
['に', '格助詞', 'ニ']
['行', '動詞語幹', 'イ']
['き', '動詞活用語尾', 'キ']
['ます', '動詞接尾辞', 'マス']
['。', '句点', '$']
vagrant@ubuntu-xenial:/vagrant/samples$
うまくいきました!
ソースは以下のような感じです
vagrant@ubuntu-xenial:/vagrant/samples$ cat goolab.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import requests
import json
import configparser
config = configparser.ConfigParser()
config.read("./config/config.ini")
def main(args):
sentence = "鈴木さんがきょうの9時30分に横浜に行きま...
print("sentence: [{0}]".format(sentence))
payload_obj = {
"app_id": config["payload"]["app_id"],
"sentence": sentence
}
entities = create_entities(payload_obj)
print("固有表現抽出結果:")
for entity in entities:
print(entity)
morphs = create_morphs(payload_obj)
print("形態素解析結果:")
for sentence in morphs:
for morph in sentence:
print(morph)
def create_morphs(payloadObj):
payload = json.dumps(payloadObj, ensure_ascii=False)
headers = {
"Accept": "application/json",
"Content-type": "application/json"
}
proxies, verify = get_proxy()
r = requests.post(
'https://labs.goo.ne.jp/api/morph',
data=payload.encode('utf-8').decode('latin-1'),
headers=headers,
proxies=proxies,
verify=verify)
return r.json()["word_list"]
def create_entities(payloadObj):
payload = json.dumps(payloadObj, ensure_ascii=False)
headers = {
"Accept": "application/json",
"Content-type": "application/json"
}
proxies, verify = get_proxy()
r = requests.post(
'https://labs.goo.ne.jp/api/entity',
data=payload.encode('utf-8').decode('latin-1'),
headers=headers,
proxies=proxies,
verify=verify)
return r.json()["ne_list"]
def get_proxy():
verify = True
proxies = None
if config["proxy"].getboolean("proxy"):
proxies = {
"http": config["proxy"]["http"],
"https": config["proxy"]["https"]
}
verify = False
return proxies, verify
if __name__ == "__main__":
main(sys.argv)
お疲れ様でした。
----
この記事は
#vote(おもしろかった[1],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
#topicpath
----
#contents
[[Webソフトやアプリ開発に役立つAPIを無料で提供する【gooラ...
gooラボが自然言語処理 関連で、形態素解析APIや固有表現抽出...
使い方は、
[[API利用方法 |ソフト・アプリ開発のAPIなら【gooラボ】>ht...
あ、利用規約を見ると非商用利用のみとなってますのでご注意...
**形態素解析API [#s90daf8e]
curlで呼び出すとこんな感じ。
$ cat parameter.json
{
"app_id":"31e6exxxxxxxxxxxx",
"sentence":"鈴木さんがきょうの9時30分に横浜に行きま...
}
$ curl -X POST \
-H 'Content-Type:application/json' \
-H 'Accept:application/json' \
--data-binary @parameter.json \
https://labs.goo.ne.jp/api/morph
実行結果:
{
"request_id": "labs.goo.ne.jp\t1532479475\t0",
"word_list": [
[
[ "鈴木", "名詞", "スズキ" ],
[ "さん", "名詞接尾辞","サン" ],
[ "が", "格助詞", "ガ" ],
[ "きょう", "名詞", "キョウ" ],
[ "の", "格助詞", "ノ" ],
[ "9時", "名詞", "クジ" ],
[ "30分", "名詞", "サンジュップン"],
[ "に", "格助詞", "ニ" ],
[ "横浜", "名詞", "ヨコハマ" ],
[ "に", "格助詞", "ニ" ],
[ "行", "動詞語幹", "イ" ],
[ "き", "動詞活用語尾", "キ" ],
[ "ます", "動詞接尾辞", "マス" ],
[ "。", "句点", "$" ]
]
]
}
結果は多少整形してます。
ちゃんと形態素にバラしてくれましたね。
**固有表現抽出API [#r026da97]
curlで呼び出すとこんな感じ。
$ cat parameter.json
{
"app_id":"31e6exxxxxxxxxxxx",
"sentence":"鈴木さんがきょうの9時30分に横浜に行きま...
}
$ curl -X POST \
-H 'Content-Type:application/json' \
-H 'Accept:application/json' \
--data-binary @parameter.json \
https://labs.goo.ne.jp/api/entity
実行結果:
{
"request_id": "labs.goo.ne.jp\t1532479348\t0",
"ne_list": [
[ "鈴木", "PSN" ],
[ "きょう", "DAT" ],
[ "9時30分","TIM" ],
[ "横浜", "LOC" ]
]
}
とれましたねー。
**Pythonから呼び出す [#z9b59829]
つづいてPythonから呼んでみます。Vagrantなどで Pythonをつ...
$ git clone https://github.com/masatomix/ai-samples.git
$ cd ai-samples/
$ git checkout -b tag refs/tags/0.0.1
$ vagrant up
$ vagrant ssh
vagrant@ubuntu-xenial:~$ cd /vagrant/samples/
vagrant@ubuntu-xenial:/vagrant/samples$ sudo pip3 instal...
vagrant@ubuntu-xenial:/vagrant/samples$ cp -pfr config/c...
vagrant@ubuntu-xenial:/vagrant/samples$ cat config/confi...
[payload]
app_id = 31e6exxxxxxxxxxxx <-正しいのにしてください。
実行します。
$ sudo python3 goolab.py
sentence: [鈴木さんがきょうの9時30分に横浜に行きます。]
固有表現抽出結果:
['鈴木', 'PSN']
['きょう', 'DAT']
['9時30分', 'TIM']
['横浜', 'LOC']
形態素解析結果:
['鈴木', '名詞', 'スズキ']
['さん', '名詞接尾辞', 'サン']
['が', '格助詞', 'ガ']
['きょう', '名詞', 'キョウ']
['の', '格助詞', 'ノ']
['9時', '名詞', 'クジ']
['30分', '名詞', 'サンジュップン']
['に', '格助詞', 'ニ']
['横浜', '名詞', 'ヨコハマ']
['に', '格助詞', 'ニ']
['行', '動詞語幹', 'イ']
['き', '動詞活用語尾', 'キ']
['ます', '動詞接尾辞', 'マス']
['。', '句点', '$']
vagrant@ubuntu-xenial:/vagrant/samples$
うまくいきました!
ソースは以下のような感じです
vagrant@ubuntu-xenial:/vagrant/samples$ cat goolab.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import requests
import json
import configparser
config = configparser.ConfigParser()
config.read("./config/config.ini")
def main(args):
sentence = "鈴木さんがきょうの9時30分に横浜に行きま...
print("sentence: [{0}]".format(sentence))
payload_obj = {
"app_id": config["payload"]["app_id"],
"sentence": sentence
}
entities = create_entities(payload_obj)
print("固有表現抽出結果:")
for entity in entities:
print(entity)
morphs = create_morphs(payload_obj)
print("形態素解析結果:")
for sentence in morphs:
for morph in sentence:
print(morph)
def create_morphs(payloadObj):
payload = json.dumps(payloadObj, ensure_ascii=False)
headers = {
"Accept": "application/json",
"Content-type": "application/json"
}
proxies, verify = get_proxy()
r = requests.post(
'https://labs.goo.ne.jp/api/morph',
data=payload.encode('utf-8').decode('latin-1'),
headers=headers,
proxies=proxies,
verify=verify)
return r.json()["word_list"]
def create_entities(payloadObj):
payload = json.dumps(payloadObj, ensure_ascii=False)
headers = {
"Accept": "application/json",
"Content-type": "application/json"
}
proxies, verify = get_proxy()
r = requests.post(
'https://labs.goo.ne.jp/api/entity',
data=payload.encode('utf-8').decode('latin-1'),
headers=headers,
proxies=proxies,
verify=verify)
return r.json()["ne_list"]
def get_proxy():
verify = True
proxies = None
if config["proxy"].getboolean("proxy"):
proxies = {
"http": config["proxy"]["http"],
"https": config["proxy"]["https"]
}
verify = False
return proxies, verify
if __name__ == "__main__":
main(sys.argv)
お疲れ様でした。
----
この記事は
#vote(おもしろかった[1],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: