Skip to content

Releases: Taketo-Yoda/ja-complete

v0.1.0 - Initial Release

Choose a tag to compare

@Taketo-Yoda Taketo-Yoda released this 31 Dec 07:38

JaCompleter

複数の補完メソッドを提供するメインクラス。

コンストラクタ

  • JaCompleter(enable_ngram_fallback: bool = True)
    • オプションのN-gramフォールバック付きで補完器を初期化
    • enable_ngram_fallback=Trueの場合、フレーズおよび単純辞書メソッドはマッチが見つからない場合に自動的にN-gram補完を使用

メソッド

フレーズベース補完:

  • add_phrases(phrases: List[str]) -> None

    • フレーズベース補完用のフレーズを追加
    • 形態素解析を使用して自動的にプレフィックスを生成
  • suggest_from_phrases(input_text: str, top_k: int = 10, fallback_to_ngram: bool | None = None, extend_particles: bool = True) -> List[Dict[str, Any]]

    • 追加されたフレーズから補完を取得
    • マッチがなくfallback_to_ngram=True(またはインスタンスデフォルト)の場合、N-gram補完を返す
    • スコア付きのランク付けされた結果を返す

N-gram補完:

  • suggest_from_ngram(input_text: str, top_k: int = 10, extend_particles: bool = True) -> List[Dict[str, Any]]

    • N-gramモデルを使用して補完を取得
    • デフォルトモデルまたはロードされたカスタムモデルを使用
    • extend_particles=Trueの場合、助詞で終わる候補に次の語を自動追加
  • load_ngram_model(model_path: str) -> None

    • ファイルからカスタムN-gramモデルを読み込む

単純辞書補完:

  • add_simple_suggestions(suggestions: Dict[str, List[str]] | SimpleSuggestions) -> None

    • プレフィックスから候補へのマッピングを追加
    • 辞書形式またはSimpleSuggestions値オブジェクトを受け入れ
  • suggest_from_simple(input_text: str, top_k: int = 10, fallback_to_ngram: bool | None = None, extend_particles: bool = True) -> List[Dict[str, Any]]

    • 単純辞書から補完を取得
    • マッチがなくfallback_to_ngram=True(またはインスタンスデフォルト)の場合、N-gram補完を返す
    • 直接プレフィックスマッチング

データ変換メソッド:

  • phrases_to_simple_suggestions(phrases: List[str], min_prefix_length: int = 1, max_prefix_length: int = 10) -> SimpleSuggestions (静的メソッド)

    • フレーズから文字ベースのプレフィックスマッピングを生成
    • 各フレーズから1文字〜max_prefix_length文字までのプレフィックスを抽出
    • SimpleSuggestions値オブジェクトを返す
  • phrases_to_ngram_data(phrases: List[str]) -> NgramData (静的メソッド)

    • フレーズをN-gramデータに変換(形態素情報含む)
    • unigram/bigram/trigramのカウントと形態素情報を抽出
    • NgramData値オブジェクトを返す

Full Changelog: https://github.com/Taketo-Yoda/ja-complete/commits/v0.1.0