ホーム   Liplis   トップ   差分 バックアップ リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
 

ClalisConnectSampleForCSharp の変更点

Top/ClalisConnectSampleForCSharp

#author("2022-03-06T09:30:46+09:00","","")
#author("2022-03-06T09:38:55+09:00","","")
#setlinebreak(on)
#contents
*Clalis C# サンプル [#fd792a4b]

**ダウンロード [#q795b6bf]
下記リンクよりダウンロードできます。
&ref(ClalisSample4.1.zip);
&ref(ClalisSampleForCSharp.zip);
~
GitHubでもソースを公開しています。
https://github.com/LipliStyle/ClalisSampleForCSharp
~
**Clalis C# サンプルについて [#eed49613]
ClalisをC#から使用するための簡単なサンプルです。
ソースを読んで頂けると、APIの叩き方が分かるかと思います。

APIはSOAP、JSON、XMLのインターフェースを用意しています。
お好みのものをご使用ください。
C#の場合はSOAPがおすすめです。

下の方で、各画面とその使い方を簡単に説明しています。

ソースやサンプルのプロジェクトを開くにはVisualStudio2010が必要です。
また、サンプルプログラムの実行には.netFramwwork4.0が必要です。
 
 
**ライセンス [#e2012ff2]
Copyright : 2013 LipliStyle. All Rights Reserved.

ライセンス : MIT License
・本ソフトウェアは無保証です。作者は責任を追いません。
・上記の著作権表示を記載して下さい。
・上記の2項に同意頂ければ自由に使用して頂けます。
 
 
**ご注意 [#zcd15d9f]
ソースコードの使用はライセンスに基づく通りですが、
Clalisサーバーに不用意に負荷をかける用途には使用しないで下さい。
 
 
*サンプルの紹介と解説 [#gea8b911]
プログラムを起動すると、以下のコントール画面が表示されます。
APIのインターフェースとして、SAOP、JSON、XMLを用意しています。

各ボタンを押すと、サンプルの画面を起動できます。
&ref(20222691445.png);
インターフェースごとの使い方こそ違いますが、ほとんど同じ事をしているため、
ここの説明では、SOAPのみ説明します。
 
 
**サービス参照の追加 [#m84d58a9]
C#からClalisのSOAPメソッドを使用するには、設定が必要です。
VisualStudioにて、プロジェクトを作成、または開きます。
「ServiceReference」を右クリックし、「サービス参照の追加」を押します。
&ref(20222691451.png);

サービス参照の追加のウインドウが開くので、以下のとおり入力します。
&ref(20222691457.png);
 
アドレス
 https://liplis.mine.nu/Clalis/v30/Soap/Clalis.asmx
名前空間(任意の名前で問題ありません。
 Api

以上の登録を行うと、指定した名前空間配下で、ClalisのAPIが使用出来ます。
サンプルでは、最初から設定済みです。
 
 
**形態素解析 ClalisMecab[#p52848d7]
&ref(2022269162.png);
***概要 [#t3d4d44c]
対象の日本語の文章を形態素解析して、単語に分解します。
サンプルでは、テキストボックスに入力した文字列を形態素解析し、
データグリッドに表示する処理になっています。

このメソッドは、日本語の分解結果と品詞のみを返します。
単純に文章を形態素に分解するだけであれば、本メソッドが有効です。
情報が足りない場合は、ClalisMecabPlusメソッドの使用を検討してください。

サーバーサイドで形態素解析器「Mecab」を使用しています。
Mecabについては下記アドレスを参照下さい。
https://code.google.com/p/mecab/

***サンプル [#e3990973]
#code(c#){{
        private void run()
        {
            resMecabResult result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisMecab(txtInput.Text);
            }
 
            dgv.Rows.Clear();
 
            foreach (msgMecabResult msg in result.resWordList)
            {
                dgv.Rows.Add(new object[] { msg.idx, msg.name, msg.pos, msg.pos1 });
            }
        }
}} 
 
**形態素解析 ClalisMecabPlus [#nd690a79]
&ref(20222691613.png);
***概要 [#l277d384]
このメソッドはMecabが返してくる全ての情報を取得します。
サンプルでは、テキストボックスに入力した文字列を形態素解析し、
データグリッドに表示する処理になっています。

***サンプル [#t0d5c46a]
#code(c#){{
        private void run()
        {
            resMecabResultFull result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisMecabFull(txtInput.Text);
            }
 
            dgv.Rows.Clear();
 
            foreach (msgMecabResultFull msg in result.resWordList)
            {
                dgv.Rows.Add(new object[] { msg.idx , 
                                            msg.name , 
                                            msg.pos , 
                                            msg.pos1 ,
                                            msg.pos2,
                                            msg.pos3, 
                                            msg.infetted1, 
                                            msg.infetted2, 
                                            msg.prototype, 
                                            msg.read, 
                                            msg.pronunciation});
            }
        }
}}
 
 
**感情付与 ClalisEmotional[#pf315a35]
&ref(20222691620.png);
***概要 [#tb0053ae]
対象の文章にメタ感情を付与して結果を返します。
サンプルでは、テキストボックスに入力した文字列を感情付与し、
データグリッドに表示する処理になっています。

***サンプル [#a468c68b]
#code(c#){{
        private void run()
        {
            resEmotional result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisEmotional(txtInput.Text);
            }
 
            dgv.Rows.Clear();
 
            foreach (msgLeafAndEmotion msg in result.resWordList)
            {
                dgv.Rows.Add(new object[] {msg.name, msg.emotion, msg.point });
            }
        }
}}
 
 
**口調変換 ClalisTone [#x1028bfc]
&ref(20222691628.png);
***概要 [#m40deee2]
対象の文章を口調変換ルールファイルに従って変換します。
サンプルでは、テキストボックスに入力した文字列を口調変換し、
テキストボックスに表示する処理になっています。

***サンプル [#pedc0afa]
#code(c#){{
        private void run()
        {
            resTone result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisTone(txtInput.Text, txtToneUrl.Text);
            }
 
            txtResult.Text = result.result;
        }
}}
 
 
**口調変換+感情付与 ClalisToneEmotion [#mbfa0d1d]
&ref(20222691634.png);
***概要 [#r4c135d9]
対象の文章を口調変換ルールファイルに従って変換します。
さらに、感情付与を行います。
サンプルでは、テキストボックスに入力した文字列を口調変換し、
データグリッドに表示する処理になっています。

***サンプル [#d833f873]
#code(c#){{
        private void run()
        {
            resEmotional result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisToneEmotional(txtInput.Text, txtToneUrl.Text);
            }
 
            dgv.Rows.Clear();
 
            foreach (msgLeafAndEmotion msg in result.resWordList)
            {
                dgv.Rows.Add(new object[] {msg.name, msg.emotion, msg.point });
            }
        }
}}
 
 
**Web日本語抽出 ClalisWebExtractJp [#z61d61e7]
&ref(20222691640.png);
***概要 [#na11b155]
対象のURLのサイトから日本語を抽出して返します。
サンプルでは、テキストボックスに入力したURLから日本語抽出し、
テキストボックスに表示する処理になっています。

***サンプル [#x80f3000]
#code(c#){{
        private void run()
        {
            resWebSummary result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisWebExtractJp(txtInput.Text);
            }
 
            txtResult.Text = result.result;
        }
}}
 
 
**Web日本語文章抽出 ClalisWebExtractJpSentenceList [#u9927ebe]
&ref(20222691650.png);
***概要 [#x76314d7]
対象のURLのサイトから日本語を文章ごとに抽出して返します。
サンプルでは、テキストボックスに入力したURLから日本語文章を抽出し、
データグリッドに表示する処理になっています。

***サンプル [#t5a42d28]
#code(c#){{
        private void run()
        {
            resWebSummaryList result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisWebExtractJpSentenceList(txtInput.Text);
            }
 
            dgv.Rows.Clear();
 
            foreach (string msg in result.resWordList)
            {
                dgv.Rows.Add(new object[] { msg });
            }
        }
}} 

 
**Web日本語重要文章抽出 ClalisWebExtractJpSentenceRelevanceList [#t02a7e6a]
&ref(20222691657.png);
***概要 [#te25c5f0]
対象のURLのサイトから日本語を文章ごとに抽出し、
重要な文章の順番にソートして返します。
サンプルでは、テキストボックスに入力したURLから日本語文章を抽出し、
データグリッドに表示する処理になっています。

***サンプル [#q601de47]
#code(c#){{
        private void run()
        {
            resWebSummaryList result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisWebExtractJpSentenceRelevanceList(txtInput.Text);
            }
 
            dgv.Rows.Clear();
 
            foreach (string msg in result.resWordList)
            {
                dgv.Rows.Add(new object[] { msg });
            }
        }
}}