Skip to content

IPA辞書+sci.lang.japan変換テーブルによる 英単語→カタカナ 実装

Notifications You must be signed in to change notification settings

toretate/SimpleIpaToKanaSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleIpaToKanaSharp

IPA(国際音声記号)を日本語のカタカナ表記に変換するための .NET ライブラリおよび CLI ツールです。

概要

このプロジェクトは、英語の IPA 表記をルールベースのアルゴリズムによって適切な日本語カタカナに変換することを目的としています。 単なる文字置換ではなく、日本語の音韻規則に配慮した変換を目指しています。

結論としては、このままルールベースで実装するよりも、HMMやG2P, ONNX(LLM) を使った方が良いと考えています。
ANTLRを用いたルールベースへの再実装も考えましたが、確率論によるHMMやG2Pの方が確率的に正確な結果を出せると考えています。

sci.ang.japan の English to katakana converterのサイトにある変換器はどうなってるんでしょうね・・・?

当初はカタカナのIPAはある程度決まっているし何とかなるでしょと思ってましたが、英語発音ってそもそもカタカナ発音とは全然違うってのを忘れてました(トマトとか)

今後(この方向性だと)

IPA通さずに CMUから変換? 参考: https://a244.hateblo.jp/entry/2016/08/25/063000

英単語をローマ字読み → IPA/CM → カタカナ?

現状の変換結果

特徴

  • ルールベース変換: 英語の発音特性を考慮した変換ロジック。
  • .NET 8 対応: モダンな .NET 環境で動作。
  • CLI ツール: コマンドラインから即座に変換をテスト可能。
  • 拡張性: 独自の変換ルールを追加可能なアーキテクチャ。

クイックスタート

ビルド

dotnet build

CLI の使用例

SimpleIpaToKanaSharpCli プロジェクトを使用して、英単語を直接変換できます。

dotnet run --project SimpleIpaToKanaSharpCli "Apple"
# Result: アップル

品質指標 (Test Metrics)

プロジェクトの品質を維持するため、2つの異なるデータセットを用いて自動テストを実施しています。

1. 大規模辞書テスト (alkana)

bep-eng.dic から抽出された英単語を用いた大規模な変換テストです。

  • 総数: 1,000 語
  • 合格: 199 語
  • 合格率: 19.9%
  • 詳細: SimpleIpaToKanaSharp.AlkanaTests による検証結果を参照。詳細は docs/ALKANA_RESULTS.md を参照。

2. 基本単語テスト (Standard Loanwords)

一般的なカタカナ語(外来語)との一致を確認するテストです。

  • 総数: 103 語
  • 合格: 40 語
  • 合格率: 38.8%
  • 詳細: SimpleIpaToKanaSharp.xUnitTests(旧プロジェクト)による検証結果を参照。詳細は docs/KATAKANA_RESULTS.md を参照。

技術仕様・依存関係

利用ライブラリ

  • Qkmaxware.Phonetics: IPA のパースおよび音素解析に使用。
  • Antigravity: AIアシスタントとして利用

参考リファレンス

ライセンス

alkana.py が GPL v2 なので、このプロジェクトも GPL v2 今後も更新するなら一度 akana.py 由来のコード削除、Apache License 2.0 にする予定

About

IPA辞書+sci.lang.japan変換テーブルによる 英単語→カタカナ 実装

Resources

Stars

Watchers

Forks

Packages

No packages published