ホーム   Liplis   トップ   一覧 検索 最終更新   ヘルプ   最終更新のRSS
 

ClalisConnectSampleForCSharp のバックアップソース(No.1)

#setlinebreak(on)
#contents
*Clalis C# サンプル [#fd792a4b]

**ダウンロード [#q795b6bf]
下記ボタンよりダウンロードできます。
#html{{
<div style="text-align:center;">
<table style="margin-left:auto;margin-right:auto;">
<tr>
  <td>
    <div class="liplisWikiBtn" onClick="location.href='/file/ClalisSample4.1.zip'" style="width:320px;">
    <img src="/lipliswiki/webroot/image/common/Icon/ico_next.png" alt=" Clalis Sample For C# " style="width:16px;"> Clalis Sample For C# ダウンロード
    </div >
  </td>
</tr>
</table>
</div>
}}
GitHubでもソースを公開しています。
#html{{
<div style="text-align:center;">
<table style="margin-left:auto;margin-right:auto;">
<tr>
  <td>
    <div class="liplisWikiBtn" onClick="location.href='https://github.com/LipliStyle/ClalisSampleForCSharp'" style="width:280px;">
    <img src="/lipliswiki/webroot/image/common/Icon/ico_next.png" alt=" Clalis Sample For C# " style="width:16px;"> Clalis Sample For C# GitHub
    </div >
  </td>
</tr>
</table>
</div>
}}




 
 
**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を用意しています。

各ボタンを押すと、サンプルの画面を起動できます。
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/1.gif" alt="ClalisSample"/>
</div>
}}
インターフェースごとの使い方こそ違いますが、ほとんど同じ事をしているため、
ここの説明では、SOAPのみ説明します。
 
 
**サービス参照の追加 [#m84d58a9]
C#からClalisのSOAPメソッドを使用するには、設定が必要です。
VisualStudioにて、プロジェクトを作成、または開きます。
「ServiceReference」を右クリックし、「サービス参照の追加」を押します。
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/serveice1.gif" alt="ClalisSample"/>
</div>
}}

サービス参照の追加のウインドウが開くので、以下のとおり入力します。
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/serveice2.gif" alt="ClalisSample"/>
</div>
}}
 
アドレス
#sh(csharp)(https://liplis.mine.nu/Clalis/v30/Soap/Clalis.asmx)
名前空間(任意の名前で問題ありません。)
#sh(csharp)(Api)

以上の登録を行うと、指定した名前空間配下で、ClalisのAPIが使用出来ます。
サンプルでは、最初から設定済みです。
 
 
**形態素解析 ClalisMecab[#p52848d7]
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/2.gif" alt="ClalisSample"/>
</div>
}}
***概要 [#t3d4d44c]
対象の日本語の文章を形態素解析して、単語に分解します。
サンプルでは、テキストボックスに入力した文字列を形態素解析し、
データグリッドに表示する処理になっています。

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

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

***サンプル [#e3990973]
#sh(csharp){{
        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]
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/3.gif" alt="ClalisSample"/>
</div>
}}
***概要 [#l277d384]
このメソッドはMecabが返してくる全ての情報を取得します。
サンプルでは、テキストボックスに入力した文字列を形態素解析し、
データグリッドに表示する処理になっています。

***サンプル [#t0d5c46a]
#sh(csharp){{
        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]
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/4.gif" alt="ClalisSample"/>
</div>
}}
***概要 [#tb0053ae]
対象の文章にメタ感情を付与して結果を返します。
サンプルでは、テキストボックスに入力した文字列を感情付与し、
データグリッドに表示する処理になっています。

***サンプル [#a468c68b]
#sh(csharp){{
        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]
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/5.gif" alt="ClalisSample"/>
</div>
}}
***概要 [#m40deee2]
対象の文章を口調変換ルールファイルに従って変換します。
サンプルでは、テキストボックスに入力した文字列を口調変換し、
テキストボックスに表示する処理になっています。

***サンプル [#pedc0afa]
#sh(csharp){{
        private void run()
        {
            resTone result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisTone(txtInput.Text, txtToneUrl.Text);
            }
 
            txtResult.Text = result.result;
        }
}}
 
 
**口調変換+感情付与 ClalisToneEmotion [#mbfa0d1d]
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/6.gif" alt="ClalisSample"/>
</div>
}}
***概要 [#r4c135d9]
対象の文章を口調変換ルールファイルに従って変換します。
さらに、感情付与を行います。
サンプルでは、テキストボックスに入力した文字列を口調変換し、
データグリッドに表示する処理になっています。

***サンプル [#d833f873]
#sh(csharp){{
        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]
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/7.gif" alt="ClalisSample"/>
</div>
}}
***概要 [#na11b155]
対象のURLのサイトから日本語を抽出して返します。
サンプルでは、テキストボックスに入力したURLから日本語抽出し、
テキストボックスに表示する処理になっています。

***サンプル [#x80f3000]
#sh(csharp){{
        private void run()
        {
            resWebSummary result;
 
            using (ClalisSoapClient client = new ClalisSoapClient())
            {
                result = client.clalisWebExtractJp(txtInput.Text);
            }
 
            txtResult.Text = result.result;
        }
}}
 
 
**Web日本語文章抽出 ClalisWebExtractJpSentenceList [#u9927ebe]
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/8.gif" alt="ClalisSample"/>
</div>
}}
***概要 [#x76314d7]
対象のURLのサイトから日本語を文章ごとに抽出して返します。
サンプルでは、テキストボックスに入力したURLから日本語文章を抽出し、
データグリッドに表示する処理になっています。

***サンプル [#t5a42d28]
#sh(csharp){{
        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]
#html{{
<div align="center">
<img src="/lipliswiki/webroot/image/common/ClalisSample/CS/9.gif" alt="ClalisSample"/>
</div>
}}
***概要 [#te25c5f0]
対象のURLのサイトから日本語を文章ごとに抽出し、
重要な文章の順番にソートして返します。
サンプルでは、テキストボックスに入力したURLから日本語文章を抽出し、
データグリッドに表示する処理になっています。

***サンプル [#q601de47]
#sh(csharp){{
        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 });
            }
        }
}}