Showing posts with label Yahoo API. Show all posts
Showing posts with label Yahoo API. Show all posts

May 9, 2009

October 16, 2008

SilverlightでYahoo日本語形態素解析API

Silverlight 2リリースされた。とりあえず適当に。

ソース ダウンロード SilverlightYahooParse.zip (7.4K)

使い方

メモ
・Page.xaml.cssの24行目hogehogeはアプリケーションIDを取得して適当に変える。(hogehogeではできません)
var appid = "hogehoge";
リクエストパラメータはParser.csの60行目
var url = CreateUrl(_appid, sentence, "ma", "surface,reading,pos,baseform", "", "", "", "", "", "");
というところで何とかする。
・リクエストURLをつくるとき、sentenceはURLEncodeしないといけない。Silverlightでは、System.Windows.Browser.HttpUtility.UrlEncode(sentence)とする。WPFではHttpUtilityはSystem.Webにある。
・結果の取得はWebClientを利用する。
WebClient client = new WebClient();
client.Encoding = Encoding.UTF8;
client.DownloadStringCompleted += (s, e) =>
{
var result = e.Result;
XDocument xdoc = XDocument.Parse(result);
XNamespace ns = xdoc.Root.GetDefaultNamespace();
var word_list =
from element in xdoc.Descendants(ns + "word_list").Descendants(ns + "word")
select new word
{
surface = (string)element.Element(ns + "surface"),
reading = (string)element.Element(ns + "reading"),
pos = (string)element.Element(ns + "pos"),
baseform = (string)element.Element(ns + "baseform"),
};

_Result = new List(word_list);
if (ParseCompleted != null)
ParseCompleted(this, EventArgs.Empty);
};
Uri uri = new Uri(url);
client.DownloadStringAsync(new Uri(url));

・DataGridのつかいかたはこっち