Text Transformer(Safari版)のアプデ(予定)

1. Text Transformer(PPL++)

テキストトランスフォーマー
Apple App Store

Text Transformer(PPL++, Safari拡張版)のアップデートを予定しています。更新は以下の3つです。
  1. フリーズバグ解消
  2. 段落背景色変更オプション追加
  3. 改行フラグの改善
1つ目(フリーズバグ解消)は、ホームページによってはごく稀にフリーズするバグを直しました。lang指定がされていないページで稀に生じていたようです。
2つ目(段落背景色変更オプション追加)は、アライメント時の段落の視認性に関わるものです。
以下の3つを比べてみてください。 ボタンを押すと切り替わります。

ギミックボタン

1. 初期状態

ニューラルネットワーク(Neural Network)は、人工知能(AI)や機械学習の分野で広く使用されるモデルであり、人間の脳の構造と機能に触発されたものです。 基本的には、多数の「ニューロン」(ノードやユニットとも呼ばれる)と呼ばれる要素が層状に配置されたネットワークで、これらのニューロンはシナプス(結合)と呼ばれるリンクで接続されています。

ニューラルネットワークは通常、以下の3つの主要な層から構成されます:

入力層(Input Layer): この層は、外部からのデータを受け取る役割を果たします。 各ノードは1つの入力特徴量を表し、全体として入力データの次元数に対応します。

隠れ層(Hidden Layer): 1つ以上の隠れ層が存在し得ます。 隠れ層のニューロンは、入力層または前の層からのデータを受け取り、重みとバイアスを適用し、活性化関数を通じて出力します。 隠れ層の数と各層のニューロン数は、ネットワークの表現能力に直接影響します。

出力層(Output Layer): この層は、ニューラルネットワークの最終出力を生成します。 出力層のノード数は、解決しようとしている問題に依存します。 たとえば、2クラス分類問題であれば、通常は出力層に1つのノードがあるか、または2つのノードが用いられます。

ニューラルネットワークの学習は、与えられたデータセットに対して最適な重みとバイアスを見つける過程です。 この学習プロセスは主に「誤差逆伝播法(Backpropagation)」と「勾配降下法(Gradient Descent)」という手法によって行われます。

2.アライメント&改行

ニューラルネットワーク(Neural Network)は、人工知能(AI)や機械学習の分野で広く使用されるモデルであり、人間の脳の構造と機能に触発されたものです。 基本的には、多数の「ニューロン」(ノードやユニットとも呼ばれる)と呼ばれる要素が層状に配置されたネットワークで、これらのニューロンはシナプス(結合)と呼ばれるリンクで接続されています。

ニューラルネットワークは通常、以下の3つの主要な層から構成されます:

入力層(Input Layer): この層は、外部からのデータを受け取る役割を果たします。 各ノードは1つの入力特徴量を表し、全体として入力データの次元数に対応します。

隠れ層(Hidden Layer): 1つ以上の隠れ層が存在し得ます。 隠れ層のニューロンは、入力層または前の層からのデータを受け取り、重みとバイアスを適用し、活性化関数を通じて出力します。 隠れ層の数と各層のニューロン数は、ネットワークの表現能力に直接影響します。

出力層(Output Layer): この層は、ニューラルネットワークの最終出力を生成します。 出力層のノード数は、解決しようとしている問題に依存します。 たとえば、2クラス分類問題であれば、通常は出力層に1つのノードがあるか、または2つのノードが用いられます。

ニューラルネットワークの学習は、与えられたデータセットに対して最適な重みとバイアスを見つける過程です。 この学習プロセスは主に「誤差逆伝播法(Backpropagation)」と「勾配降下法(Gradient Descent)」という手法によって行われます。

3. 段落背景変更

ニューラルネットワーク(Neural Network)は、人工知能(AI)や機械学習の分野で広く使用されるモデルであり、人間の脳の構造と機能に触発されたものです。 基本的には、多数の「ニューロン」(ノードやユニットとも呼ばれる)と呼ばれる要素が層状に配置されたネットワークで、これらのニューロンはシナプス(結合)と呼ばれるリンクで接続されています。

ニューラルネットワークは通常、以下の3つの主要な層から構成されます:

入力層(Input Layer): この層は、外部からのデータを受け取る役割を果たします。 各ノードは1つの入力特徴量を表し、全体として入力データの次元数に対応します。

隠れ層(Hidden Layer): 1つ以上の隠れ層が存在し得ます。 隠れ層のニューロンは、入力層または前の層からのデータを受け取り、重みとバイアスを適用し、活性化関数を通じて出力します。 隠れ層の数と各層のニューロン数は、ネットワークの表現能力に直接影響します。

出力層(Output Layer): この層は、ニューラルネットワークの最終出力を生成します。 出力層のノード数は、解決しようとしている問題に依存します。 たとえば、2クラス分類問題であれば、通常は出力層に1つのノードがあるか、または2つのノードが用いられます。

ニューラルネットワークの学習

ニューラルネットワークの学習は、与えられたデータセットに対して最適な重みとバイアスを見つける過程です。 この学習プロセスは主に「誤差逆伝播法(Backpropagation)」と「勾配降下法(Gradient Descent)」という手法によって行われます。

解説すると、1.初期状態だと一つ一つの段落(パラグラフ)がわかりやすいです。塊がそのまま段落です。 一方で2.アライメントと改行、を加えると一つ一つの文章が文頭になるメリットがありますが、先ほどの塊としての段落、パラグラフが見えづらくなります。 一応、行間をコントロールしています。それにより段落間の距離のほうが改行後の各文章間隔よりも広いはずです。 ただしそれでも見づらいことがあったりします。私自身が感じたのは勉強している際(※)が顕著で、パラグラフが見えづらい状態でダラダラと勉強を続けるのは、 しんどいのです。ここまで読もう(読めた自分は今日は頑張った)、というのが見えづらいというか。せっかく各文章を小分けにしたのにこれでは、、というので、 背景色を変えることで段落自体を認識できるようにした次第です。他のやりようもあるかも知れません。一応、違和感と視認性の戦いでこの薄さに決めています。 この背景色変更はオプションで変えられて、標準はこれまで通りの「背景色変更なし」です。明示的に選択する必要があります。


更新事項の最後の3つ目(改行フラグの改善)は、改行のフラグとして句点のあとに右カッコがある場合は改行させないようにしました。例えば、

(今日はいい天気ですね。)

という文章があった場合に、アップデート前では

(今日はいい天気ですね。

となってしまっています。これまで句点のルールを勘違いしていました。文末にカッコと句点がある場合は。) ではなく )。が普通だと思っていました。 実際そのような文章が多いと思いますが、、そうではない本を見つけたので直した次第です。 大して難しくない処理でした。

まとめ

以上、近いうちに修正をかけたものをアップデートします。しばらくお待ちください。

余談・駄文

※ 「層論」と「サンスクリット」を勉強し始めました。勉強環境について非常に集中できる面白いやり方を見つけました。 これがどれくらい続くか、1ヶ月くらい続いたら情報共有します。 上には書かなかったですが、サンスクリットに関しては現状、デーヴァナーガリー版のみの対応(ストップワードの用意)ですが、 ロマナイズ版(ラテン文字、ローマ字)のストップワードも用意する予定です(ロマナイズ版だと句点がスラッシュぽいのでそちらも)。 こういうサイト(GRETIL - Göttingen Register of Electronic Texts in Indian Languages)があってそこではロマナイズされた各種サンスクリット文献がhtml(ここが大事)で提供されています。 つまり、Text Transformerで読める、勉強できるわけです。 サンスクリットの勉強は、Text Transformerがどこまで通用するかのテストだったりします。 日本語のサンスクリット文法の本(ロマナイズで解説)をText Transformerで読んでいますが、 ロマナイズされたサンスクリット部分は本当に読みやすいです。 サブトークンで差分が取れるのが大きいですね。 当然サンスクリットにも細かい文法があり、それらに対応しきれていないので限界がありますが、そのまま白黒で読むのとは段違いです。 ロマナイズされたものでもこうなので、デーヴァナーガリー版だともっと効果的だと思います。 文字がわからない、不慣れというのはそれだけで恐怖です(その意味では日本語、中国語を学ばれている外国語圏の方々はすげーな、と改めて思います)。 外国語学習をしている方は是非、この感覚を体験してほしいです。

余談・駄文2

「最新情報」のページが何も画像 or 動画がなくて寂しかったので動画的なものを設置しています(うちの文鳥、リンタロウ氏)。
前々からつくりたかったんですよね、こういうの。
インターネット黎明期世代だと、 こういうサイトがあったのをご存知じゃないかと思います。
HPをつくったらこういうの置いてみたかったんですよね。
せっかくなのでGIF動画(同じペースでパラパラマンガになっている)にはしませんでした。
ちょっとしたギミックをJavaScriptで実現しています。
是非、ご自身の目で観察してみてほしいです
(案外、こういうしょうもないプログラムを書いてるときのほうが楽しかったりしますね、、)。

余談・駄文3

文鳥のGifっぽいやつをつくれたので、もう一つ。リンクを隠すというのをやってみました。
隠しページ

この画像のように、ランダムサンプルの項目の一覧を載せた隠しページをつくりました。インターネット黎明期的なネタです。 上のランダムサンプルのページに入口を用意しています。