/ojosama

テキストを壱百満天原サロメお嬢様風の口調に変換します

Primary LanguageGo

ojosama

test codecov

テキストを壱百満天原サロメお嬢様風の口調に変換して出力します。

demo

1. 概要

任意のテキストを壱百満天原サロメお嬢様風の口調風に変換する非公式プログラムです。 コマンドラインとライブラリの2つの方法で使えます。

壱百満天原サロメお嬢様風の口調変換の例を以下に示します。

変換前 変換後

〇〇をプレイする

〇〇をプレイいたしますわ

ビデオテープはどこで使うんですか

おビデオテープはどちらで使うんですの

汚いです!

きったねぇですわ~~!!!

わたしも使ってました

わたくしも使っておりましたわ

文の区切れ目や、文の終端で「わ!」あるいは「わ?」で終わる場合は、 ランダムで波線伸ばしとビックリマークを追加します。 波線の数とビックリマークの数は0~3個のいずれかになります。

変換前 変換後

ハーブです!

おハーブですわ~~!!!

ハーブです?

おハーブですわ~~???

変換では、単語の品詞や読み、特定の単語の前後にある単語、 特定の単語の連続などの変換ルールを順番に評価して変換しています。

文章に対して形態素解析を行っており、 形態素解析ライブラリの kagome を使用しています。

2. 壱百満天原サロメお嬢様について

以下を参照してください。

3. 使い方

3.1. Web

Web版提供してます。特にツールのインストールは不要です。

Web版のソースコードは以下です。

3.2. コマンド

ワンライナーでテキストを変換する場合は、以下のように実行します。

$ ojosama -t ハーブがありました!
おハーブがありましたわ~!!

# 標準入力
$ echo ハーブがありました! | ojosama
おハーブがありましたわ~!!

テキストファイルをまるごと変換する場合は、以下のように実行します。

$ ojosama README.adoc

ファイルの文字コードを指定する場合は -charcode オプションを指定します。 現状 sjisutf8 のみサポートしています。(デフォルトでは utf8

$ ojosama -charcode sjis testdata/sample1_sjis.txt

3.3. ライブラリ

Goのコードとして使う場合は以下のように使用します。

package main

import (
  "fmt"

  "github.com/jiro4989/ojosama"
)

func main() {
  s := "ハーブがありました!"
  text, err := ojosama.Convert(s, nil)
  if err != nil {
    panic(err)
  }
  fmt.Println(text)
}

4. インストール

Releasesから実行可能ファイルをダウンロードしてください。

あるいは以下のコマンドでインストールしてください。

$ go install github.com/jiro4989/ojosama/cmd/ojosama@latest

5. 注意事項

5.1. 変換結果について

まだまだ実装途中なので、怪しい変換をする場合があります。

必ずしも、自分のイメージしているお嬢様の口調になっているとは限らないことをご了承ください。

5.2. プログラムの使用について

壱百満天原サロメお嬢様、及びその所属の にじさんじ や、 その関係者、ファンコミュニティの方の迷惑にならないように使ってください。

本プログラムは、にじさんじ所属の壱百満天原サロメお嬢様のキャラクターを題材にした二次創作の一つです。 故に、本プログラムは以下二次創作ガイドラインに従います。

本プログラムを使う場合も上記ガイドラインを守ってお使いください。

6. 既知のバグ

変換済みの文を更に変換すると変になります。

$ ojosama -t お願いします | ojosama
お願いいたしますわですわ

7. 開発者向け

7.1. 開発環境

  • Go 1.18.2

  • Ubuntu 22.04 on Docker

  • make (なくてもいい)

7.2. ビルド

以下のコマンドでビルドします。 実行すると内部で単体テストも実施されるので、とりあえずこれがパスすればOK。

$ make
$ ls -lah ./bin/ojosama

7.3. リリース

git tag打ったらCIが走って自動でリリースする。