ガイヨウ
オレ オマエ ゲンシジンスル プログラム カイタ
ゲンシジン ジョシ ツカワナイ
ゲンゴショリ スル ジョシ ケス
ゲンシジン カンジ ヒラガナ シラナイ
ゼンブ カタカナ スル
###サンプル
$ python3 genshijin.py "大いなる力には大いなる責任が伴う"
オオイナル チカラ オオイナル セキニン トモナ ウ
#カンキョウ
マック
パイソン
コトハ アピ
#ジッソウ
オレ コウブン カイセキ スル
ジョシ ケス カタカナ スル
オマエ ゲンシジン ナル
トモダチ
##コード
オマエ ココ クリック テンカイ スル
genshijin.py
import requests
import json
import sys
BASE_URL = "https://api.ce-cotoha.com/api/dev/"
CLIENT_ID = "オマエ アイディ イレル"
CLIENT_SECRET = "オマエ シークレット イレル"
def auth(client_id, client_secret):
token_url = "https://api.ce-cotoha.com/v1/oauth/accesstokens"
headers = {
"Content-Type": "application/json",
"charset": "UTF-8"
}
data = {
"grantType": "client_credentials",
"clientId": client_id,
"clientSecret": client_secret
}
r = requests.post(token_url,
headers=headers,
data=json.dumps(data))
return r.json()["access_token"]
def parse(sentence, access_token):
base_url = BASE_URL
headers = {
"Content-Type": "application/json",
"charset": "UTF-8",
"Authorization": "Bearer {}".format(access_token)
}
data = {
"sentence": sentence,
"type": "default"
}
r = requests.post(base_url + "nlp/v1/parse",
headers=headers,
data=json.dumps(data))
return r.json()
if __name__ == "__main__":
document = "私は今日母と焼き肉を食べた"
args = sys.argv
if len(args) >= 2:
document = str(args[1])
access_token = auth(CLIENT_ID, CLIENT_SECRET)
parse_document = parse(document, access_token)
result_list = list()
for chunks in parse_document['result']:
for token in chunks["tokens"]:
if token["pos"] != "格助詞" and token["pos"] != "連用助詞" and token["pos"] != "引用助詞" and token["pos"] != "終助詞":
result_list.append(token["kana"])
print(' '.join(result_list))
###ライブラリ ツカウ コード カンタン ナル
オマエ ココ クリック テンカイ スル
genshi.py
from cotoha_nlp.parse import Parser
parser = Parser("オマエ アイディ",
"オマエ シークレット",
"https://api.ce-cotoha.com/api/dev/nlp",
"https://api.ce-cotoha.com/v1/oauth/accesstokens"
)
s = parser.parse(input())
print(" ".join([token.kana for token in s.tokens if token.pos not in ["格助詞","連用助詞","引用助詞","終助詞"]]))
ツカウ トキ ライブラリ ヒツヨウ
$ pip install git+https://github.com/obilixilido/cotoha-nlp.git
$ echo "私は今日母を焼き肉にした" | python genshi.py
ワタシ キョウ ハハ ヤキニク シ タ
#ケッカ
$ python3 genshijin.py "菜の花や月は東に日は西に"
ナノハナ ツキ ヒガシ ヒ ニシ
$ python3 genshijin.py "天は人の上に人を造らず人の下に人を造らず"
テン ヒト ウエ ヒト ツク ラ ズ ヒト シタ ヒト ツク ラ ズ
$ python3 genshijin.py "雄弁は銀沈黙は金"
ユウベン ギン チンモク カネ
$ python3 genshijin.py "人民の人民による人民のための政治"
ジンミン ジンミン ジンミン タメ セイジ
$ python3 genshijin.py "母ちゃんがタイ人と結婚して苗字がルーマチャイ・ホーマチャイになった"
カアチャン タイ ジン ケッコン シ テ ミョウジ ルーマチャイホーマチャイ ナ ッ タ
#マトメ
ミンナ ゲンシジン ナッタ
トモダチ
オマケ
漢字……残ス……。
我……魏延……ナル……!
$ python3 gien.py "我は劉備の夢を叶えたい!"
我……劉備……夢……叶エ……タイ……!
クリック……展開……スル……。
gien.py
import requests
import json
import sys
BASE_URL = "https://api.ce-cotoha.com/api/dev/nlp/"
CLIENT_ID = "我……アイディ……入レル"
CLIENT_SECRET = "シークレット……入レル……!"
def auth(client_id, client_secret):
token_url = "https://api.ce-cotoha.com/v1/oauth/accesstokens"
headers = {
"Content-Type": "application/json",
"charset": "UTF-8"
}
data = {
"grantType": "client_credentials",
"clientId": client_id,
"clientSecret": client_secret
}
r = requests.post(token_url,
headers=headers,
data=json.dumps(data))
return r.json()["access_token"]
def parse(sentence, access_token):
base_url = BASE_URL
headers = {
"Content-Type": "application/json",
"charset": "UTF-8",
"Authorization": "Bearer {}".format(access_token)
}
data = {
"sentence": sentence,
"type": "default"
}
r = requests.post(base_url + "v1/parse",
headers=headers,
data=json.dumps(data))
return r.json()
def hira_to_kata(strj):
return "".join([chr(ord(ch) + 96) if ("ぁ" <= ch <= "ん") else ch for ch in strj])
if __name__ == "__main__":
document = "我は劉備の夢を叶えたい"
args = sys.argv
if len(args) >= 2:
document = str(args[1])
access_token = auth(CLIENT_ID, CLIENT_SECRET)
parse_document = parse(document, access_token)
result_list = list()
for chunks in parse_document['result']:
for token in chunks["tokens"]:
if token["pos"] != "格助詞" and token["pos"] != "連用助詞" and token["pos"] != "引用助詞" and token["pos"] != "終助詞":
result_list.append(hira_to_kata(token["form"]))
print('……'.join(result_list))