dev の変更を master へ反映(西武バス対応・IPA生成改善・列車種別/経路の重複排除)#1547
Conversation
* Add Seibu Bus GTFS support * Gate experimental bus GTFS feeds * fix: apply CodeRabbit auto-fixes Fixed 1 file(s) based on 1 unresolved review comment. Co-authored-by: CodeRabbit <noreply@coderabbit.ai> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
* IPA生成をAzure TTS向けに修正(ジ表記をdʑに統一・路線name_ipaを日本語読みに) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * compute_line_ipa_cachedのドキュメントコメントを実装に合わせて修正 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
中黒「・」や全角括弧「()」を含む路線名で katakana_to_ipa が 文字列全体に対して None を返し、name_ipa が null・name_tts_segments が空になっていた。これらを語の区切り(空白)として扱い、区切り文字 由来の余分な空白を正規化するよう修正。 Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
jpreprocess(naist-jdic同梱)でアクセント核を推定し、ja-JPの読み(name_ipa およびカタカナ由来のja-JP name_tts_segments)の核モーラ直前にIPA下げ核 マーカー ˈ を挿入する。漢字推定→カナ推定→補正辞書のハイブリッド。尾高・ 平板は孤立読みで区別できないため語末核は付与せず、1名称につき主たる語中核 1つのみを採用する。en-USセグメントとname_roman_ipaは不変。 Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
jpreprocessのnaist-jdic辞書(約77MB)がinclude_bytes!でバイナリに埋め込まれ、 release既定のcodegen-units=16では大容量定数を含むモジュールと他ユニットが並列 展開されピークメモリが急増する。メモリ制約のあるself-hostedデプロイランナーで OOMするため、Dockerビルド時のみcodegen-units=1にして並列度を落とす。 Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* name_ipaの語末撥音ɴをnに統一しAzureで「ん」が鳴るよう修正 (#1536) Azure ja-JP の <phoneme alphabet="ipa"> が口蓋垂鼻音 ɴ を音節化せず、 「〜線」(…seɴ) 末尾の「ん」が脱落していた。語末・母音前の ɴ を n に統一する。 子音前の m / ŋ / n 同化とアクセント核付与は不変。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * 母音/半母音前・口蓋ɲ・軟口蓋ŋの撥音もnに統一 (#1536) 西武新宿線の「新」(ɲ) や新幹線系の「新」(ŋ) も非ASCII鼻音で Azureが脱落させるため、両唇音前のm以外はすべてnに統一。 母音・半母音(ヤ行j/ワ行w)が続く撥音は音節境界.を挿入し、 新江古田(しん.えごた)・新横浜(しん.よこはま)が「な行」に 融合しないようにする。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
おう/おお/えい等のかな長音をto.ɯ→toːのように長音記号ːへ統一し、 Azure ja-JPで自然に読まれるようにする。マクロン由来のオウ/オオ揺れ (Ōsaka→o.ɯsaka)もoːsakaへ収束する。あわせて語頭(区切り直後)の ら行ɾをl化(ロッポンギ→loppongi)。語中のɾは弾き音のまま維持。 Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
停車駅シグネチャのみで重複判定していたため、特急と普通など停車駅が同一でも 種別の異なる列車種別が一方に統合されていた。重複判定キーに kind を加え、 (kind, 停車駅シグネチャ) が両方一致する場合のみ排除するようにした。 Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
get_train_types の重複排除が (kind, 停車駅シグネチャ) をキーにする設計と、 新幹線が現状は特急と同じ kind=4 を使っている点を 4!types.csv の節に追記。 Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* station_station_types で停車駅・pass・type_cd が全駅一致する重複経路を削除 line_group_cd を経路の単位とし、各駅の (station_cd, pass, type_cd) パターンが完全一致する経路を重複とみなして最初の1経路のみ残した。 type_cd が混在する直通経路も type_cd パターンの一致を確認している。 - line_group_cd=415 を 77 に統合(羽田⇔成田 直通、逆順で一致) - line_group_cd=701 を 528 に統合(可部線、全駅停車) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * station_station_types の line_group_cd を出現順で 1..1168 に振り直し 欠番で断片化していた line_group_cd を、ファイル出現順に 連番へ再割当して欠番を解消した。値の変更のみで行や他列は不変。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* IPA生成から下げ核(ピッチアクセント)付与機能を削除 name_ipa / name_tts_segments の ja-JP 読みに付与していた下げ核マーカー ˈ を廃止し、 カタカナ読みをそのまま IPA 化する素の発音に戻す。これに伴い不要になった以下を削除: - アクセント推定 (accented_katakana_ipa / pitch_accent_nuclei / analyze_accent / accent_override) と JPREPROCESS ローダ・ACCENT_NUCLEUS_MARKER - 下げ核挿入のためだけに導入していたモーラタグ機構 (phonemes_to_tagged_chars / insert_syllable_breaks_tagged) を素の文字列処理に簡素化 - アクセント推定の入力でしかなかった name_kanji 引数とキャッシュキーの漢字要素 - OpenJTalk フロントエンド jpreprocess 依存 (naist-jdic 辞書約77MB) を削除し、 辞書埋め込みによる OOM 回避用 codegen-units=1 (Dockerfile) も撤去 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013q62ExxS7dqvyhyJhx1uP5 * clippy(chars_last_cmp)修正: String の長音判定を ends_with に変更 phonemes_to_raw_ipa の長音重複チェックを output.chars().last() == Some('ː') から output.ends_with('ː') に修正し、cargo clippy -- -D warnings を通す。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013q62ExxS7dqvyhyJhx1uP5 * 長音記号ːの直後の母音境界を維持 (CodeRabbitレビュー対応) insert_syllable_breaks で、カタカナ「ー」由来の長音記号 ː の直後に別母音が 続く場合に音節境界 `.` が落ちていた (例: エーアイ → eːa.i)。ː を通すときに 直前母音の状態を保持するよう修正し、おう/えい 等の正書法長音と挙動を揃える (エーアイ → eː.a.i)。二重長音化を防ぐ prev_vowel_lengthened を併せて導入。 回帰テストを追加。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013q62ExxS7dqvyhyJhx1uP5 --------- Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
🚉 停車駅の変更10 件の新しい停車パターン | 1 件の変更された停車パターン | 9 件の削除された停車パターン
🆕 こだま (Kodama) - 山陽新幹線type_cd=3, line_group_cd=970 変更内容: 19 駅追加 全駅リスト (19駅)
🗑️ こだま (Kodama) - 山陽新幹線type_cd=3, line_group_cd=1025 変更内容: 19 駅削除 🆕 はやぶさ (Hayabusa) - 東北新幹線type_cd=7, line_group_cd=1021 変更内容: 18 駅追加 全駅リスト (18駅)
🗑️ はやぶさ (Hayabusa) - 東北新幹線type_cd=7, line_group_cd=1076 変更内容: 18 駅削除 🆕 たにがわ (Tanigawa) - 上越新幹線 / 上越新幹線(ガーラ湯沢支線)type_cd=14, line_group_cd=971 変更内容: 10 駅追加 全駅リスト (10駅)
🗑️ たにがわ (Tanigawa) - 上越新幹線 / 上越新幹線(ガーラ湯沢支線)type_cd=14, line_group_cd=1026 変更内容: 10 駅削除 🆕 かもめ (KAMOME) - 西九州新幹線type_cd=19, line_group_cd=366 変更内容: 5 駅追加 全駅リスト (5駅)
🗑️ かもめ (KAMOME) - 西九州新幹線type_cd=19, line_group_cd=378 変更内容: 5 駅削除 🆕 普通 (Local) - 外房線type_cd=100, line_group_cd=43 変更内容: 27 駅追加 全駅リスト (27駅)
🗑️ 普通 (Local) - 外房線type_cd=100, line_group_cd=45 変更内容: 27 駅削除 🆕 普通 (Local) - 東京メトロ丸ノ内線type_cd=100, line_group_cd=90 変更内容: 25 駅追加 全駅リスト (25駅)
🆕 普通 (Local) - 東武伊勢崎線type_cd=100, line_group_cd=93 変更内容: 39 駅追加 全駅リスト (39駅)
✏️ 普通 (Local) - 東武伊勢崎線type_cd=100, line_group_cd=94 変更内容: 16 駅追加 | 25 駅削除 全駅リスト (16駅)
🗑️ 普通 (Local) - 東武伊勢崎線type_cd=100, line_group_cd=99 変更内容: 39 駅削除 🗑️ 普通 (Local) - 東武伊勢崎線type_cd=100, line_group_cd=100 変更内容: 16 駅削除 🆕 普通 (Local) - 中央本線 / 篠ノ井線 / 信越本線type_cd=100, line_group_cd=118 変更内容: 69 駅追加 全駅リスト (69駅)
🆕 普通 (Local) - 総武本線type_cd=100, line_group_cd=120 変更内容: 22 駅追加 全駅リスト (22駅)
🆕 普通 (Local) - 東北本線type_cd=100, line_group_cd=121 変更内容: 64 駅追加 全駅リスト (64駅)
🗑️ 普通 (Local) - 中央本線 / 篠ノ井線 / 信越本線type_cd=100, line_group_cd=125 変更内容: 69 駅削除 🗑️ 普通 (Local) - 総武本線type_cd=100, line_group_cd=127 変更内容: 22 駅削除 |
概要
dev ブランチに蓄積された変更を master へ反映するリリース統合 PR です。西武バス(Seibu Bus)の GTFS 対応追加、Azure TTS 向け IPA 生成の改善、列車種別・経路の重複排除ロジック修正などを含みます。
変更の種類
変更内容
name_ipa/name_tts_segments)を Azure TTS 向けに改善dʑ統一・路線name_ipaを日本語読みに (IPA生成をAzure TTS向けに修正(ジ表記をdʑに統一・路線name_ipaを日本語読みに) #1532)ɴが読まれない不具合、路線名 IPA が null/空になる不具合を修正 (TTS用IPA生成の不具合修正(null/空) #1533, name_ipaの語末撥音ɴをAzureが読まない不具合を修正 #1538)ːに統一、語頭ら行の扱いを調整 (name_tts_segments・name_ipaの長音をːに統一し語頭ら行をlに修正 #1539, IPA生成で語頭ら行の不自然な l 置換をやめ素直な ɾ に修正 #1545)lに置換 (英語音声でら行が t 化するため英語読みIPAのら行を l に置換 #1546)get_train_typesの重複排除を修正(停車駅が同一の種別を重複排除しつつ、kind が異なる種別は排除しない) (get_train_types で停車駅が同一の列車種別を重複排除 #1540, get_train_types の重複排除で kind が異なる列車種別を排除しないよう修正 #1541)station_station_typesの重複経路を削除しline_group_cdを振り直し (station_station_types の重複経路を削除し line_group_cd を振り直し #1544)data/README.mdの kind 取り扱い・新幹線 kind=4、AGENTS.md、docs/architecture.md) (data/README.md に重複排除での kind の扱いと新幹線の kind=4 を追記 #1542)テスト
cargo fmt --all -- --checkが通ることcargo clippy -- -D warningsが通ることcargo test(SQLX_OFFLINE=true)が通ること各変更は個別 PR で CI を通過済みのものを dev に統合したものです。
関連Issue
スクリーンショット(任意)