日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

分词相关技术(转载)

發布時間:2023/12/20 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分词相关技术(转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在做問答系統,自己在園子里面找了下資料,覺得不錯,自己是菜鳥原創不行,廢話不多說了,送上資料。

第一個是關于Lucene的分詞技術

這里可以下載PDF看,Lucene 原理與代碼分析完整版?

?

目錄如下:

?

?

目錄

目錄

第一篇:原理篇

第一章:全文檢索的基本原理

一、總論

二、索引里面究竟存些什么

三、如何創建索引

第一步:一些要索引的原文檔(Document)

第二步:將原文檔傳給分次組件(Tokenizer)

第三步:將得到的詞元(Token)傳給語言處理組件(Linguistic Processor)

第四步:將得到的詞(Term)傳給索引組件(Indexer)

1.?利用得到的詞(Term)創建一個字典。

2.?對字典按字母順序進行排序。

3.?合并相同的詞(Term)成為文檔倒排(Posting List)鏈表。

四、如何對索引進行搜索?

第一步:用戶輸入查詢語句。

第二步:對查詢語句進行詞法分析,語法分析,及語言處理。

1.?詞法分析主要用來識別單詞和關鍵字。

2.?語法分析主要是根據查詢語句的語法規則來形成一棵語法樹。

3.?語言處理同索引過程中的語言處理幾乎相同。

第三步:搜索索引,得到符合語法樹的文檔。

第四步:根據得到的文檔和查詢語句的相關性,對結果進行排序。

1.?計算權重(Term weight)的過程。

2.?判斷Term之間的關系從而得到文檔相關性的過程,也即向量空間模型的算法(VSM)

第二章:Lucene的總體架構

第二篇:代碼分析篇

第三章:Lucene的索引文件格式

一、基本概念

二、基本類型

三、基本規則

1.?前綴后綴規則(Prefix+Suffix)

2.?差值規則(Delta)

3.?或然跟隨規則(A, B?)

4.?跳躍表規則(Skip list)

四、具體格式

4.1.?正向信息

4.1.1.?段的元數據信息(segments_N)

4.1.2.?(Field)的元數據信息(.fnm)

4.1.3.?(Field)的數據信息(.fdt.fdx)

4.1.3.?詞向量(Term Vector)的數據信息(.tvx.tvd.tvf)

4.2.?反向信息

4.2.1.?詞典(tis)及詞典索引(tii)信息

4.2.2.?文檔號及詞頻(frq)信息

4.2.3.?詞位置(prx)信息

4.3.?其他信息

4.3.1.?標準化因子文件(nrm)

4.3.2.?刪除文檔文件(del)

五、總體結構

第四章:Lucene索引過程分析

一、索引過程體系結構

二、詳細索引過程

1、創建IndexWriter對象

2、創建文檔Document對象,并加入域(Field)

3、將文檔加入IndexWriter

4、將文檔加入DocumentsWriter

4.1、得到當前線程對應的文檔集處理對象(DocumentsWriterThreadState)

4.2、用得到的文檔集處理對象(DocumentsWriterThreadState)處理文檔

4.3、用DocumentsWriter.finishDocument結束本次文檔添加

5DocumentsWriterCharBlockPoolByteBlockPoolIntBlockPool的緩存管理

6、關閉IndexWriter對象

6.1、得到要寫入的段名

6.2、將緩存的內容寫入段

6.3、生成新的段信息對象

6.4、準備刪除文檔

6.5、生成cfs

6.6、刪除文檔

第五章:Lucene段合并(merge)過程分析

一、段合并過程總論

1.1、合并策略對段的選擇

1.2、反向信息的合并

二、段合并的詳細過程

2.1、將緩存寫入新的段

2.2、選擇合并段,生成合并任務

2.2.1、用合并策略選擇合并段

2.2.2、注冊段合并任務

2.3、段合并器進行段合并

2.3.1、合并存儲域

2.3.2、合并標準化因子

2.3.3、合并詞向量

2.3.4、合并詞典和倒排表

第六章:Lucene打分公式的數學推導

第七章:Lucene搜索過程解析

一、Lucene搜索過程總論

二、Lucene搜索詳細過程

2.1、打開IndexReader指向索引文件夾

2.1.1、找到最新的segment_N文件

2.1.2、通過segment_N文件中保存的各個段的信息打開各個段

2.1.3、得到的IndexReader對象如下

2.2、打開IndexSearcher

2.3QueryParser解析查詢語句生成查詢對象

2.4、搜索查詢對象

2.4.1、創建Weight對象樹,計算Term Weight

2.4.2、創建ScorerSumScorer對象樹

2.4.3、進行倒排表合并

2.4.4、收集文檔結果集合及計算打分

2.4.5Lucene如何在搜索階段讀取索引信息

第八章:Lucene的查詢語法,JavaCCQueryParser

一、Lucene的查詢語法

二、JavaCC介紹

2.1、第一個實例——正整數相加

2.2、擴展語法分析器

2.3、第二個實例:計算器

三、解析QueryParser.jj

3.1、聲明QueryParser

3.2、聲明詞法分析器

3.3、聲明語法分析器

第九章:Lucene的查詢對象

1BoostingQuery

2CustomScoreQuery

3MoreLikeThisQuery

4MultiTermQuery

4.1TermRangeQuery

4.2NumericRangeQuery

5SpanQuery

5.1SpanFirstQuery

5.2SpanNearQuery

5.3SpanNotQuery

5.4SpanOrQuery

5.5FieldMaskingSpanQuery

5.6PayloadTermQueryPayloadNearQuery

6FilteredQuery

6.1TermsFilter

6.2BooleanFilter

6.3DuplicateFilter

6.4FieldCacheRangeFilter<T>FieldCacheTermsFilter

6.5MultiTermQueryWrapperFilter<Q>

6.6QueryWrapperFilter

6.7SpanFilter

6.7.1SpanQueryFilter

6.7.2CachingSpanFilter

第十章:Lucene的分詞器Analyzer

1、抽象類Analyzer

2TokenStream抽象類

3、幾個具體的TokenStream

3.1NumericTokenStream

3.2SingleTokenTokenStream

4Tokenizer也是一種TokenStream

4.1CharTokenizer

4.2ChineseTokenizer

4.3KeywordTokenizer

4.4CJKTokenizer

4.5SentenceTokenizer

5TokenFilter也是一種TokenStream

5.1ChineseFilter

5.2LengthFilter

5.3LowerCaseFilter

5.4NumericPayloadTokenFilter

5.5PorterStemFilter

5.6ReverseStringFilter

5.7SnowballFilter

5.8TeeSinkTokenFilter

6、不同的Analyzer就是組合不同的TokenizerTokenFilter得到最后的TokenStream

6.1ChineseAnalyzer

6.2CJKAnalyzer

6.3PorterStemAnalyzer

6.4SmartChineseAnalyzer

6.5SnowballAnalyzer

7Lucene的標準分詞器

7.1StandardTokenizerImpl.jflex

7.2StandardTokenizer

7.3StandardFilter

7.4StandardAnalyzer

8、不同的域使用不同的分詞器

8.1PerFieldAnalyzerWrapper

第三篇:問題篇

問題一:為什么能搜的到“中華?AND?共和國”卻搜不到“中華共和國”?

問題二:stemminglemmatization的關系

問題三:影響Lucene對文檔打分的四種方式

在索引階段設置Document BoostField Boost,存儲在(.nrm)文件中。

在搜索語句中,設置Query Boost.

繼承并實現自己的Similarity

繼承并實現自己的collector

問題四:Lucene中的TooManyClause異常

問題五:Lucene的事務性

問題六:用Lucene構建實時的索引

1、初始化階段

2、合并索引階段

3、重新打開硬盤索引的IndexReader

4、替代IndexReader

5、多個索引


這個轉載至:http://www.cnblogs.com/forfuture1978/archive/2010/06/13/1757479.html


第二個關于HubbleDotNet全文檢索分詞的技術:

目錄如下:

HubbleDotNet 簡介

HubbleDotNet 和 Lucene.net 性能對比測試

HubbleDotNet 和 Lucene.Net 匹配相關度的比較

HubbleDotNet 軟件架構

安裝和升級

?? 安裝

?? 升級

用戶權限--功能規劃中

?? 默認帳號**

?? 添加帳號**

?? 帳號權限**

???

索引

?? Hubble.net 的數據庫和數據表

?????? Hubble.net 數據表的數據類型

?????? 創建、刪除數據庫

?????? 創建數據表

?????? 為數據庫現有表或視圖建立全文索引(一) Append Only 模式

?????? 為數據庫現有表或視圖建立全文索引(二) Updatable 模式

?????? 為數據庫現有表或視圖建立全文索引(三) 多表關聯全文索引模式

?????? 通過程序和現有表或視圖同步

?????? 自動和現有表同步

?????? 通過后臺任務自動同步或優化索引

?????? 自動與Oracle中的數據同步解析

?? 內存索引

?? 倒排索引結構*

?? 倒排索引優化*

?? UnTokenized 索引*

?? 關系數據庫索引*

搜索

?? 搜索的基本流程*

?? HubbleDotNet開源全文搜索數據庫項目--查詢方法匯總

?? 對 Tokenized 字段搜索*

?????? 搜索語法*

?????????? 指定單詞權重

?????????? 指定字段權重

?????????? 指定文檔權重

?????? Match 方式

?????? Contains 方式

?????? Like 方式*

?????? 組合搜索*??????

?? Tokenized字段和Untokenized 字段組合搜索*??????

?? Tokenized字段和關系數據庫索引字段組合搜索*??????

?? 多表聯合搜索*

?????? 同構表的聯合搜索*?

?????? 異構表的聯合搜索*?

?? 編寫自己的得分算法*

分詞器?

????? SimpleAnalyzer*

????? EnglishAnalyzer*

????? PanGuSegment*

????? 查看指定分詞器的分詞結果*

????? 查看某個字段對應分詞器的分詞結果*

????? 編寫自己的分詞器

數據庫適配器*

????? SQLSERVER 2005

????? SQLSERVER 2000

????? 連接 Oracle 數據庫

????? 編寫自己的數據庫適配器*

?

性能優化?

????? 大量并發訪問的解決方案?

????? 各種數據類型占用內存情況*

????? 優化分詞器*

????? 查詢級別緩存*

????? 查詢級別緩存的持久化*

????? 數據級別緩存*

????? 不同搜索方式的性能*?????

????? 分布式查詢*

????? 執行跟蹤報告*

????????? 如何讓查詢分析器輸出執行跟蹤報告*

????????? 如何分析執行跟蹤報告*

分布式查詢?

????????? HubbleDotNet 分布式檢索算法介紹 (一)

????????? HubbleDotNet 分布式檢索--異步通訊模式的調用方法

測試報告

????? HubbleDotNet 海量數據測試報告

遠程訪問*

?

SQLClient*

????? 大量并發訪問的解決方案?

????? 異步通訊模式的調用方法

示例*

?

項目應用*

?

注:

* 為還沒有完成的文檔
** 為功能目前尚未實現

原文鏈接如下:http://www.cnblogs.com/eaglet/archive/2010/04/07/1706305.html

這個沒有文檔下載,我過段時間整理下 發個word什么的給大家下載,好坐公交的時候看,呵呵。

轉載于:https://www.cnblogs.com/2719-feng/archive/2011/10/10/2205339.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的分词相关技术(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。