<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Migdal: あくまねこ</title>
    <description>The latest articles on Migdal by あくまねこ (@hangednyan).</description>
    <link>https://migdal.jp/hangednyan</link>
    <image>
      <url>https://migdal.jp/uploads/user/profile_image/455/c45faf80-5e98-4e28-9348-fd1b34f50fc8.jpeg</url>
      <title>Migdal: あくまねこ</title>
      <link>https://migdal.jp/hangednyan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://migdal.jp/feed/hangednyan"/>
    <language>en</language>
    <item>
      <title>Lojbanを処理できるLLMを作ろう(1)</title>
      <dc:creator>あくまねこ</dc:creator>
      <pubDate>Fri, 09 Oct 2026 09:42:30 +0000</pubDate>
      <link>https://migdal.jp/hangednyan/lojban-%E3%82%92%E5%87%A6%E7%90%86%E3%81%A7%E3%81%8D%E3%82%8B-llm-%E3%82%92%E4%BD%9C%E3%82%8D%E3%81%86-1-5clh</link>
      <guid>https://migdal.jp/hangednyan/lojban-%E3%82%92%E5%87%A6%E7%90%86%E3%81%A7%E3%81%8D%E3%82%8B-llm-%E3%82%92%E4%BD%9C%E3%82%8D%E3%81%86-1-5clh</guid>
      <description>&lt;h1&gt;ちょっとした導入&lt;/h1&gt;

&lt;p&gt;&lt;br&gt;
ドモ！あくまねこです。超お久しぶり。&lt;br&gt;
現在、ふと思い立ってLojbanを喋るLLM(大規模言語モデル、いわゆるChatGPTとかGeminiとかみたいなもの)を作成しようと画策しており、その開発の日誌としてこの記事シリーズをスタートしました。ぜひよろしくお願いいたします～。&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;注意書き&lt;/h2&gt;



&lt;ul&gt;
&lt;li&gt;この記事シリーズには、多くの(主にPythonで書かれた)コードや技術的な図が含まれます。コードとか技術周り自体に興味がない方は頑張ってスクロールしてその部分を飛ばしちゃってください。&lt;del&gt;Qii〇aでやれ？それはそう...&lt;/del&gt;
&lt;/li&gt;
&lt;li&gt;また、コードの作成にはClaude Sonnet 5.5を使用しています。AI生成物に関して苦手意識のある方はご容赦ください。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;機械学習に興味があまりないよ～って方も、言語学的な方面から楽しめるようにLojbanの説明も交えつつ頑張って記事を書くつもりですので、読んでいただけますと幸いです！&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;LojbanでLLM作るってどういうこと？&lt;/h1&gt;

&lt;p&gt;&lt;br&gt;
さて、早速本題ですが...皆さんは「こいつ、LLMを作るのになぜ多々ある言語の中からLojbanを&lt;del&gt;自力で喋れるわけでもないのに&lt;/del&gt;選んだのか？」という疑問をお持ちだと思います。&lt;br&gt;
その答えは...&lt;br&gt;
私「ウワ文脈わからないと読めない英文だ　許さない(憤怒)」&lt;br&gt;
私「それに比べてLojbanはいいよね、文法が厳格に決まってて。文章の意味あんまり読まなくても自動的に構造を決定できる言語そうそうないよ」&lt;br&gt;
私「...ん？自動的に構造を決定できる？それってつまり文脈理解のための機械学習の負担を減らせるから軽量なLLM作れるんじゃない！？」&lt;br&gt;
...ということで、「LojbanはLLMとの相性がいい」という仮説のもと、膨大な計算によって文脈判断している通常のLLMとは異なり、文章内の単語の繋がりを事前に処理してAIに渡すことで軽量なLLMを作ろう！と考えたのがキッカケとなっています。&lt;br&gt;
では、そのLojbanがどういう形式の言語なのか、少し解説したいと思います。&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;Lojbanってどういう言語？&lt;/h1&gt;

&lt;p&gt;&lt;br&gt;
Lojbanは、James Cooke Brownが創始者であるLoglanという人工言語を前身として、Logical Language Group(LLG)が開発を行っている人工言語です。柔軟な形式であいまいさのない文章が書けるため(マジですごい)、芸術分野にも理論的な分野にも応用できるという特徴を持っています。&lt;/p&gt;

&lt;p&gt;基本的には、Lojbanの文(正確には命題。&lt;strong&gt;bridi&lt;/strong&gt;と呼ぶ)は、「～である(名詞)」「～する(動詞)」「～しい(形容詞)」などの&lt;strong&gt;文章の中心&lt;/strong&gt;となる意味を持つ要素の&lt;strong&gt;selbri&lt;/strong&gt;と、そのselbriが&lt;strong&gt;関係を指し示す項目&lt;/strong&gt;である&lt;strong&gt;sumti&lt;/strong&gt;で構成されています。&lt;/p&gt;

&lt;p&gt;例えば、「私が市場に行く」という意味のbridiでは、以下の通り...&lt;strong&gt;mi(私)&lt;/strong&gt;と&lt;strong&gt;le zarci(市場)&lt;/strong&gt;という&lt;strong&gt;sumti&lt;/strong&gt;について、&lt;strong&gt;klama&lt;/strong&gt;という&lt;strong&gt;selbri&lt;/strong&gt;が「&lt;strong&gt;mi(私)&lt;/strong&gt;が&lt;strong&gt;le zarci(市場)&lt;/strong&gt;に行く」という関係を示しています。&lt;/p&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;文章&lt;/th&gt;
&lt;th&gt;mi&lt;/th&gt;
&lt;th&gt;klama&lt;/th&gt;
&lt;th&gt;le zarci&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;意味&lt;/td&gt;
&lt;td&gt;私&lt;/td&gt;
&lt;td&gt;～が～に行く&lt;/td&gt;
&lt;td&gt;市場&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;種類&lt;/td&gt;
&lt;td&gt;sumti&lt;/td&gt;
&lt;td&gt;selbri&lt;/td&gt;
&lt;td&gt;sumti&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
Lojbanが面白いのは、同じ単語をselbriにもsumtiにも使えるところです。例えば、先ほど出てきたzarciは、selbriとして使うと「～は市場である」の関係を表し、laをくっつけてla zarciというsumtiの形にすると「市場」という意味になります。&lt;br&gt;
そうです。この言語にコピュラ文とかいう概念はありません。&lt;em&gt;すごい&lt;/em&gt;&lt;br&gt;
では、どうやって「この単語がsumtiかselbriかどちらか」「どのsumtiがどのselbriに対応するのか」「このsumtiはselbriが指す関係のうち、どこに当てはまるのか」などを判別するのでしょうか？なんと、Lojbanにはかなり厳格な文法ルールがあるので、ある程度は文脈要らずで機械的に判別することができるのです！&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;LLM実装に向けてどういうことするの？&lt;/h1&gt;

&lt;h2&gt;Lojban文の構造を把握するツールを作る&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;
Lojban文の文章構造のうち、「この単語がsumtiかselbriかどちらか」「どのsumtiがどのselbriに対応するのか」については、なんと偉大なる先人の方々がLojban文を構造木にしてくれるcamxesという自動判別ツール(パーサと呼ぶらしいです)を公開されています。本家はJavaというプログラミング言語で作られているみたいですが、私はPythonという言語しか分からないので...偉大なる先人の方がcamxesをPythonで再現したcamxes-pyを使用させていただくことにしましょう。&lt;br&gt;
今回のプロジェクトでは、このcamxesを拡張して「このsumtiはselbriが指す関係のうち、どこに当てはまるのか」についても処理できるようにしたいと考えています。&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;LLMに文法の情報を渡したり、LLMが文法に則って出力できるようにする&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;
camxesの拡張がうまくいったら、LLMがその情報を活用できるような仕組みを作ろうと考えています。&lt;br&gt;
現在主流のLLMで使われているTransformerと呼ばれる仕組みは、読み込んだ文章を単語単位で分割し、単語それぞれに文章内での位置(何番目の単語か)の情報を追加した後(Positional Encodingと呼ぶ処理です)、機械学習の力で文脈を判断し(Attentionという仕組みを使います)、その文脈から次にくる確率が高そうな単語を予想して出力することで文章を生成しています。&lt;br&gt;
&lt;br&gt;
&lt;a href="https://migdal.jp/uploads/articles/j01ihmfeiogv0bkehq1v.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://migdal.jp/uploads/articles/j01ihmfeiogv0bkehq1v.PNG" alt="大まかなLLMの仕組み(Attention is all you needを元に作成)" width="1800" height="1302"&gt;&lt;/a&gt;&lt;/p&gt;
大まかなLLMの仕組み(Attention is all you needを元に作成)



&lt;p&gt;&lt;br&gt;
しかし、この仕組みそのままだったら、折角情報としてまとめたLojbanの文法構造を文章生成に応用することができません。なので、LLMが文章を読む部分と、LLMが文章を出力する部分にちょっとした工夫を加えようと思っています。&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;LLMが処理する単語に、位置だけじゃなくて文法の情報も埋め込む&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;
LLMが文章を読む部分の工夫として、単語それぞれに文章内での位置(何番目の単語か)の情報を追加する機構であるPositional Encodingを、文章内での位置の情報だけでなく、拡張したcamxesによって判定した文法構造の情報もねじ込めるように改造することにします。文法構造の情報をどうやって単語の情報に足せる形にするかについては未定ですが...まあ追々考えましょう。&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;表現の自由さを保ったまま文法的に正しい文だけを生成するようにする&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;
LLMが文章を出力するとき、どうしても「次に来そうな単語を予測する」という仕組みのままだと、文法のことを考えてるわけではないため間違った文を生成してしまうリスクがあります。&lt;br&gt;
なので、Lojbanの表現の自由さや文章の内容をLLMが自由に決められる仕組みを保ちつつ、正しい文法構造の文章を出力させるため、bridiごとに「selbriとsumtiの組み合わせ」⇒「その表現に付属させる装飾」の組み合わせをLLMに出力させ、その後機械学習ではないプログラムを使ってちゃんとしたbridiの形に整えるという方法を取ることにします。さらに、生成する単語の選択肢を、事前にその位置に置いても文法エラーにならない単語に絞ることで、LLMが変な位置にありえない単語を生成してしまう事故を防ぎます。&lt;br&gt;
出力の具体的な形式については一旦後回しするということで...。&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;まとめ、と後書き&lt;/h1&gt;



&lt;ul&gt;
&lt;li&gt;Lojban、すごく文法が厳格なので、文脈理解をある程度楽した軽量なLLMを作れるかも&lt;/li&gt;
&lt;li&gt;今後はcamex-pyをsumtiの役割まで判別できるように拡張する&lt;/li&gt;
&lt;li&gt;camex-pyを拡張できたら、LLMにうまいこと組み込む仕組みを作る&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;まだ構想段階のアイデアや解決すべき課題も山積みですが、ひとまずこの方針をロードマップとして開発を進めていこうと思っております。&lt;br&gt;
次回はcamex-pyの拡張に片足を突っ込む予定です。実際のPythonコードとかも使いながら解説していくので、ぜひお付き合い頂けますと&lt;em&gt;Super&lt;/em&gt;幸いです。&lt;br&gt;
機械学習に詳しい方とかLojbanに詳しい方、もし何かアドバイスとかご指摘とかがあればジャンジャンお願いします！！&lt;del&gt;かなりエアプのまま開発してるので&lt;/del&gt;&lt;br&gt;
それでは、また次回の記事で～！！&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;参考文献&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;The Complete Lojban Language. (n.d.). Lojban.org. &lt;a href="https://lojban.org/publications/cll/cll_v1.1_xhtml-section-chunks/index.html"&gt;https://lojban.org/publications/cll/cll&lt;em&gt;v1.1&lt;/em&gt;xhtml-section-chunks/index.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., &amp;amp; Polosukhin, I. (2017). Attention is all you need. &lt;em&gt;Advances in Neural Information Processing Systems, 30&lt;/em&gt;. &lt;a href="https://doi.org/10.48550/arXiv.1706.03762"&gt;https://doi.org/10.48550/arXiv.1706.03762&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;



&lt;h1&gt;ちょっとした個人的な話(飛ばしていい)&lt;/h1&gt;

&lt;p&gt;&lt;br&gt;
Migdalに登録した当初は受験生の立場だったため、数学や理科にキレ散らかしながら「お前を理解するためだけの言語体系を作ってやる(怒)」と息巻いていたんですけど、普通に受験勉強で忙しくてMigdalから離れている間に数学・理科とはマブダチになることができ、なんなら志望校にも受かってウハウハになってました。&lt;del&gt;その結果Migdalのこと忘れて2年近く放置してたのは...まあ...&lt;/del&gt;&lt;br&gt;
&lt;br&gt;で、色々余裕ができた今、過去の私が学習途中で挫折した言語であり、私が作ろうとしていたオリジナル言語よりもよっぽど論理的な言語であるLojbanに改めて向き合って勉強して、あわよくばLojbanを喋るLLM作りたいな～～～と思ったので記事を書いてみることにしました。&lt;br&gt;&lt;del&gt;ひさしぶりすぎるし前の記事が初投稿の記事なせいでこれでいいのかわかんにゃい。&lt;/del&gt;&lt;br&gt;
&lt;br&gt;こんな感じでゆるりと記事を作成していきますので、今後とも宜しくお願い致します。&lt;br&gt;
&lt;/p&gt;

</description>
      <category>lojban</category>
      <category>人工言語</category>
      <category>python</category>
    </item>
    <item>
      <title>めっちゃ論理的で使いやすい言語を作ろう(ガラム語制作日記 1)</title>
      <dc:creator>あくまねこ</dc:creator>
      <pubDate>Fri, 08 Nov 2024 07:21:18 +0000</pubDate>
      <link>https://migdal.jp/hangednyan/%E3%82%81%E3%81%A3%E3%81%A1%E3%82%83%E8%AB%96%E7%90%86%E7%9A%84%E3%81%A7%E4%BD%BF%E3%81%84%E3%82%84%E3%81%99%E3%81%84%E8%A8%80%E8%AA%9E%E3%82%92%E4%BD%9C%E3%82%8D%E3%81%86%E3%82%AC%E3%83%A9%E3%83%A0%E8%AA%9E%E5%88%B6%E4%BD%9C%E6%97%A5%E8%A8%98-1-igi</link>
      <guid>https://migdal.jp/hangednyan/%E3%82%81%E3%81%A3%E3%81%A1%E3%82%83%E8%AB%96%E7%90%86%E7%9A%84%E3%81%A7%E4%BD%BF%E3%81%84%E3%82%84%E3%81%99%E3%81%84%E8%A8%80%E8%AA%9E%E3%82%92%E4%BD%9C%E3%82%8D%E3%81%86%E3%82%AC%E3%83%A9%E3%83%A0%E8%AA%9E%E5%88%B6%E4%BD%9C%E6%97%A5%E8%A8%98-1-igi</guid>
      <description>&lt;p&gt;　ドモ！お初にお目にかかります、あくまねこと申します。言語学については&lt;strong&gt;ド&lt;/strong&gt;(←重要)&lt;strong&gt;初心者&lt;/strong&gt;ですがめっちゃ論理的な読みやすい言語を作ろうとしてる者(モノ？)です。宜しくお願い致します。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;　この記事は言語制作時に何を考えてどうしようとしていたのか等の(半分自分用の)備忘録として制作したもののため、不必要・冗長な説明を多く含んでおります。ご了承ください。&lt;/p&gt;
&lt;/blockquote&gt;



&lt;h1&gt;言語制作のキッカケ&lt;/h1&gt;

&lt;p&gt;　突然ですが、日本語って&lt;strong&gt;数学的な論述にチョット不向き&lt;/strong&gt;じゃないですか？&lt;br&gt;
　…エッ、あまりそう感じた事はない？ならば、お手元に&lt;a href="https://www.dnc.ac.jp/albums/abm.php?d=511&amp;amp;f=abm00003151.pdf&amp;amp;n=4-2-1_%E8%A9%A6%E4%BD%9C%E5%95%8F%E9%A1%8C%E3%80%8E%E6%95%B0%E5%AD%A6%E2%85%A0%EF%BC%8C%E6%95%B0%E5%AD%A6A%E3%80%8F.pdf"&gt;令和７年度大学共通テスト　試作問題『数学Ⅰ，数学A』&lt;/a&gt;を準備して頂いて、その&lt;strong&gt;第２問［１］&lt;/strong&gt;をご覧ください。導入とか前提条件とか、変数の定義とかに&lt;strong&gt;大量の文字数&lt;/strong&gt;を消費しています。文章をコピペして文字数カウントツールに入れると、導入だけで405文字、(1)は220文字、(2)については672文字もあります。&lt;em&gt;恐ろしい！&lt;/em&gt;&lt;br&gt;
　問題を解く際にこれらが導入として与えられているとしても、重要な情報をフィルターするのに多大な時間と労力を消費しますし(それを短時間でやる能力を共通テストは求めているのですが)、共通テスト式ではない自力でイチから解答を作る問題では自分でこのクソ長解答を作る必要があるのです。&lt;/p&gt;

&lt;h3&gt; …無理じゃん！！！&lt;/h3&gt;

&lt;p&gt;　と、言う訳で、「数学的な論述を&lt;strong&gt;コンパクト&lt;/strong&gt;かつ&lt;strong&gt;可読性良く&lt;/strong&gt;行えるツールが欲しい！」という願望を叶えるため、補助ツールとしての言語を作ろうと思った所存です。&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;言語の形式をどうするか&lt;/h1&gt;

&lt;p&gt;　言語制作のテーマは「論理的」「可読性が高い(エラー訂正がしやすい)」「少ない文字数・単語数で言葉を伝えられる」の3つにしようと思っています。なので全然アプリオリじゃない言語(アポステリオリだっけ…？)になる予定です。だって知ってる単語や表現ベースじゃないと学習に時間かかっちゃうし感覚的にわかりづらいもんね、うん。&lt;br&gt;
　そのため、言語の形式もロジバンみたく無から作るのではなく、今ある言語のテーマに合いそうないい感じの言語から拝借しようと思います。&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;単語の構造、どうする？(形態論)&lt;/h2&gt;

&lt;p&gt;　まずは単語の作り方から決めちゃいましょう。そのヒントになる、単語の構造について考える言語学の概念を&lt;strong&gt;形態論&lt;/strong&gt;と言うらしいです。言語学にそこまで詳しくないのでここからの記述はかなりミスっている可能性が高いため、もし何かしら不備が有ればコメント等でご指摘お願い致します…&lt;br&gt;
　単語は複数のパーツ&lt;strong&gt;「形態素」&lt;/strong&gt;で構成されており、意味のベースとなるパーツ&lt;strong&gt;「語基」&lt;/strong&gt;に追加の説明を加える付属パーツ&lt;strong&gt;「接辞」&lt;/strong&gt;がくっついて構成されています。例えば、「話しやすさ」と言う単語は&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;話し(話す)/やす(-やすい)/さ(-さ)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;と、「話す」と言う語基に、「-(し)やすい」「-さ」と言う接辞がくっついてできています。&lt;br&gt;
　人工言語を作るにあたって、一番の問題になる(と私が思っている)点は、これらの語基や接辞を&lt;strong&gt;どのような構成にするか&lt;/strong&gt;と言う点です。一度ルールを決めてしまえばあとは組み合わせで沢山の単語が作れるので…&lt;br&gt;
　さて、論理的で可読性良く文字数を多く使い過ぎない言語を目指すためには、一単語が&lt;strong&gt;滅茶苦茶に長いと困ります&lt;/strong&gt;。単語が長いと文字数に対する区切りの数が少なくなり、その分可読性が下がってしまうからです。&lt;br&gt;
　そのため、英語みたいに接辞コンボを繰り出してくる、&lt;strong&gt;めちゃんこ長い合成語&lt;/strong&gt;があったり、(以下例、接辞と言っていいかが怪しいので適切な例ではない気がする)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;floccinaucinihilipilification:軽蔑&lt;br&gt;
"floccus(薄片)" + "naucam(木の実の殻)" + "nihilum(何も無い)" + "pilus(毛)" + "fication(-にすること)"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;　日本語みたいに助動詞などをひたすら繋げる&lt;strong&gt;やりすぎ膠着語&lt;/strong&gt;として使えたり、(以下例、こっちは意味的に難解なので適切じゃない気がする)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;行動させられたがらないらしいです&lt;br&gt;
"行動する" + "-せ(使役)" + "-られる(受身)" + "-たがる(希望)" + "-ない(打消)" + "-らしい(推定)" + "-です(丁寧断定)"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;その様な特徴を持つシステムはなるべく回避したいと思います。かと言って、全ての要素を語根みたくすると今度は一文に要する単語数が&lt;strong&gt;途轍もなく増えてしまう&lt;/strong&gt;ので、程よく単語として必要な情報のみを入れることができる様に接辞を作ろうと思います。&lt;br&gt;
　そうですね…英語の&lt;strong&gt;接頭辞1個でニュアンスを加えられる&lt;/strong&gt;システムはとても便利なので&lt;strong&gt;接頭辞はニュアンス用を1個&lt;/strong&gt;は付けられる様にしましょう。&lt;strong&gt;接尾辞&lt;/strong&gt;はややこしいので&lt;strong&gt;品詞変更用のものを1つ&lt;/strong&gt;、用言には更に&lt;strong&gt;テンス・アスペクト(時制諸々)用のものを1つ&lt;/strong&gt;用意すれば十分とします。足りなかったら後で足せば良いんです、プロトタイプはこれで行きましょう。&lt;/p&gt;

&lt;h3&gt;まとめ:
&lt;br&gt;接辞を付ける形は「(接頭)-[語根]-(接尾:品詞)-(接尾:時制)」
&lt;br&gt;種類も滅茶苦茶には増やしすぎない
&lt;br&gt;あと膠着語にはしない
&lt;/h3&gt;

&lt;p&gt;　接辞についてはとりあえずこれだけ決めておくとして、今度は語根について考えることにします。&lt;br&gt;
　語根は単語の意味のベースとなる部分で、語根の意味さえ知っていれば大体の意味の分野を判別することができますが、そもそも&lt;strong&gt;語根を覚えられないと何も意味が分からない&lt;/strong&gt;のが大問題です。英語学習を進める中で、英語長文の中に全く知らない語根ベースの単語があった場合、意味の予想も付けられず「終わった…読めない…」となる事も多々あります。&lt;br&gt;
　&lt;em&gt;語根にも意味的な予想が付けられる法則を作りたい——。&lt;/em&gt;その時私が出会ったのは&lt;strong&gt;セム語族&lt;/strong&gt;でした。&lt;br&gt;
　どうやら、セム語族と言うジャンルの言語には基本的に&lt;strong&gt;子音3つ&lt;/strong&gt;を語根&lt;strong&gt;(語基)&lt;/strong&gt;にする仕組みが有って、その間に挟む母音などはセム語族では格や時制などの接辞(貫通接辞)として扱われるみたいです。更にそこに接頭辞や接尾辞をくっつけて色々な単語が形成されます。例えば、&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ktb:「書く」と言うニュアンスの語基&lt;br&gt;
kt&lt;strong&gt;i&lt;/strong&gt;b&lt;strong&gt;t&lt;/strong&gt;:「私は書く」(一人称単数)&lt;br&gt;
k&lt;strong&gt;i&lt;/strong&gt;tb&lt;strong&gt;et&lt;/strong&gt;:「彼女は書く」(三人称女性単数)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;と言った感じです。&lt;br&gt;
　しかし、この言語の仕組みをメインに据えて言語作成すると、文字上ではコンパクトに収まって良い感じになりそうですが、音声にした時に&lt;strong&gt;一音でも聞き逃したり発音をミスると情報伝達が失敗する&lt;/strong&gt;と言うリスクがある様です。&lt;br&gt;
　では、その問題をどうするか。子音それぞれに&lt;strong&gt;大まかな意味&lt;/strong&gt;を割り当て、母音部を&lt;strong&gt;ニュアンスの違いとかを現すモノ&lt;/strong&gt;にすれば、多少聞き逃してもギリギリ文脈とかから推測できる形で、覚える事は少ないまま意味の組み合わせを滅茶苦茶増やすことができそうです。長すぎても困るので「子音+母音+子音+母音+子音」で良いでしょう。仮に子音8個、母音5個だったとしても12800個の語根が作れます。多分語彙不足には困らない筈です。多分。&lt;/p&gt;

&lt;h3&gt;まとめ:
&lt;br&gt;語根は「子音+母音+子音+母音+子音」にする
&lt;br&gt;子音で大体の意味、母音でニュアンスの差を表す。
&lt;/h3&gt;

&lt;p&gt;　具体的にどう言う音素を使うのか、どんな単語を作るのか、どんな接辞を用意するのかについては後ほど考えるとして、一旦は大体の方針が決まったのでヨシとしましょう。&lt;em&gt;ヨシ！&lt;/em&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;文の構造、どうする？(統語論)&lt;/h2&gt;

&lt;p&gt;　単語の作り方が決まったので、次は文全体としての構造を考えていきます。この言語のテーマとして&lt;strong&gt;論理的である&lt;/strong&gt;(≒論理的な事物・数式や条件を表現しやすい)ことを重視したいので、チョット数学の論理記号や計算の記号を見てみましょう。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A⊃B：A(名詞)はB(名詞)を含む(条件式)&lt;br&gt;
A/B：A(名詞:数)をB(名詞:数)で割った値(名詞)&lt;br&gt;
sinA：A(名詞:数)の正弦の値(名詞)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;この記号と数字の表記方法は、「処理を示す部分」を&lt;strong&gt;動詞&lt;/strong&gt;、「処理される数値」を&lt;strong&gt;名詞&lt;/strong&gt;とすると、&lt;strong&gt;SVO型&lt;/strong&gt;の文型とかなり類似していると分かります。例えば、先程の例の内の一つをSVO型の言語である英語で表すと、&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A⊃B：A contains(〜を含む) B&lt;br&gt;
A/B：A divided by(〜で割られる) B&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;となります。&lt;em&gt;模範的なSVO…！！&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;　しかし、数学記号を前述の通りに&lt;strong&gt;動詞&lt;/strong&gt;として扱うとうまくいかないパターンもあります。「sinA」がその最たる例です。「sin」を処理を示す部分として&lt;strong&gt;動詞&lt;/strong&gt;としてしまうと、意味的には「Aが正弦を取られたもの」と受け身の意味となるのですが、語順が他の受け身(A/Bなど)と異なるものとなってしまいます。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A/B：O1 V O2 (O1がO2で処理される)&lt;br&gt;
sinA：V O1 (O1が処理される)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;「これは倒置です！！」として通すこともできそうですが、それをするとただただ文構造がややこしくなるので、「sin」の様な記号には動詞以外の意味を持たせるべきでしょう。最終的に「sinA」は数字こと&lt;strong&gt;名詞&lt;/strong&gt;として扱えるものとなるため、「sin」は「A」を修飾する&lt;strong&gt;形容詞&lt;/strong&gt;としてしまいましょう。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;sinA：正弦を取られたA&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;基本的に形容詞は「sinA」の表現に倣い前方から修飾することにしましょう。どういった特徴を持つ記号を動詞・形容詞として扱うかは追々考えるとして、他のパターンについて考える事にします。&lt;/p&gt;

&lt;p&gt;　微分・積分では「〜について」を示す記号「dx(xについて)」が使われます。「∫f(x)dx」は「xについて積分されたf(x)」と表せられ、「dx」は情報を付け加える役割を持っています。日本語で言う&lt;strong&gt;助詞&lt;/strong&gt;、英語で言う&lt;strong&gt;前置詞&lt;/strong&gt;みたいなものです。&lt;br&gt;
　これらの語は位置や時間などの付加情報を加えるのに便利なのですが、「どこに情報を付け加えるのか」によって意味が大幅に変わることがあります。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Please open the box &lt;strong&gt;in&lt;/strong&gt; the bathroom.&lt;br&gt;
→風呂場&lt;strong&gt;にある&lt;/strong&gt;箱を開けてください。(box修飾)&lt;br&gt;
→風呂場&lt;strong&gt;で&lt;/strong&gt;箱を開けてください。(open修飾)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;この様に、解釈のバリエーションが広すぎるとややこしくて困ります。折角の人工言語なのでwell-definedにするため、システムは拝借しつつ後々改良することにしましょう。&lt;/p&gt;

&lt;h3&gt;まとめ:
&lt;br&gt;基本の語順はSVO
&lt;br&gt;形容詞は前方から修飾
&lt;br&gt;助詞/前置詞は修飾位置を分かりやすく
&lt;/h3&gt;

&lt;p&gt;　副詞はどうするのか・能動受動の差はどうつけるのか等々問題はまだまだ山積みですが大体の形式が決まったのでこれでヨシとしましょう。&lt;em&gt;ヨシ！！&lt;/em&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;言語の名前をどうするか&lt;/h1&gt;

&lt;p&gt;　さて、ここまで色々プロトタイプが決まったのでそろそろ言語の名前を決めて終わりにしたいと思います。…とは言っても、そう簡単には思いつかないものです。私ポケ◯ンのニックネームとかめちゃくちゃ悩んで決めるタイプなので…&lt;/p&gt;

&lt;h3&gt;　…ん？こんな所に"ガラムマサラ"が！？&lt;/h3&gt;

&lt;p&gt;と言うわけで手元に丁度よくガラムマサラがあったので(強引)、そこから名前を勝手に拝借して言語名は&lt;strong&gt;「ガラム語」&lt;/strong&gt;にしようと思います。濁音があるので強そうな感じがして尚ヨシ！！！&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;おわりに&lt;/h1&gt;

&lt;p&gt;　というわけで、以上ガラム語制作日記でした。ここまで読んでくださった方々、私の稚拙な長文に付き合っていただき誠にありがとうございます。自分でも読みづらいと思うものこの文章。&lt;br&gt;
　できればこの日記を連載形式で続けて行ければと思うのですが、如何せん遅筆なので書き切るまで数ヶ月レベルで掛かりそうな気がしています…(この記事自体も8月下旬に書き始めたものなので…)。兎に角知識を付けつつ頑張っていければという所存です。&lt;br&gt;
　改めまして、ここまでお読みいただきありがとうございました！！&lt;/p&gt;



&lt;h1&gt;裏話&lt;/h1&gt;

&lt;p&gt;　ガルム語の語根の作り方の参考にした語族「セム語族」の言語としてはアラビア語等が挙げられますが、私が最初に知ったセム語族の言語はZiphil氏による人工言語「キプソル語」でした。キプソル語の動画を見た当時は言語の類型とか何も知らない状態だったのですが、2024/8/22に「Quizknockと学ぼう」チャンネルに投稿された動画&lt;a href="https://www.youtube.com/watch?v=ltHeLGGxsfw"&gt;「言語を作ることは世界を構成すること」言語制作者同士の深すぎるトーク【言語が好きになっちゃう放課後】&lt;/a&gt;にてセム語族やその仕組みをめちゃくちゃに拡張した人工言語「イスクイル」の存在について知り、「自然言語すごい…人工言語すごい…めっちゃ合理的…」となったのです。こんな合理的な仕組みが自然発生したのも驚きですし、それを上手く調理して人工言語での表現に活用するのもとても高度で凄いと感じました。&lt;del&gt;ちょっと自分でセム語族の仕組みを上手く扱えるか不安になってきたな〜〜…&lt;/del&gt;&lt;/p&gt;

</description>
      <category>ガラム語</category>
      <category>beginners</category>
      <category>人工言語</category>
    </item>
  </channel>
</rss>
