今流行のAIではない俳句ジェネレーター。「俳人さん」のアルゴリズムの全貌
https://haijinsan.dokechin.com/
適当なアルゴリズムの全貌を紹介。
上五
現在月から適当に季語のリストの中からランダムに選ぶ。
function getKami(){ var date = new Date(); var month = date.getMonth(); var kamis = []; if (month == 0 ) { kamis.push("新年の", "寒月の"); } else if ( month == 1) { kamis.push("梅が香に", "寒明し"); } else if ( month == 2) { kamis.push("暖かき", "啓蟄の"); } else if ( month == 3) { kamis.push("清明の", "春眠の"); } else if ( month == 4) { kamis.push("薫風の", "夏めくや"); } else if ( month == 5) { kamis.push("夏至の日に", "六月の"); } else if ( month == 6) { kamis.push("七月の", "梅雨明けや"); } else if ( month == 7) { kamis.push("八月の", "真夏日の"); } else if ( month == 8) { kamis.push("長月の", "夏彼岸"); } else if ( month == 9) { kamis.push("十月の", "秋の日の"); } else if ( month == 10) { kamis.push("霜月の", "落ち葉降る"); } else if ( month == 11) { kamis.push("数え日の", "十二月"); } index = Math.floor(Math.random() * 2) return kamis[index]; }
中七
Azure Vision APIに画像を投げて、画像を要約した日本語を取得。Yahoo 形態素APIに投げて、
形容詞+名詞の部分を抽出して中7とする。形容詞だったら1、名詞だったら7とマッピングしておいて正規表現17でサーチをかけるようにした。
「白い新聞」のように7文字なら、そのまま。
「白い水菜」のように6文字なら、「よ」を後ろに足して、「白い水菜よ」にして7文字とする。
「白いシャツ」のように5文字なら、「その」を前に足して、「その白いシャツ」にして7文字とする。
「白い酢」のように4文字なら、「その」を前に足して、「や」を後ろに足して、「その白い酢や」にして7文字とする。
形容詞+名詞がなかったら、「今日思い入る」と入れる。
形容詞+名詞が複数あったら、ランダムで選択する。