Migdal

フクロウナギ
フクロウナギ

Posted on

言語変化をシミュレートする Ver. 0

こんにちは、フクロウナギです。
言語変化をシミュレートするソフト
をアップデートしました。(機能要件がだいたい決まったので、実装が完了するまで バージョンは 0 にします。)

うなぎエディタ(仮称) Ver. 0.1

1 機能概要

Unagi Conlang Editor(うなぎエディタ)は

共時的(特定の時間における複数言語の記述)かつ通時的(時間変化に沿った言語の変化の記述)な人工言語のための辞書編集ソフト

を目指してフクロウナギ(twitter : @apupuna1)が制作しているソフトです。

2 機能詳細

※現在、多くの機能が (実装中) です。

うなぎエディタには以下の3つのモードがあります。

  1. シミュレーションモード
    • 言語変化と拡散をシミュレートして語族を生成します。
    • シミュレート完了後はシミュレーション結果を開いたまま通時的編集モードに移行します。
  2. 通時的編集モード (実装中)
    • 各世代での言語変化、言語どうしの相互作用を編集するモードにするつもりです。
  3. 共時的編集モード (実装中)
    • 個別地域、時代を選択して、個別言語の単語を追加したり単語情報を詳細に編集したりするモードにするつもりです。

シミュレート結果、編集結果は2通りの方法でファイル出力することができます。 (実装中)

  • 個別言語の状態を OTM-JSON 形式で保存できるようにし、ZpDIC にアップロードできるようにするつもりです。
  • 祖語からの言語変化や借用の記録を .ulang 形式に保存できるようにし、再度同ファイルを開いたときに同じ編集状態からソフトを始められるようにします。

3 インストール方法

※機能が完成し次第、インストーラを作成する予定です。

4 プロジェクトビルド方法

  1. github からリポジトリをクローン
  2. MSYS2 をインストール(msys2.org
  3. MSYS2 で c++ コンパイラ/CMake/Ninja をインストール

    pacman -S mingw-w64-ucrt-x86_64-gcc \
          mingw-w64-ucrt-x86_64-cmake \
          mingw-w64-ucrt-x86_64-ninja \
          mingw-w64-ucrt-x86_64-gdb
    
  4. ignore,build フォルダを作っておく

  5. CMake を用いてビルド

    cmake -S . -B build
    cmake --build build
    
  6. buildフォルダ下の a.out.exe を実行

5 使用方法

  1. シミュレーションモード
    このモードではパラメータを設定してシミュレートを実行します。
    実行結果が OUTPUT PATH、実行ログが OUTPUT PATH.log に出力されます。
    パラメータは以下の通りです。

    パラメータ名 概要
    N LOANWORD 1世代経過するごとに借用または言語の拡散が起こる回数
    P PHONOLOGICAL CHANGE 1世代経過したときにある言語で音韻変化が起こる確率
    P PHONOLOGICAL LOSS 音韻変化が起こったときに音素が脱落する確率
    P SEMANTIC SHIFT 1世代経過したときに単語が意味変化を起こす確率
    MAX SEMANTIC SHIFT RATE 意味変化が起こったときの意味変化の度合い
    P OBSOLETE WORD 1世代経過したときに単語が消失する確率
    P COMPOUND 1世代経過したときに複合語が生成される確率
    PROTO LANGUAGE PATH 祖語を記述した.csvファイル
    単語はすべて1行目に記述する。
    PHONEME TABLE PATH 音素表を記述した.csvファイル
    調音部位、調音方法が同じ音素はそれぞれ同じ行、列に記述する。
    GEOMETRY PATH 地理情報を記述した.csvファイル
    縦横に隣接したセルは隣り合った地域として借用時に参照される。
    OUTPUT PATH シミュレート結果を出力する.csvファイル名
  2. 通時的編集モード
    このモードは (実装中) です。

  3. 共時的編集モード
    このモードは (実装中) です。

Oldest comments (0)