Tisaneエンベデッドは、Tisaneの自然言語処理(NLP)機能をデスクトップおよびサーバー.NETアプリケーションに直接組み込むことができます。
本ガイドは、.NETアプリケーション用のTisaneエンベデッドSDKで利用可能なメソッドのリファレンスを提供します。
内部で、TisaneランタイムがRocksDBストアに格納されたTisane言語モデルと直接通信します。クライアントサーバーデータベースエンジンをインストールする必要はありません。
ランタイムライブラリ:
libTisane.dll:Tisaneコアランタイムに組み込まれたRocksDBライブラリ。libgcc_s_seh-1.dll:標準POSIX C/C++ライブラリ。libstdc++-6.dll:標準POSIX C/C++ライブラリ。libwinpthread-1.dll:標準POSIX C/C++ライブラリ。
.NETラッパーファイル:
Tisane.Runtime.dll– コアライブラリをラップする.NETアセンブリ。 これは、.NETプロジェクトで参照する主要なアセンブリです。native/amd64/rocksdb.dll– RocksDBのWindowsポート。RocksDbSharp.dll:RocksDB用の.NETラッパー。netstandard.dll:標準の.NETアセンブリ。Newtonsoft.Json.dll: JSONパーシングアセンブリ。System.*.dll,Microsoft.*.dll: その他の標準的な.NETアセンブリ。
参考:言語モデルデータストア
ASP.NET Core Runtime 8+
遅延読み込み:50 Mb固定 + 50~100 Mb(言語モデルあたり)
完全読み込み:400 Mbから2 Gbの間(言語モデルあたり)
続きを読む:遅延読み込みと完全読み込みの比較
配布パッケージの内容を、お好みのディレクトリに抽出してください。
データディレクトリの名前を含むDbPath設定が正しいことを確認してください。
Tisane .NETアセンブリは、ConfigurationManager設定(XML)を使用します。設定ファイルの名前:executable filename without extension + .dll.config。
例えば、実行ファイルがTisane.TestConsole.Desktop.exeである場合、設定ファイルはTisane.TestConsole.Desktop.dll.configです。
string Parse(string language, string content, string settings)テキストを解析し、結果をJSON構造として返します。
language:解析用の言語コード。*またはパイプ区切りの言語コードのリスト(例:de|fr|ja)を使用して言語を自動検出します。content:解析対象のテキスト。settings:解析設定を定義するJSONオブジェクト。参考:設定およびカスタマイズガイド。
リターン:JSON形式のレスポンスオブジェクト。
例:
string result = Tisane.Server.Parse("en", "What a lovely day", "{}");
Console.WriteLine(result);こちらも参考:
string Transform(string sourceLanguage, string targetLanguage, string content, string settings)テキストを翻訳または置き換えます。
sourceLanguage: 入力テキストの言語コード。*またはパイプ区切りのリスト(例:de|fr|ja)を使用して言語を自動検出します。targetLanguage:ターゲット言語コードcontent:変換対象のテキストsettings:変換設定で定義されたJSONオブジェクト。参考:設定およびカスタマイズガイド。
リターン:変換/翻訳されたテキスト。
こちらも参照:
例:
string result = Tisane.Server.Transform("fr", "en", "Bonjour!", "{}");
Console.WriteLine(result);string DetectLanguage(string content, string likelyLanguages, string delimiter)テキスト内の言語を識別します。
content:解析対象のテキストlikelyLanguages:パイプ区切りの言語コードに適したリスト(例:de|fr|ja)。言語が不明な場合は、*、?、または空の文字列を使用してください。delimiter:テキストのチャンク化用のオプションのカスタム区切り文字(正規表現、Google RE2形式)。例: 文、段落。省略した場合、全体の内容が一つのチャンクとして解析されます。
例:
string text = "This is English. C'est français.";
string likelyLanguages = "en|fr";
string delimiter = @"\. "; // Split on sentences
string result = Tisane.Server.DetectLanguage(text, likelyLanguages, delimiter);
Console.WriteLine(result);これらのメソッドにより、言語モデルの内容をクエリ・検査できます。
string GetFamilyData(int id)語族の説明と属性を持つJSONドキュメントを返します。
id:取得対象の語族のID。
string ListSenses(string language, string word)単語に紐付けられた語族を、ID、説明、特徴と共に一覧表示します。JSONドキュメント(Stream)を返します。
language:言語コード。自動言語検出はサポートされていません。**word:検索対象の単語(または複数単語から成る表現)。活用形であり、必ずしも見出語ではありません。
string ListHypernyms(int family, int maxLevel)既定の語族に対して、その上位語(より広範な用語)を含むJSONドキュメントを返します。
family:上位語を一覧表示する語族のID。maxLevel:上位語階層において、上方向に移動する階層の最大数。
string GetInflectedForms(string language, int lexeme, int family)見出語と語族に紐付けられた活用形(単語の派生形)を含むJSONオブジェクトを返します。
language:言語コード。自動言語検出はサポートされていません。**lexeme:見出語のID。family:語族のID。
これらのメソッドは、パース対象のテキストを抽出または整理するためのヘルパーメソッドです。
string Normalize(string dirtyText)OCRのアーチファクト、メールのヘッダー/署名、その他の定型文の断片を削除して、クリーンなテキストを返します。
dirtyText:クリーンアップ対象のテキスト。
string ExtractText(string webpageText)ウェブページからHTMLマークアップを削除し、平文のテキストコンテンツを抽出します。
webpageText:ウェブページのHTMLコンテンツ。
Return:抽出されたテキスト。