<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>中文Flex例子 &#187; datrie</title>
	<atom:link href="http://blog.minidx.com/tag/datrie/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.minidx.com</link>
	<description>中文Adobe Flex例子,Flex实例教程,RIA资源,全文检索技术,算法和数据结构</description>
	<lastBuildDate>Thu, 31 Mar 2011 03:22:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>双数组Trie(Double Array Trie)实现原理的一点剖析</title>
		<link>http://blog.minidx.com/2007/12/24/296.html</link>
		<comments>http://blog.minidx.com/2007/12/24/296.html#comments</comments>
		<pubDate>Mon, 24 Dec 2007 15:59:13 +0000</pubDate>
		<dc:creator>Minidxer</dc:creator>
				<category><![CDATA[Minidx相关]]></category>
		<category><![CDATA[darts]]></category>
		<category><![CDATA[DAT]]></category>
		<category><![CDATA[datrie]]></category>
		<category><![CDATA[Double Array Trie]]></category>
		<category><![CDATA[mecab]]></category>
		<category><![CDATA[Minidx]]></category>
		<category><![CDATA[双数组]]></category>
		<category><![CDATA[实现原理]]></category>

		<guid isPermaLink="false">http://blog.minidx.com/2007/12/24/296.html</guid>
		<description><![CDATA[曾经有人发来邮件询问《重写了Minidx的分词模块，实现了超高速分词(2007/09/08)》的实现原理并且希望我可以公开源代码，我回复了他的邮件告之我采用了Double Array Trie来构造我的字典并发了实现的C++代码，结果没多久这位同学告诉我没看懂其中算法的原理……








双数组的本质实际上就是一个有限状态的自动机(deterministic finite automaton，简称DFA),所谓的DFA就是一个能实现状态转移的自动机。对于一个给定的属于该自动机的状态和一个属于该自动机字母表Σ的字符，它都能根据事先给定的转移函数转移到下一个状态（这个状态有可能就是先前那个状态）。这个不熟悉的话可以google一下DFA.另外datrie（英文）和chasen的darts（日文）都是很好的DAT的具体实现，其中京都大学情報学研究科的Mecab分词就采用了chasen的DAT实现。
9月份的时候一次公司内部学习会上我曾经做过一份相关的资料，写的比较乱，制作的前提是阅读者对各种字符编码和DAT算法有一定了解（对这两点不熟悉的可能理解起来比较困难），这一资料现在提供下载（双数组Trie(Double Array Trie)实现原理　相关文档资料栏目中）。PDF格式，日文，不过当中比较多的是实现的代码以及抽取的数字，应该都可以看懂吧。
你可能还对下列文章感兴趣:利用Minidx Extract-Text Com组件封装类的实现利用Minidx Extract-Text Com组件从doc,Xls,Pdf&#8230;&#8230;等读取文本内容VC2003 Demo利用Minidx Extract-Text Com组件从doc,Xls,Pdf&#8230;&#8230;等读取文本内容VC Demo搜索引擎之中文分词(Chinese Word Segmentation)简介利用Minidx Extract-Text Com组件从Word,Xls,Pdf&#8230;&#8230;等文件中读取文本内容]]></description>
		<wfw:commentRss>http://blog.minidx.com/2007/12/24/296.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 2/14 queries in 0.081 seconds using disk
Object Caching 157/333 objects using disk

Served from: blog.minidx.com @ 2012-02-09 11:47:09 -->
