Desert Ant Labs

Tongue:オンデバイス言語識別

言語識別提供中

短いテキストを読み取り、その言語を数十マイクロ秒で言い当てるオンデバイスの言語識別。対応は 84 言語。

Tongue は単語、フレーズ、文を読み取り、それが書かれている言語を返します。ドイツ語の "kann ich das haben" から韓国語の "안녕하세요" まで。検索ボックス、チャットメッセージ、キーボード入力といった短いテキストに合わせて調整されており、これはデバイス上の言語検出で最も難しく、最も役に立つケースです。

処理は 2 段階です。パラメータを持たない文字体系ルーターが、1 つの言語だけが使う文字のテキストを判定します。ハングル、ギリシャ文字、タイ文字など 25 種はモデルを使わずその場で確定します。複数言語が共有する文字では、ハッシュ化した文字 n-gram が 2 MB の int8 モデルに入ります。トークナイザーも語彙ファイルも推論ランタイムもなく、短い入力が本当に曖昧なときは、Tongue は当て推量をせず「確信がない」と伝えます。

デモ

パフォーマンス

2 MB で、最大 130 倍の大きさの検出器と互角に渡り合います。

0.933
FLORES-200、3 語
0.992
ツイート
84
言語
2 MB
int8 重み

3 つの公開ベンチマークで、実際に出荷している int8 重みを測定。他の検出器も同一の行・同一の言語サブセットで実行しています。完全な表と失敗モードはモデルカードに記載しています。

ユースケース

言語でテキストを振り分ける

ユーザーが打ち込んだ最初の数語から、適切な翻訳モデル、アナライザー、サポート窓口を選択。すべてデバイス上で完結します。

キーボードと入力

文の途中で言語を検出し、自動修正・変換候補・レイアウトを切り替え。1 打鍵あたり数十マイクロ秒で済みます。

検索とコンテンツパイプライン

インデックス化やモデレーションの前に短い文字列へ言語タグを付与。ネットワーク往復もリクエスト単位のサービスも不要です。

正直な不確かさ

"la casa" はイタリア語ともスペイン語とも読めます。Tongue はどちらかに軍配を上げるのではなく引き分けを報告するので、プロダクトはテキストの追加入力を促せます。

できること

  • 84 言語:59 はモデルが解読し、25 は文字体系だけで確定。
  • 2 MB の int8 重みをパッケージに同梱。ダウンロードは一切ありません。
  • 1 回の判定は数十マイクロ秒。メインスレッドで動かせます。
  • Swift、Kotlin、JavaScript で完全に同一の答え。共有のゴールデンベクターで担保。
  • 当て推量をせず、信頼度と僅差の引き分けを報告します。

プラットフォームとインストール

iOS, macOS
インストール
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/tongue", from: "0.1.2")
使用例 - Swift
import Tongue

let tongue = try Tongue()
tongue.detect("kann ich das haben").language
// "de"
Android
インストール
// build.gradle.kts (Maven Central)
implementation("ai.desertant:tongue:0.1.2")
使用例 - Kotlin
import ai.desertant.tongue.Tongue

val tongue = Tongue.bundled(context)
tongue.detect("kann ich das haben").language
// "de"
Web, Node.js
インストール
npm i @desert-ant-labs/tongue
使用例 - TypeScript
import { Tongue } from "@desert-ant-labs/tongue";

const tongue = await Tongue.load();
tongue.detect("kann ich das haben").language;
// "de"
AI コーディングアシスタントで Tongue を追加
プロンプト
Add Tongue from Desert Ant Labs to this project.

短いテキストを読み取り、その言語を数十マイクロ秒で言い当てるオンデバイスの言語識別。対応は 84 言語。

SDKs (use the one that matches this project's platform):

Swift (iOS, macOS)
Repo: https://github.com/Desert-Ant-Labs/tongue
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/tongue", from: "0.1.2")

Kotlin (Android)
Repo: https://github.com/Desert-Ant-Labs/tongue
// build.gradle.kts (Maven Central)
implementation("ai.desertant:tongue:0.1.2")

JavaScript / TypeScript (Web, Node.js)
Repo: https://github.com/Desert-Ant-Labs/tongue
npm i @desert-ant-labs/tongue

Reference:
- Model page: https://desertant.com/models/tongue/
- Full catalog and other models: https://desertant.com/llms.txt

Add the SDK that matches this project's platform, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.

仕様

言語
84 言語、31 の文字体系
オンデバイスサイズ
2.1 MB の int8 重み、パッケージに同梱
レイテンシ
1 回の判定あたり数十マイクロ秒
アプローチ
文字体系ルーターとハッシュ化文字 n-gram を int8 線形ヘッドへ

FAQ

Tongue とは?

短いテキストを読み取り、その言語を数十マイクロ秒で言い当てるオンデバイスの言語識別。対応は 84 言語。

Tongue はオンデバイスで動作しますか?

はい。Tongue は完全にオンデバイスで動作します。推論はローカルで行われ、サーバーへの通信は発生しないため、データがデバイスの外に出ることはありません。

Tongue はどのプラットフォームに対応していますか?

Tongue は Swift, Kotlin, JavaScript / TypeScript 向けのネイティブなオンデバイス SDK として提供されます。

Tongue の料金はいくらですか?

すべてのモデルは、SDK ごとに月間アクティブデバイス 100k 台まで無料です。ユーザーあたりの推論は無制限です。 カスタムライセンスについては、お問い合わせください

Tongue の精度や速度はどれくらいですか?

2 MB で、最大 130 倍の大きさの検出器と互角に渡り合います。

リソース