<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>butterfly</title>
    <description>爸爸妈妈赚钱很辛苦，所以我要赚多点钱。</description>
    <link>http://butterfly.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>IBM的两个开源工具包：UIMA和IODT</title>
        <author>butterfly</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://butterfly.javaeye.com">butterfly</a>&nbsp;
          链接：<a href="http://butterfly.javaeye.com/blog/52316" style="color:red;">http://butterfly.javaeye.com/blog/52316</a>&nbsp;
          发表时间: 2007年02月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          今天看了IBM公司开发的两个开源工具包，名称分别是UIMA和IODT。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UIMA是Unstructured Information Management Architecture，我译作&ldquo;非结构化信息的管理架构&rdquo;。可以在这里找到它的相关介绍和下载：http: //www.alphaworks.ibm.com/tech/uima。从它的名字上我们可以对它的功能猜出个一二来了，即通过对文本、视频、音频、图 片等非结构化的信息内容进行分析，从而发现、组织和传送有用的知识给客户。在分析非结构化的信息的过程中，应用的算法有统计的方法、基于规则的自然语言处 理（NLP）、信息修复（IR）、机器学习（Machine Learning）和本体论（Ontologies）等。IBM的UIMA 就是一种Framework，该Frmaework便于开发者实现、描述、组合、布署UIMA的组件和应用。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IODT是Integrated Ontology Development Tookit，我译作&ldquo;本体驱动集成开发工具包&rdquo;。在这里可以找到它的相关介绍和下载：http: //www.alphaworks.ibm.com/tech/semanticstk。IBM给的功能定义是：An ontology toolkit for storage, manipulation, query, and inference of ontologies and corresponding instances。很明显这是本体驱动的开发方式，呵呵，我觉得这是一个很新鲜的角度，可能是我第一次听闻可以基于本体来开发的吧。何谓本体呢？关于本 体的一些介绍可以在下面这个网站上得到：http://wiki.w3china.org/wiki/index.php/%E6%9C%AC%E4% BD%93%E7%9A%84%E6%8F%8F%E8%BF%B0%E5%92%8C%E5%BA%94%E7%94%A8。IBM的IODT包括以下 的组件：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1）EODM。它是一个运行库，允许应用程序读取和序列化一个以RDF/XML格式存储的RDFS/OWL本体，通过Java的对象机制来操作本体，调用一个推理引擎和获取推理结果，提供在本体与其他模型之间的转换。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2）EODM workbench。它是一个基于Eclipse，集成的工作环境。该环境提供本体的建造、管理、可视化等服务。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3）OWL Ontology Repository，也叫Minerva。它是一个用于存储OWL本体，并提供本体查询、推理的高效系统，该系统是基于关系数据库的。它支持描述性逻辑程序（DLP）。
          <br/>
          <span style="color:red;">
            <a href="http://butterfly.javaeye.com/blog/52316#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 05 Feb 2007 16:37:00 +0800</pubDate>
        <link>http://butterfly.javaeye.com/blog/52316</link>
        <guid>http://butterfly.javaeye.com/blog/52316</guid>
      </item>
      <item>
        <title>第一阶段的工作总结</title>
        <author>butterfly</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://butterfly.javaeye.com">butterfly</a>&nbsp;
          链接：<a href="http://butterfly.javaeye.com/blog/50986" style="color:red;">http://butterfly.javaeye.com/blog/50986</a>&nbsp;
          发表时间: 2007年01月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 昨天终于把抽取网页信息的和与数据库连接的两部分代码写完并测试了，基本上还是可以运行滴，只是还是有些小bug，这都是源于编程时想的不够仔细。在这过程中碰到了几个困难：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1。网页的源代码采用的字符编码问题。因为网页的源代码里是夹杂着中文字符的，所以我先以字节流的形式将整个源代码文件的内容读入一个字节数组里(byte[])，然后通过String类的构造函数String(byte[], String charset)构造一个新的字符串，其中charset是网页的源代码所选定的字符编码方式，这样得到的新的字符串就是用java里默认的Unicode编码表示的了。其实String(byte[], String charset)就是将用charset编码的字符串转换成用Unicode编码表示的字符串。因为我一开始没有注意到这个编码问题，所以弄了很久，呵呵。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2。对于一些防止别人采集信息的网站，如何去取得该网站的网页源代码文件。譬如我们要取得的信息就来源于一个采取了防止别人采集信息的网站。我们试过用HttpClient等工具，但结果还是不理想，这部分工作仍需努力。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3。测试。我们现在测试只是沿用刚开始学编程时候的方法，就是一步一步的debug，现在开始要学习如何进行单元测试了。学JUnit吧。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
          <br/>
          <span style="color:red;">
            <a href="http://butterfly.javaeye.com/blog/50986#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 29 Jan 2007 13:22:00 +0800</pubDate>
        <link>http://butterfly.javaeye.com/blog/50986</link>
        <guid>http://butterfly.javaeye.com/blog/50986</guid>
      </item>
      <item>
        <title>关于如何获取网页代码的问题</title>
        <author>butterfly</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://butterfly.javaeye.com">butterfly</a>&nbsp;
          链接：<a href="http://butterfly.javaeye.com/blog/48918" style="color:red;">http://butterfly.javaeye.com/blog/48918</a>&nbsp;
          发表时间: 2007年01月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我正在做一个数据挖掘的项目，第一步要把某个网站上的网页的代码下载下来，下面是我写的获取网页代码的程序的源代码：<br />/**<br /> * Download the file specified by an URL.<br /> */<br />package fetchInformation;<br /><br />import java.io.*;<br />import java.net.*;<br /><br />/**<br /> * @author caojinghua<br /> *<br /> */<br />public class DownloadFiles {<br /><br />       public static void LoadFiles(String spec, File save)<br />      {<br />	try{<br />	    URL url=new URL(spec);<br />	    BufferedReader in=new BufferedReader(new InputStreamReader(url.openStream()));<br />	    //output to a file<br />	    BufferedWriter out=new BufferedWriter(new FileWriter(save));<br />	    String line=null;<br />	    while((line=in.readLine())!=null)<br />	   {<br />	         out.write(line);<br />	   }<br />	   if(in!=null)<br />	         in.close();<br />	   if(out!=null)<br />		out.close();<br />	}catch(MalformedURLException e)<br />	{<br />	     System.out.println(e);<br />	}catch(IOException ioe)<br />	{<br />	     System.out.println(ioe);<br />	}<br />      }<br />	/**<br />	 * @param args<br />	 */<br />	public static void main(String[] args) {<br />		String savepath="a.txt";<br />		String url="http://www.dianping.com/";<br />		try{<br />			File savefile=new File(savepath);<br />			LoadFiles(url, savefile);<br />		}catch(NullPointerException e){<br />			System.out.println(e);<br />		}<br />	}<br />}<br /><br />奇怪的是，存储获取到的代码的文件a.txt的内容只有一行：http://www.dianping.com。而若改成获取其他的网站，譬如：url="http://www.google.cn"，获取到的内容跟用浏览器查看网页源文件里的内容是一样的，我试过很多网站都没问题，但上面这个网站就不行，不知道是不是该网站要登陆的原因，但用浏览器浏览该网站时是不用登陆的。
          <br/>
          <span style="color:red;">
            <a href="http://butterfly.javaeye.com/blog/48918#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 21 Jan 2007 17:35:50 +0800</pubDate>
        <link>http://butterfly.javaeye.com/blog/48918</link>
        <guid>http://butterfly.javaeye.com/blog/48918</guid>
      </item>
      <item>
        <title>Things to do before the journey to hometown</title>
        <author>butterfly</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://butterfly.javaeye.com">butterfly</a>&nbsp;
          链接：<a href="http://butterfly.javaeye.com/blog/48727" style="color:red;">http://butterfly.javaeye.com/blog/48727</a>&nbsp;
          发表时间: 2007年01月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp;&nbsp;&nbsp; Time flies.<br />
&nbsp;&nbsp;&nbsp; In my plan, the date of my journey to hometown is 2007.2.10, so I still have about 20 days to finish the work I am doing. Oh, God, I prey I can do it.<br />
&nbsp;&nbsp;&nbsp; Things include: <br />
&nbsp;&nbsp;&nbsp; 1.Data mining. I have to write a program to fetch the information on the website: http://www.dianping.com/, such information like customers' review to a restaurant, points given by customers of a restaurant.(this work must be finished)<br />
&nbsp;&nbsp;&nbsp; 2.Homework. A computer network game named Titanick which is writen in Java.(this work is also must be finished)<br />
<br />
&nbsp;&nbsp;&nbsp; Ah&nbsp; ha,&nbsp; it seems&nbsp; not quite&nbsp; hard to&nbsp; do, right?
          <br/>
          <span style="color:red;">
            <a href="http://butterfly.javaeye.com/blog/48727#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 20 Jan 2007 10:44:14 +0800</pubDate>
        <link>http://butterfly.javaeye.com/blog/48727</link>
        <guid>http://butterfly.javaeye.com/blog/48727</guid>
      </item>
  </channel>
</rss>