主頁 > 知識(shí)庫(kù) > TrieTree服務(wù)-組件構(gòu)成及其作用介紹

TrieTree服務(wù)-組件構(gòu)成及其作用介紹

熱門標(biāo)簽:Mysql連接數(shù)設(shè)置 電子圍欄 阿里云 Linux服務(wù)器 團(tuán)購(gòu)網(wǎng)站 服務(wù)器配置 科大訊飛語音識(shí)別系統(tǒng) 銀行業(yè)務(wù)

上一篇中我們對(duì)TrieTree服務(wù)有了一個(gè)整體的了解,不知道大家下載完之后有沒有真正玩過這個(gè)TrieTree服務(wù),如果你還沒有玩過,沒關(guān)系,本文將一步步教你配置和使用TrieTree服務(wù)。

TrieTree服務(wù)由幾大組件組成,如下圖

Dictionary組件是核心庫(kù),主要提供基本數(shù)據(jù)定義、配置信息定義,數(shù)據(jù)結(jié)構(gòu)表示,同時(shí)也提供了POSType(參考Pangu的Part of Speech定義)。由于TrieTree是利用內(nèi)存來加載數(shù)據(jù)的,所以這個(gè)組件的設(shè)計(jì)直接決定了內(nèi)存的占用大小和數(shù)據(jù)查詢性能。Dictionary.Providers組件主要負(fù)責(zé)提供各種自定義數(shù)據(jù)提供者(DataProvider),你可以把它理解為字典數(shù)據(jù)的加載器,例如自帶的PanguDictProviders就是負(fù)責(zé)加載盤古自己的dict格式的字典。TrieTree服務(wù)的加載器是高度可配置的,你可以通過配置文件來選擇你需要使用的加載器,如下所示:

復(fù)制代碼 代碼如下:

dictionaryService>
provider name="pangu_dict" uri="F:\Dropbox\research\NLP\TrieTreeService\DictionaryService.UnitTest\Data\panguDict.dct" type="BluePrint.Dictionary.Providers.PanguDictProvider, BluePrint.Dictionary.Providers" />
provider name="IKdict" uri="F:\Dropbox\research\NLP\TrieTreeService\DictionaryService.UnitTest\Data\IKdict.dic" type="BluePrint.Dictionary.Providers.TxtFileProvider, BluePrint.Dictionary.Providers"/>
/dictionaryService>

上面這個(gè)配置選擇了2個(gè)加載器,分別是PanguDictProvider、TxtFileProvider(純文本格式加載器,你可以理解為.csv字典加載器),這里的TxtFileProvider是用來加載IKAnalyzer中的IKdict.dic文件的。在服務(wù)啟動(dòng)后(調(diào)試模式)你會(huì)看到類似的提示:

TrieTree中由于使用了log4net的ColoredConsoleAppender,所以能夠顯示不同顏色的提示信息。你會(huì)看到日志中有pangu_dict和IKdict的加載時(shí)間,這里的名字是由app.config中的provider的name屬性設(shè)置的。其實(shí)TrieTree也是支持加載基于MongoDB的字典的,只是由于牽扯到相對(duì)復(fù)雜的MongoDB的配置和一些概念,就不在本文中講解了,我會(huì)考慮在之后的教程中提供。

DictionaryService組件是TrieTree服務(wù)的容器組件,主要包含了Windows服務(wù)的實(shí)現(xiàn),還有Windows服務(wù)的安裝器。這個(gè)組件是一個(gè)控制臺(tái)程序,它為用戶提供了兩種運(yùn)行模式——調(diào)試模式和Service模式。調(diào)試模式就是直接運(yùn)行控制臺(tái),提供基于log4net的日志信息,方便調(diào)試和斷點(diǎn);而Service模式是直接運(yùn)行為一個(gè)Windows服務(wù),主要用于測(cè)試與生產(chǎn)環(huán)境。由于是控制臺(tái)程序,切換模式是通過參數(shù)完成的,例如-i 表示安裝windows服務(wù),-u表示卸載windows服務(wù), -c表示啟動(dòng)控制臺(tái)模式。

以上便是TrieTree服務(wù)的三大核心組件,但我還打算介紹一個(gè)非常實(shí)用的附加組件DictionaryQuery。

雖然名字也叫查詢分析器,但其實(shí)和SQL的查詢分析器不是一個(gè)級(jí)別的,你不用去比較,沒啥意思。這東西主要是兩個(gè)作用,第一,測(cè)試TrieTree服務(wù)的運(yùn)行情況;第二,檢查加載字典后字典中的詞的狀態(tài)。你也可以用右側(cè)的POS過濾器進(jìn)行篩選,多選表示或的關(guān)系,比如你選擇了地名和人名,你搜索“上?!?,結(jié)果是“上海, 頻率:251, 類型:地名(A_NS)”,如果找不到的話會(huì)顯示紅色的“未找到合適詞”,如下所示。

你還可以選擇匹配的方式,即最大正向匹配、最大反向匹配和完全匹配,這個(gè)就不用我多解釋了吧。對(duì)了,運(yùn)行這玩意之前字典服務(wù)必須打開,且你要指向你配置的TrieTree服務(wù)的端口,默認(rèn)是7010,圖中配置的是dict://127.0.0.1:7010,注意字典服務(wù)的URI是以dict://開頭的。

您可能感興趣的文章:
  • Java中實(shí)現(xiàn)雙數(shù)組Trie樹實(shí)例
  • Python Trie樹實(shí)現(xiàn)字典排序
  • C# TrieTree介紹及實(shí)現(xiàn)方法
  • Trie樹_字典樹(字符串排序)簡(jiǎn)介及實(shí)現(xiàn)
  • 詳解字典樹Trie結(jié)構(gòu)及其Python代碼實(shí)現(xiàn)
  • Trie樹(字典樹)的介紹及Java實(shí)現(xiàn)

標(biāo)簽:衢州 大理 衡水 廣元 萍鄉(xiāng) 蚌埠 江蘇 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《TrieTree服務(wù)-組件構(gòu)成及其作用介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266