導航:首頁 > 源碼編譯 > 敏感詞檢測演算法

敏感詞檢測演算法

發布時間:2023-11-15 00:02:15

A. 各類場景應用中涉及的AI演算法匯總

整理了各類場景應用中AI演算法

一、圖像CV

內容安全,目標檢測,圖像識別,智能視覺生產,圖像搜索,圖像分割,物體檢測,圖像分類,圖像標簽,名人識別,概念識別,場景識別,物體識別,場景分析,智能相冊,內容推薦,圖庫管理,網紅人物識別,明星人物識別,圖像搜索,商品圖片搜索,版權圖片搜索,通用圖片搜索,車牌識別,垃圾分類,車輛檢測,菜品識別,車型識別,犬類識別,實例分割,風格遷移,智能填充,智能識圖,拍照搜商品,精準廣告投放,電商導購,圖像分析,圖像理解,圖像處理,圖像質量評估,場景識別,物體識別,場所識別,圖像自訓練平台,圖像分類,目標檢測,圖像分割,關鍵點檢測,圖像生成,場景文字識別,度量學習,圖像識別,圖像比對,圖像分類使用手冊,圖像分類API文檔目標檢測使用手冊,目標檢測API文檔Logo檢測使用手冊,Logo檢測API文檔,通用圖片搜索,車牌識別,垃圾分類,車輛檢測,車型識別,犬類識別,實例分割,風格遷移,智能填充,車牌識別,相冊聚類,場景與物體識別,無限天空,圖像識別引擎,黃色圖片識別,暴力圖像識別,工業輪胎智能檢測,肋骨骨折識別,顯微識別,圖像處理,廣告識別,人臉演算法,人體演算法,圖像識別,圖像增強,OCR,圖像處理,ZoomAI,智能貼圖,智能製作,質量評價,圖像識別,智能鑒黃,圖像識別,實時手寫識別,唇語識別,通用文字識別,手寫文字識別,圖像技術,圖像識別,圖像審核,圖像搜索,圖像增強,圖像特效,車輛分析,圖像生成,繪畫機器人獨家,動漫化身獨家,像素風獨家,超清人像獨家,圖像融合,換臉技術,神奇變臉,圖像風格化,證件照生成,線稿圖像識別,寶寶檢測,圖像分類,圉像深度估計,天空分割,食物分割,貓狗臉技術,食物識別獨家,圖像美學評分,車輛分析,車型識別,車型識別(含指導價),車型識別(含配置參數),車標識別,人臉識別(活體),車牌識別,表情識別,安全帽識別,計算機影像,計算機視覺,聚焦光學字元識別、人臉識別、質檢、感知、理解、交互,圖像視頻分析,Logo檢測,內容審核,智能批改,筆記評估,思維導圖評估,物體檢測,物體識別。

二、人臉、體態、眼瞳、聲音、指紋

人臉分割人臉識別,無,人體分析HAS,識別人的年齡,性別,穿著信息,客流統計分析,智能客服,熱點區域分析,人體檢測,人臉口罩識別,人臉對比,人臉搜索,人臉檢測與屬性分析,人臉活體檢測,人體關鍵點檢測,行人重識別,細粒度人像分割,人像分割,人臉解析,3D人體姿態估計,人臉融合,人臉識別,換臉甄別,人臉支付,人臉核身,人像變換,人臉試妝,人臉融合,人體分析,手勢識別,人臉驗證與檢索,人臉比對,人臉比對sensetime,人臉水印照比對,靜默活體檢測,靜默活體檢測sensetime,人臉檢測和屬性分析,人臉特徵分析tuputech,配合式活體檢測,人臉安防,計算機視覺,智能應用服務,人臉查詢人臉分析人臉統計名單庫管理人臉布控,人臉應用,人體應用,人體查詢,車輛查詢車輛分析車輛統計車輛布控車輛名單庫管理,車輛應用,人臉圖像識別人體圖像識別車輛圖像識別,圖像識別,圖像比對,人臉比對,人體檢測,人臉口罩識別,人臉對比,人臉搜索,人臉檢測與屬性分析,人臉活體檢測,人體關鍵點檢測,行人重識別,細粒度人像分割,人像分割,人臉解析,3D人體姿態估計,人臉融合,人臉識別,人臉檢測,人臉比對,人臉搜索,人臉關鍵點,稠密關鍵點,人臉屬性,情緒識別,顏值評分,視線估計,皮膚分析,3D人臉重建,面部特徵分析人體識別,人體檢測,人體關鍵點,人體摳像,人體屬性,手勢識別人像處理,美顏美型,人臉融合,濾鏡,聲紋識別支付,語音合成,語音合成,聲紋識別,語音喚醒,人臉識別引擎,攝像頭人臉識別,圖片人臉檢測,身份識別,人臉識別,人臉屬性,人體識別,聲紋識別,衣服檢索及聚類,語音分析,聲紋識別,說話人歸檔,人臉和人體識別,人臉檢測,手勢識別,人臉與人體識別,人臉識別雲服務,人臉識別私有化,人臉離線識別SDK,人臉實名認證,人像特效,人體分析,人臉技不,皮膚分析獨家,頭部分割,宏觀人臉分析,人臉關鍵點檢測,微觀人臉分析獨家,頭發分析獨家,五官分割,頭發分割人體技術,人體外輪廓點檢測獨家,精細化人像摳圖,人體框檢測,肢體關鍵點檢測,人像分割,服飾識別,手勢識別,皮膚分割,人臉,說話人識別,人臉檢測識別,人臉1:1比對,人臉檢測,AI人臉/人形車輛,大數據人像圖片防偽,QoS保障,CDN,表情識別,舉手動作識別,人臉檢測,網路切片,邊緣計算,人臉分析,人臉檢測,人臉搜索,人體分析,手勢識別,著裝檢測,人臉識別,行為檢測,人臉識別,人形檢測,行為分析,人臉檢測,人臉跟蹤,人臉比對,人臉查找,人臉屬性分析,活體檢測,聲音指紋,聲紋識別。

三、視頻

視頻分割、視頻處理、視頻理解、智能視覺、多媒體,視頻內容分析,人體動作監控,視頻分類,智能交通,人/動物軌跡分析,目標計數,目標跟蹤,視頻編輯-,精彩片段提取,新聞視頻拆分,視頻摘要,視頻封面,視頻拆條,視頻標簽-,視頻推薦,視頻搜索,視頻指紋-,數字版權管理,廣告識別,視頻快速審核,視頻版權,視頻查重,視頻換臉,車輛解析, 體育 視頻摘要,視頻內容分析,顏色識別,貨架商品檢測, 時尚 搭配,危險動作識別,無,無,視頻,視頻換臉,車輛解析, 體育 視頻摘要,視頻內容分析,顏色識別,貨架商品檢測, 時尚 搭配,危險動作識別,菜品識別,視頻識別引擎,結腸息肉檢測,胃鏡評估系統,視頻標簽,場景識別,客流分析,手勢識別,視頻技術,短視頻標簽,視覺看點識別,動態封面圖自動生成,智能剪輯,新聞拆條,智能插幀,視頻技術,多模態媒資檢索公測中,媒體內容分析,媒體內容審核,視頻生成,視頻動作識別,

四、ocr文字識別

手寫識別,票據識別,通用文檔,通用卡證,保險智能理賠,財稅報銷電子化,證照電子化審批,票據類文字識別,行業類文字識別,證件類文字識別,通用類文字識別,通用文字識別,駕駛證識別,身份證識別,增值稅發票識別,行駛證識別,營業執照識別,銀行卡識別,增值稅發票核驗,營業執照核驗,智能掃碼,行業文檔識別, 汽車 相關識別,票據單據識別,卡證文字識別,通用文字識別,手寫文字識別,印刷文字識別,銀行卡識別,名片識別,身份證識別intsig,營業執照識別intsig,增值稅發票識別intsig,拍照速算識別,公式識別,指尖文字識別,駕駛證識別JD,行駛證識別JD,車牌識別JD,身份證識別,增值稅發票識別,營業執照識別,火車票識別,計程車發票識別,印刷文字識別(多語種),印刷文字識別(多語種)intsig內容審核,色情內容過濾,政治人物檢查,暴恐敏感信息過濾,廣告過濾,OCR自定義模板使用手冊,OCR自定義模板API文檔,通用文字識別,駕駛證識別,身份證識別,增值稅發票識別,行駛證識別,營業執照識別,銀行卡識別,身份證識別,駕駛證識別,行駛證識別,銀行卡識別,通用文字識別,自定義模板文字識別,文字識別引擎,身份證識別,圖片文字識別,通用文字識別,身份證識別,名片識別,光學字元識別服務,通用文字識別,手寫體文字識別,表格識別,整題識別(含公式),購物小票識別,身份證識別,名片識別,自定義模板文字識別,文字識別,通用文字識別,銀行卡識別,身份證識別,字幕識別,網路圖片識別, 游戲 直播關鍵字識別,新聞標題識別,OCR文字識別,通用場景文字識別,卡證文字識別,財務票據文字識別,醫療票據文字識別, 汽車 場景文字識別,教育場景文字識別,其他場景文字識別,iOCR自定義模板文字識別,通用類OCR,通用文本識別(中英)通用文本識別(多語言)通用表格識別,證照類OCR,身份證社保卡戶口本護照名片銀行卡結婚證離婚證房產證不動產證,車輛相關OCR,行駛證駕駛證車輛合格證車輛登記證,公司商鋪類OCR,商戶小票稅務登記證開戶許可證營業執照組織機構代碼證,票據類OCR,增值稅發票增值稅卷票火車票飛機行程單計程車發票購車發票智能技術,票據機器人證照機器人文本配置機器人表格配置機器人框選配置機器人,文字識別,行駛證識別,駕駛證識別,表單識別器,通用文本,財務票據識別,機構文檔識別,個人證件識別,車輛相關識別,通用表格,印章識別,財報識別,合同比對,識別文字識別,簽名比對,OCR識別,教育OCR,印刷識別,手寫識別,表格識別,公式識別,試卷拆錄

五、自然語言NPL

文本相似度,文本摘要,文本糾錯,中心詞提取,文本信息抽取,智能文本分類,命名實體,詞性標注,多語言分詞,NLP基礎服務,地址標准化,商品評價解析智能簡訊解析,機器閱讀理解,金融研報信息識別,法律案件抽取,行業問答推理,行業知識圖譜構建,文本實體關系抽取,搜索推薦,知識問答,短文本相似度,文本實體抽取, 情感 傾向分析,興趣畫像匹配,文本分類-多標簽,文本分類-單標簽,定製自然語言處理,語言生成,語言理解,自然語言處理基礎,文本摘要,數據轉文字,文本生成,智能問答系統,內容推薦,評價分析,文本分類,對話理解,意圖理解, 情感 分析,觀點抽取,中文分詞,短文本相似度,關鍵詞提取,詞向量,命名實體,識別依存,句法分析, 情感 分析,評論觀點抽取,短文本相似度,機器翻譯,詞法分析,詞義相似度,詞向量,句法分析,文本分類,短語挖掘,閑聊,文本流暢度,同義詞,聚類,語言模型填空,新聞熱詞生成,機器閱讀理解,商品信息抽取,詞法分析, 情感 分析,關鍵詞提取,用戶評論分析,資訊熱點挖掘,AIUI人機交互,文本糾錯,詞法分析,依存句法分析,語義角色標注,語義依存分析(依存樹),語義依存分析(依存圖), 情感 分析,關鍵詞提取,NLP能力生產平台,NLP基礎技術,中文詞法分析-LAC,詞向量—Word2vec,語言模型—Language_model,NLP核心技術, 情感 分析、文本匹配、自然語言推理、詞法分析、閱讀理解、智能問答,信息檢索、新聞推薦、智能客服, 情感 分析、文本匹配、自然語言推理、詞法分析、閱讀理解、智能問答,機器問答、自然語言推斷、 情感 分析和文檔排序,NLP系統應用,問答系統對話系統智能客服,用戶消費習慣理解熱點話題分析輿情監控,自然語言處理,文本分類使用手冊,文本分類API文檔, 情感 分析,評論觀點抽取,短文本相似度,機器翻譯,詞法分析,詞義相似度,詞向量,句法分析,文本分類,短語挖掘,閑聊,文本流暢度,同義詞,聚類,語言模型填空,新聞熱詞生成,機器閱讀理解,商品信息抽取智能創作,智能寫作,搭配短文,種草標題,賣點標題,社交電商營銷文案,自然語言處理能力,基礎文本分析,分詞、詞性分析技術,詞向量表示,依存句法分析,DNN語言模型,語義解析技術,意圖成分識別, 情感 分析,對話情緒識別,文本相似度檢測,文本解析和抽取技術,智能信息抽取,閱讀理解,智能標簽,NLG,自動摘要,自動寫文章,語言處理基礎技術,文本審核, 情感 分析,機器翻譯,智能聊天,自然語言,基於標題的視頻標簽,台詞看點識別,意圖識別,詞法分析,相關詞,輿情分析,流量預測,標簽技術,自然語言處理,語義對話,自然語言處理,車型信息提取,關鍵詞提取,語義理解,語義相似度,意圖解析,中文詞向量,表示依存,句法分析,上下文理解,詞法分析,意圖分析,情緒計算,視覺 情感 ,語音 情感 , 情感 分析,沉浸式閱讀器,語言理解,文本分析,自然語言處理,在線語音識別,自然語言理解火速上線中, 情感 判別,語義角色標注,依存句法分析,詞性標注,實體識別,中文分詞,分詞,

6、知識圖譜

知識圖譜,葯學知識圖譜,智能分診,騰訊知識圖譜,無,葯學知識圖譜,智能分診,知識理解,知識圖譜Schema,圖資料庫BGraph,知識圖譜,語言與知識,語言處理基礎技術,語言處理應用技術,知識理解,文本審核,智能對話定製平台,智能文檔分析平台,智能創作平台,知識圖譜,實體鏈接,意圖圖譜,識別實體,邏輯推理,知識挖掘,知識卡片

7、對話問答機器人

智能問答機器人,智能語音助手,智能對話質檢,智能話務機器人,無,電話機器人,NeuHub助力京東智能客服升級,騰訊雲小微,智能硬體AI語音助手,對話機器人,無,問答系統對話系統智能客服,Replika對話技術,客服機器人,智能問答,智能場景,個性化回復,多輪交互,情緒識別,智能客服,金融虛擬客服,電話質檢,AI語音交互機器人,中移雲客服·智能AI外呼,人機對話精準語義分析

8、翻譯

協同翻譯工具平台,電商內容多語言工具,文檔翻譯,專業版翻譯引擎,通用版翻譯引擎,無,機器翻譯,無,機器翻譯,音視頻字幕平台,機器翻譯,機器翻譯niutrans,文本翻譯,語音翻譯,拍照翻譯,機器翻譯,機器翻譯,文本翻譯,語音翻譯,通用翻譯,自然語言翻譯服務,文本翻譯,圖片翻譯,語音翻譯,實時語音翻譯,文檔翻譯(開發版,機器翻譯,文本翻譯,語音翻譯,拍照翻譯,機器翻譯實時長語音轉寫,錄音文件長語音轉寫,翻譯工具,機器翻譯火速上線中

9、聲音

便攜智能語音一體機,語音合成聲音定製,語音合成,一句話識別,實時語音識別錄音文件識別,客服電話,語音錄入,語音指令,語音對話,語音識別,科學研究,安防監控,聲音分類,語音合成,語音識別,實時語音轉寫,定製語音合成,定製語音識別,語音合成,語音合成聲音定製,離線語音合成,短語音識別,錄音文件識別,聲紋識別,離線語音識別,實時語音識別,呼叫中心短語音識別,呼叫中心錄音文件識別,呼叫中心實時語音識別,語音識別,語音合成,聲紋識別,語音識別,語音聽寫,語音轉寫,實時語音轉寫,語音喚醒,離線命令詞識別,離線語音聽寫,語音合成,在線語音合成,離線語音合成,語音分析,語音評測,性別年齡識別,聲紋識別,歌曲識別,A.I.客服平台能力中間件,語音識別,語音交互技術,語音合成,語音合成聲音定製,離線語音合成,短語音識別,錄音文件識別,聲紋識別,離線語音識別,實時語音識別,呼叫中心短語音識別,呼叫中心錄音文件識別,呼叫中心實時語音識別,遠場語音識別,語音識別,一句話識別,實時語音識別,錄音文件識別,語音合成,實時語音識別,長語音識別,語音識別,語音合成,波束形成,聲源定位,去混響,降噪,回聲消除,分布式拾音,語音識別,語音喚醒,語音合成,聲紋識別,智能語音服務,語音合成,短語音識別,實時語音識別,語音理解與交互,離線喚醒詞識別,語音識別,一句話識別,實時語音識別,錄音文件識別,電話語音識別,語音喚醒,離線語音識別,離線命令詞識別,遠場語音識別,語音合成,通用語音合成,個性化語音合成,語音技術,短語音識別,實時語音識別,音頻文件轉寫,在線語音合成,離線語音合成,語音自訓練平台,語音交互,語音合成,語音識別,一句話識別,實時短語音識別,語音合成,語音喚醒,本地語音合成,語音翻譯,語音轉文本,短語音聽寫,長語音轉寫,實時語音轉寫,語音內容審核,會議超極本,語音交互技術,語音識別,語義理解,語音合成,音頻轉寫,音視頻類產品,語音通知/驗證碼,訂單小號,撥打驗證,點擊撥號,數據語音,統一認證,語音會議,企業視頻彩鈴,語音識別,語音文件轉錄,實時語音識別,一句話語音識別,語音合成,通用語音合成,個性化語音合成,語音評測,通用語音評測,中英文造句評測,在線語音識別,語音識別,語音喚醒,語音合成,語音合成,語音識別,語音聽寫,語音轉寫,短語音轉寫(同步),語音識別,語音 情感 識別

十、數據挖掘AI硬體

演算法類型:包括二分類、多分類和回歸,精準營銷,表格數據預測,銷量預測,交通流量預測,時序預測,大數據,無,機器學習使用手冊,機器學習API文檔,大數據處理,大數據傳輸,數據工廠,大數據分析,數據倉庫,數據採集與標注,數據採集服務,數據標注服務,AI開發平台,全功能AI開發平台BML,零門檻AI開發平台EasyDL,AI硬體與平台,GPU雲伺服器,機器人平台,度目視頻分析盒子,度目AI鏡頭模組,度目人臉應用套件,度目人臉抓拍機,人臉識別攝像機,昆侖AI加速卡,智能預測,購車指數,數據科學虛擬機,平台效率,雲與AI,抗DDoS,天盾,網站漏洞掃描,網頁防篡改,入侵檢測防護,彈性雲伺服器,對象存儲服務,雲專線(CDA,AI計算機平台—360net深度學習基礎模型,AI演算法訓練適配主流AI框架

十一、其他

內容審核,智能鑒黃,特定人物識別,通用圖片審核,文本智能審核,廣告檢測,Logo檢測,商品理解,拍照購,商品圖片搜索,通用商品識別,疫情物資識別,酒標識別,細分市場劃分,品牌競爭力分析,老品升級,新品定製,商品競爭力分析,商品銷量預測,商品營銷,用戶評論佔比預測,商品命名實體識別,商品顏色識別,強化學習,智能地圖引擎,內容審核,智能鑒黃,特定人物識別,通用圖片審核,文本智能審核,廣告檢測,Logo檢測商品理解,拍照購,商品圖片搜索,通用商品識別,疫情物資識別,酒標識別,細分市場劃分,品牌競爭力分析,老品升級,新品定製,商品競爭力分析,商品銷量預測,商品營銷,用戶評論佔比預測,商品命名實體識別,商品顏色識別,個性化與推薦系統,推薦系統,輿情分析,輿情標簽,智慧教育,智能語音評測,拍照搜題,題目識別切分,整頁拍搜批改,作文批改,學業大數據平台,文檔校審系統,會議同傳系統,文檔翻譯系統,視頻翻譯系統,教育學習,口語評測,朗讀聽書,增強現實,3D肢體關鍵點SDK,美顏濾鏡SDK,短視頻SDK,基礎服務,私有雲部署,多模態交互,多模態 情感 分析,多模態意圖解析,多模態融合,多模態語義,內容審查器,Microsoft基因組學,醫學人工智慧開放平台,數據查驗介面,身份驗證(公安簡項),銀行卡驗證,發票查驗,設備接入服務Web/H5直播消息設備託管異常巡檢電話提醒,音視頻,視頻監控服務雲廣播服務雲存儲雲錄制,司乘體驗,智能地圖引擎,消息類產品,視頻簡訊,簡訊通知/驗證碼,企業掛機彩信,來去電身份提示,企業固話彩印,模板閃信,異網簡訊,內容生產,試卷拆錄解決方案,教學管理,教學質量評估解決方案,教學異常行為監測,授課質量分析解決方案,路況識別,人車檢測,視覺SLAM,高精地圖,免費SDK,智能診後隨訪管理,用葯管家,智能預問診,智能導診,智能自診,智能問葯,智能問答,裁判文書近義詞計算,法條推薦,案由預測,

B. 那些經典演算法:AC自動機

第一次看到這個名字的時候覺得非常高級,深入學習就發現,AC就是一種多模式字元串匹配演算法。前面介紹的BF演算法,RK演算法,BM演算法,KMP演算法都屬於單模式匹配演算法,而Trie樹是多模式匹配演算法,多模式匹配演算法就是在一個主串中查找多個模式串,舉個最常用的例子,比如我們在論壇發表評論或發帖的時候,一般論壇後台會檢測我們發的內容是否有敏感詞,如果有敏感詞要麼是用***替換,要麼是不讓你發送,我們評論是通常是一段話,這些敏感詞可能成千上萬,如果用每個敏感詞都在評論的內容中查找,效率會非常低,AC自動機中,主串會與所有的模式串同時匹配,這時候就可以利用AC自動機這種多模式匹配演算法來完成高效的匹配,

AC自動機演算法是構造一個Trie樹,然後再添加額外的失配指針。這些額外的適配指針准許在查找字元串失敗的時候進行回退(例如在Trie樹種查找單詞bef失敗後,但是在Trie樹種存中bea這個單詞,失配指針會指向前綴be),轉向某些前綴分支,免於重復匹配前綴,提高演算法效率。
常見於IDS軟體或病毒檢測軟體中病毒特徵字元串,可以構建AC自動機,在這種情況下,演算法的時間復雜度為輸入字元串的長度和匹配數量之和。

假設現有模式字元串集合:{abd,abdk, abchijn, chnit, ijabdf, ijaij} 構建AC自動機如下:

說明:

1)當前指針curr指向AC自動機的根節點:curr=root。
2)從文本串中讀取(下)一個字元。
3)從當前節點的所有孩子節點中尋找與該字元匹配的節點:

4)若fail == null,則說明沒有任何子串為輸入字元串的前綴,這時設置curr = root,執行步驟2.
若fail != null,則將curr指向 fail節點,指向步驟3。
理解起來比較復雜,找網上的一個例子,假設文本串text = 「abchnijabdfk」。
查找過程如下:

說明如下:
1)按照字元串順序依次遍歷到:a-->b-->c-->h ,這時候發現文本串中下一個節點n和Trie樹中下一個節點i不匹配,且h的fail指針非空,跳轉到Trie樹中ch位置。
注意c-->h的時候判斷h不為結束節點,且c的fail指針也不是結束節點。
2)再接著遍歷n-->i,發現i節點在Trie樹中的下一個節點找不到j,且有fail指針,則繼續遍歷,
遍歷到d的時候要注意,d的下一個匹配節點f是結束字元,所以得到匹配字元串:ijabdf,且d的fail節點也是d,且也是結束字元,所以得到匹配字元串abd,不過不是失敗的匹配,所以curr不跳轉。

先將目標字元串插入到Trie樹種,然後通過廣度有限遍歷為每個節點的所有孩子節點找到正確的fail指針。
具體步驟如下:
1)將根節點的所有孩子節點的fail指針指向根節點,然後將根節點的所有孩子節點依次入隊列。
2)若隊列不為空:
2.1)出列一個字元,將出列的節點記為curr,failTo表示curr的
fail指針,即failTo = curr.fail 。
2.2) 判斷curr.child[i] == failTo.child[i]是不是成立:
成立:curr.child[i].fail = failTo.child[i]
因為當前字元串的後綴和Tire樹的前綴最長部分是到fail,
且子字元和failTo的下一個字元相同,則fail指針就是
failTo.child[i]。
不成立: 判斷failTo是不是為null是否成立:
成立: curr.child[i].fail = root = null。
不成立: failTo = failTo.fail 繼續2.2
curr.child[i]入列,再次執行步驟2)。
3)隊列為空結束。

每個結點的fail指向的解決順序是按照廣度有限遍歷的順序完成的,或者說層序遍歷的順序進行,我們根據父結點的fail指針來求當前節點的fail指針。

上圖為例,我們要解決y節點的fail指針問題,已經知道y節點的父節點x1的fail是指向x2的,根據fail指針的定義,我們知道紅色橢圓中的字元串序列肯定相等,而且是最長的公共部分。依據y.fail的含義,如果x2的某個孩子節點和節點y表示的表示的字元相等,y的fail就指向它。
如果x2的孩子節點中不存在節點y表示的字元。由於x2.fail指向x3,根據x2.fail的含義,我們知道綠色框中的字元序列是相同的。顯然如果x3的某個孩子和節點y表示字元相等,則y.fail就指向它。

如果x3的孩子節點不存在節點y表示的字元,我們重復這個步驟,直到xi的fail節點指向null,說明我們達到頂層,只要y.fail= root就可以了。
構造過程就是知道當前節點的最長公共前綴的情況下,去確定孩子節點的最長公共前綴。

下圖中,每個節點都有fail虛線,指向根節點的虛線沒畫出,求圖中c的孩子節點h的fail指向:

原圖中,深藍色的框出來的是已經確定fail指針的,求紅色框中h節點的fail指針。
這時候,我們看下h的父親節點c的fail指針指向,為ch中的c(這表示abc字元串的所有後綴bc和c和Trie樹的所有前綴中最長公共部分為c),且這個c節點的孩子節點中有字元為h的字元,所以圖中紅色框中框出的h節點的fail指針指向 ch字元串中的h。

求紅色框中i的fail指針指向,上圖中,我們可以看到i的父親節點h的指向為ch中的h,(也就是說我們的目標字元串結合中所有前綴和字元序列abch的所有後綴在Trie樹中最長前綴為ch。)我們比較i節點和ch中的h的所有子節點,發現h只有一個n的子節點,所以沒辦法匹配,那就繼續找ch中h的fail指針,圖中沒畫出,那麼就是它的fail指針就是root,然後去看root所有子節點中有沒有和i相等的,發現最右邊的i是和我們要找的i相等的,所以我們就把i的fail指針指向i,如後面的圖。

C. 公眾號文章違規檢測的工具有哪些

我現在在用的是西瓜助手,裡面有文章違規檢測工具,我覺得還不錯,直接拿文章鏈接進去檢測就可以了,如果文章有違規的話,馬上就可以檢測出來,及時刪除可以避免公眾號被封。

D. 字元串匹配演算法的使用(未完待整理)

字元串的匹配在Java中都知道使用indexOf函數來實現,那麼其匹配演算法是怎麼樣的呢?

單模式和多模式的區別就是一次遍歷主串能否將多個模式的字元串都查找出來。

英文全稱為Brute Force,暴力匹配演算法,匹配字元串的方法比較暴力,也比較簡單易懂。其大概的思路就是:

我們可以看到,在極端情況下,在主串 aaaa...aab 中尋找模式串 aab ,那麼總共需要尋找(n-m+1)次,且每次都需要比對m次,那麼時間復雜度將是 (n-m+1)*m ,即 O(n*m) ;但實際上並不會這么低效,因為我們的使用場景中主串和模式串都不會太長,而且在每個子串和模式串進行比對時,只要中途有一個不匹配,那麼當前比對就會提前結束,因此大部分情況下,時間復雜度都會比 O(n*m) 要好。

我們在BF演算法的基礎上引入哈希演算法,我們不需要將每個子串與模式串逐個字元地進行比較,而是計算得出每個子串的hash值,然後和模式串的hash值進行比較,如果有相等的,那就說明有子串和模式串匹配上了。

雖然我們只需要比對模式串和子串的hash值就能得到匹配結果,次數為(n-m+1),但是對每個子串進行hash計算的時候,是要遍歷每個字元的,因此次數也是m,那麼總的時間復雜度還是 O(n*m) ,並沒有明顯地提升。

那麼我們該如何想出一個辦法,使得每個子串hash值的計算時間得到提升呢?這就是RK演算法的精髓,假設子串包含的字元集中元素個數為k,那麼就用k進制數來代表這個子串,然後hash的過程就是將這個k進制的數轉換為十進制的數,這個十進制的數就是該子串的hash值。

相鄰子串的hash值計算是有規律的,我們只需要遍歷一次主串就能得到所有子串的hash值,演算法復雜度為O(n),而不是像原先一樣,每個子串都需要O(m)的時間復雜度。

然後將模式串的hash值和所有子串的hash值進行比較,每次比較的時間復雜度是 O(1) ,總共比較(n-m+1)次,所以RK演算法的總的時間開銷為 O(n)+O(1)*O(n-m+1) ,即為 O(n) ,時間復雜度比BF演算法更加高效。

當然,有hash的地方就有可能會存在hash沖突,有可能子串和hash值和模式串的hash值是一樣的,但內容就是不一樣,此時怎麼辦呢?其實很簡單,對於hash值一樣的子串,我們增加雙保險,再比較一下這m個字元是否都一樣即可,總的時間開銷為 O(n)+O(1)*O(n-m+1)+O(m) ,即為 O(n) 。

如果極端情況下出現了很多hash沖突呢?我們對於每個和模式串相同hash值的子串都需要逐一再進行比較,那麼總的時間開銷就會為 O(n)+O(1)*O(n-m+1)+O(m)*O(n-m+1) ,即為 O(n*m) ,不過這種概率太小了,大部分情況下都不會這樣。

在真正的文本編輯器中查找和替換某個字元串時,使用的演算法既不是上述的BF演算法,也不是RK演算法;BF演算法只適合不是很長的主串,RK演算法則要設計一個沖突概率很低的hash演算法,這個比較困難,所以實際使用的是BM演算法,它是工程中非常常用的一種字元串匹配演算法,效率也是最高的。

演算法的思想和過程有些復雜,待以後整理。

KMP演算法在本質上是和BM演算法一樣的。演算法的思想和過程有些復雜,待以後整理。

瀏覽器輸入框中的智能輸入匹配是怎麼實現的,它是怎麼做動態字元串匹配查找的呢?這就用到了Trie樹。

又名字典樹,是一種專門用來快速查找字元串前綴匹配結果的樹形結構,其本質就是將所有字元串的重復的前綴合並在一起,構造一個多叉樹。

其中,根節點不包含任何信息,每個節點表示一個字元,從根節點到紅色節點的一條路徑表示存儲的一個字元串。當我們在如上Trie樹中查找"he"時,發現"he"並非是一個字元串,而是"hello"和"her"的公共前綴,那麼就會找到這兩個字元串返回。

Trie樹在內存中是如何存儲的呢?因為每一個節點都可能是包含所有字元的,所以每一個節點都是一個數組(或者散列表),用來存儲每個字元及其後綴節點的指針。

使用Trie樹,最開始構建的時候,時間復雜度為 O(n) ,其中n為所有字元串長度之和,但是一旦構建完成,頻繁地查詢某個字元串是非常高效的,時間復雜度為 O(k) ,其中k為查找字元串的長度。

Trie樹雖然查詢效率很高,但是比較浪費內存,每一個節點都必須維護一個數組存放所有可能的字元數據及其指向下一個節點的指針,因此在所有字元串公共前綴並不多的時候,內存空間浪費地就更多了。這種問題其實也有對應的解決辦法,我們可以不使用數組,而是使用有序數組、散列表、紅黑樹來存放,可以相應地降低性能來節省內存空間。

Trie樹除了可以實現瀏覽器動態輸入內容查找候選項的功能外,還可以實現多模式地敏感詞匹配功能。假設我們需要對用戶輸入的內容進行敏感詞檢查,將所有的敏感內容用***代替,那麼該如何實現呢?

首先我們可以維護一個敏感詞字典,使用上述四種單模式匹配演算法也可以實現,但是需要遍歷N次用戶輸入的內容,其中N是所有敏感詞的模式串,顯得非常低效。但是我們如果將敏感詞字典維護為一個Trie樹,然後將用戶輸入的內容從位置0開始在Trie樹中進行查詢,如果匹配到紅色節點,那麼說明有敏感詞;如果沒有匹配到紅色節點,就從用戶輸入內容的下一個位置開始繼續在Trie樹中查詢,直至將用戶輸入內容遍歷完,因此我們只是遍歷了一遍主串。

然而更高效的多模式字元串匹配使用地更多的是如下的AC自動機。

如果把Trie樹比作BF演算法,KMP演算法是BF演算法的改進,那麼AC自動機就是利用同樣的思想改進了Trie樹。

演算法的思想和過程有些復雜,待以後整理。

閱讀全文

與敏感詞檢測演算法相關的資料

熱點內容
調度系統軟體python 瀏覽:201
微信大轉盤抽獎源碼 瀏覽:497
壓縮機損壞的表現 瀏覽:862
同步數據伺服器怎麼用 瀏覽:634
163郵箱伺服器的ip地址 瀏覽:50
伺服器跟域是什麼 瀏覽:128
rails啟動命令 瀏覽:465
logistic命令怎麼用 瀏覽:738
c語言點滴pdf 瀏覽:747
linuxrtc編程 瀏覽:258
linux打包並壓縮命令 瀏覽:644
aes加密的證書格式 瀏覽:99
oracledbcalinux 瀏覽:844
酬勤任務app怎麼被特邀 瀏覽:199
android應用文件夾 瀏覽:1002
平面設計法則pdf 瀏覽:339
3d圓角命令怎麼用 瀏覽:569
程序員買意外險還是重疾險 瀏覽:621
遼寧的dns伺服器地址雲空間 瀏覽:448
我的世界伺服器斷開後怎麼連接 瀏覽:415