はるすえすしーのぶろぐ

ブログのないようがないよう

にゃーんでにゃーんを適用するにゃーんを作る(COTOHA APIで社会性フィルターを適用するプログラムを作る)

にゃーん (まえがき)

こんにちは。まぁじです。
みなさんは「社会性フィルター」、使ってますか?
そう、”にゃーん”のやつです。アレをプログラムで作ろうと思って作ったので載せておきます。
GitHubGitHub - HalsSC/social_filter: 社会性フィルターを適用します


目次です。

にゃーん (社会性フィルターについて)

社会性フィルターが使われる時ってどんな時でしょう。僕が考えるのは

  • 個人情報などの公的な場で呟くべきではない単語が含まれている
  • ネガティブな表現・暴言が含まれている

だと思います。

なので今回、COTOHA APIPythonをつかって

  1. 固有表現を抽出し「その他」と判断された部分以外を"にゃーん"に置き換える
  2. 感情分析によりNegativeと判断した部分を"にゃーん"に置き換える
  3. 結果を出力

という手順で社会性フィルターを実装しようと思います。
f:id:halss:20200330160905p:plain

にゃーん (COTOHA APIについて)

COTOHA APIとは、NTTが提供しているAPIで、"for Developers"であれば1日1000コール・API種類の制限はありますが無料で使用できます。

構文解析、照応解析、キーワード抽出、音声認識、要約など、様々な自然言語処理・音声処理APIを提供しているサービスです。NTTグループの40年にわたる研究成果である、日本語辞書や単語を3000種以上の意味性分類する技術などを活用し、高度な解析をAPIで手軽に利用できます。
【Qiita x COTOHA APIプレゼント企画】COTOHA APIで、テキスト解析をしてみよう!(※開催終了いたしました) - Qiita Zine

公式サイトはこちら→https://api.ce-cotoha.com/contents/index.html

にゃーん (実装)

にゃーん (COTOHA APIに登録)

for Developers無料登録 | COTOHA APIからメールアドレスや名前などを登録します。結構入力することあります。
完了したらマイページから"Developer Client id”と"Developer Client secret"をメモしておきましょう。

にゃーん (Pythonのインストール)

省略。僕の動作環境はWindows 10、Python 3.7.1です。

にゃーん (コードを書く)

コードは長いのでGitHub(GitHub - HalsSC/social_filter: 社会性フィルターを適用します)を見てください。

  • COTOHA_API.py ・・・ APIを操作するライブラリ(?)です。他のAPIでも使えると思います。
  • social_filter.py ・・・ 文章を入力すると社会性フィルターを適用して返すプログラムです。

にゃーん (結果)

一つ目。
教員に対する不満をツイートすると特定される可能性もありますが…そんな時、社会性フィルターなら!

input>負杭高専の非紀野教員は学生に対して過大な負荷を強いている。

output>にゃーんのにゃーんはにゃーんに対して過大な負荷を強いている。


二つ目。
旅行中に所在地をツイートすると特定の危険性がありますがツイートはしたいですよね…そんな時、社会性フィルターなら!

input>私は今、沖縄旅行で沖縄リゾートのスーパースイートルームに泊まっています❤

output>私は今、にゃーん旅行でにゃーんリゾートのスーパーにゃーんに泊まっています❤


三つ目。
どうやら直接的な暴言はネガティブな表現と判断されないらしく、残ってしまいました。

input>友達と喧嘩した。僕も悪いとは思うけど、「バカ」「アホ」って感情的なことばっかり言って自分の非を認めようとしないなんて。

output>友達と喧嘩した。僕もにゃーんとは思うけど、「バカ」「アホ」って感情的なことばっかり言って自分の非を認めようとしないなんて。

にゃーん(おわりに)

社会性フィルターなのに暴言が言えないなんて社会性フィルターじゃない気もしますが、その辺は手動でやるしかないかなと思います。


「言いたいことも言えないこんな世の中じゃ にゃーん
俺は社会性フィルターをつけて生きていく oh oh」
にゃーん / 反町隆史