Python
自然言語処理
NLP
ネタ
COTOHA

オレ プログラム ウゴカス オマエ ゲンシジン ナル


ガイヨウ

オレ オマエ ゲンシジンスル プログラム カイタ

ゲンシジン ジョシ ツカワナイ

ゲンゴショリ スル ジョシ ケス

ゲンシジン カンジ ヒラガナ シラナイ

ゼンブ カタカナ スル


サンプル

$ python3 genshijin.py "大いなる力には大いなる責任が伴う"

オオイナル チカラ オオイナル セキニン トモナ ウ


カンキョウ

マック

パイソン

コトハ アピ


ジッソウ

オレ コウブン カイセキ スル

ジョシ ケス カタカナ スル

オマエ ゲンシジン ナル

トモダチ


コード

オマエ ココ クリック テンカイ スル


genshijin.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()

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))