ガイヨウ
オレ オマエ ゲンシジンスル プログラム カイタ
ゲンシジン ジョシ ツカワナイ
ゲンゴショリ スル ジョシ ケス
ゲンシジン カンジ ヒラガナ シラナイ
ゼンブ カタカナ スル
サンプル
$ 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))