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