zkunがいろんなことを横書きするブログのようですw(含み笑)
まったくわからないだろうから、ちょっとだけ解説しておこうかw
とりあえず、しぼって、以下の単語を登録したとするyo
1=独立語グループ
マイフレンド、サムバディ、ビリーブミー、をお、ああ
2=接続語グループ
(なし)
3=連体修飾語グループ
きみがいない、まなつの、さいごの、あのひの
4=一般名詞グループ
メロディ、きもち、こい、おもいで、はまべ、かがやき
5=人称代名詞グループ
ぼく、きみ、あなた、わたし、ふたり
6=格助詞類グループ
_(省略)、が、を、に、へ、と、は、の
7=連用修飾語グループ
いつも、そっと、わけもなく、ふたりきりで
8=自動詞的用言グループ
うごきだす、恋じゃない、どこへいってしまったの、今きづいたの、ウソじゃないわ、みつからないの
9=他動詞的用言グループ
しんじている、かんじている、わすれない、おもっていた、話してくれた、つたえたいよ
10=終助詞類グループ
。のさ。のよ。だけじゃだめさ。よね。わけじゃないけど。ときかもしれない。
今回zkunがつくる配列変数はwords[g][n][k]という形式をとるyo gがグループ番号、nがランダムに選んだ単語番号、kがその単語のパラメータになるyo
k=0 登録単語がはいるyo (例)’ぼく’ ’あなた’
k=1 登録単語の文字数がはいるyo (例)2 3
k=2 この単語の接続先グループの集合がはいるyo
どういうことかと言うと、’ぼく’の場合は、必ず6=格助詞類グループに接続させて、
ぼく、ぼくが、ぼくを、ぼくに、ぼくへ、ぼくと、ぼくは、ぼくの
という形を形成するということだyo その先の接続は当然それぞれ変化するけど、それはまたそのwords[6][n][2]で接続先を指定して、うまくつないでいくというわけだyo
なので、ここではこうなるyo (例) 6 6
複数の接続グループがありうる場合は (例) '6.7' '6.6.6.8.10'
のようにピリオド区切りで列挙し、多く書けばそれだけそのグループがランダムで選ばれる確率が高まるyo
基本的にこういう動作原理で語彙をつないでいってテキストをのばしていくyo
非常に単純なエンジンなんだけど、ミソは接続先を各単語ごとに細かく指定することができるので、文を終わらせたい単語、まだ続けたい単語など、ニュアンスごとに調整できるという強みがあるところだyo まあ、それを全部記述しなくちゃいけないところはめんどくさいし、それなりの知識とセンスが必要だけどne(含み笑) 特定の結びの語を要求する単語(例として、決して→ない、たとえ→でも、等)にもうまく対応できないので、なるべくそういう単語は除外しておくか、丸ごと長いフレーズで登録してしまうかのどちらかで対応することになるyo(苦笑) まあ、そこまで厳密な作文プログラムではないので、とりあえずこれで動かしてみるというわけだyo 次回は、そのサンプルプログラムをうpし、それで作ったサンプル歌詞も紹介しようじゃなイカ 着々と進捗中だyo(さすが過ぎる笑)
とりあえず、しぼって、以下の単語を登録したとするyo
1=独立語グループ
マイフレンド、サムバディ、ビリーブミー、をお、ああ
2=接続語グループ
(なし)
3=連体修飾語グループ
きみがいない、まなつの、さいごの、あのひの
4=一般名詞グループ
メロディ、きもち、こい、おもいで、はまべ、かがやき
5=人称代名詞グループ
ぼく、きみ、あなた、わたし、ふたり
6=格助詞類グループ
_(省略)、が、を、に、へ、と、は、の
7=連用修飾語グループ
いつも、そっと、わけもなく、ふたりきりで
8=自動詞的用言グループ
うごきだす、恋じゃない、どこへいってしまったの、今きづいたの、ウソじゃないわ、みつからないの
9=他動詞的用言グループ
しんじている、かんじている、わすれない、おもっていた、話してくれた、つたえたいよ
10=終助詞類グループ
。のさ。のよ。だけじゃだめさ。よね。わけじゃないけど。ときかもしれない。
今回zkunがつくる配列変数はwords[g][n][k]という形式をとるyo gがグループ番号、nがランダムに選んだ単語番号、kがその単語のパラメータになるyo
k=0 登録単語がはいるyo (例)’ぼく’ ’あなた’
k=1 登録単語の文字数がはいるyo (例)2 3
k=2 この単語の接続先グループの集合がはいるyo
どういうことかと言うと、’ぼく’の場合は、必ず6=格助詞類グループに接続させて、
ぼく、ぼくが、ぼくを、ぼくに、ぼくへ、ぼくと、ぼくは、ぼくの
という形を形成するということだyo その先の接続は当然それぞれ変化するけど、それはまたそのwords[6][n][2]で接続先を指定して、うまくつないでいくというわけだyo
なので、ここではこうなるyo (例) 6 6
複数の接続グループがありうる場合は (例) '6.7' '6.6.6.8.10'
のようにピリオド区切りで列挙し、多く書けばそれだけそのグループがランダムで選ばれる確率が高まるyo
基本的にこういう動作原理で語彙をつないでいってテキストをのばしていくyo
非常に単純なエンジンなんだけど、ミソは接続先を各単語ごとに細かく指定することができるので、文を終わらせたい単語、まだ続けたい単語など、ニュアンスごとに調整できるという強みがあるところだyo まあ、それを全部記述しなくちゃいけないところはめんどくさいし、それなりの知識とセンスが必要だけどne(含み笑) 特定の結びの語を要求する単語(例として、決して→ない、たとえ→でも、等)にもうまく対応できないので、なるべくそういう単語は除外しておくか、丸ごと長いフレーズで登録してしまうかのどちらかで対応することになるyo(苦笑) まあ、そこまで厳密な作文プログラムではないので、とりあえずこれで動かしてみるというわけだyo 次回は、そのサンプルプログラムをうpし、それで作ったサンプル歌詞も紹介しようじゃなイカ 着々と進捗中だyo(さすが過ぎる笑)
PR