NLP標籤/關鍵詞-提取工具-java開發
一、簡介
旨在幫助使用者自動挖掘文字標籤,是特徵關鍵詞提取工具,工具中整合了TextRank、TF-IDF演算法、詞跨度(SPAN)演算法和LDA主題模型演算法。
使用方法:
二、使用方法
2.1.TextRank
2.1.1.理論
參考:https://blog.csdn.net/u012998680/article/details/107713952
2.1.2.呼叫方法
public static void main(String[] args) {
String field = "6個小動作 讓你秒秒都能瘦 這是一套小動作組成的瘦身操。看過之後你會覺得,原來真的可以無處不在,生活中的任何一個細節,都可以抓緊機會鍛鍊和減肥的,真是太簡單了。 1、 門框斜壓收內側贅肉方法:身體離門框約1步距離,手摸門框下壓,左右各3秒鐘。 效果:平日運動不到的身體內側可以得到很好的拉伸。 2、刷杯子瘦手臂 方法:手臂儘量抬高,做刷杯子的動作,換手再做10分鐘。 效果:收緊手臂,緊緻乳房。 3、 反手拿重物提臀瘦手臂方法:雙手在身體後面做提拉重物動作。 效果:一週臀線上升2,手臂纖細2。 4、 讀書收腹減腿法方法:坐在椅子上讀書的時候雙膝之間夾毛巾,保持毛巾不掉下來即可。 效果:收緊肚子、大腿贅肉。 5、開門瘦四肢方法:。雙手交換做開拉門的動作;。雙腳交換做開拉門的動作。 效果:拉伸四肢贅肉,雕塑四肢線條。 // 6、金雞獨立穿鞋瘦腰 動作:單腳站立做穿鞋的動作。 效果:伸拉腰部贅肉,直接瘦腰。 (實習編輯:李紫嫣) ";
List<String> keywords = Demo.textRank(field,10);
System.out.println("關鍵詞:" + keywords);
}
2.1.3.結果
效果, 動作, 方法, 贅肉, 門框, 手臂, 身體, 小動作, 四肢, 瘦腰
2.2.tf-idf演算法
2.2.1.理論:
參考:https://blog.csdn.net/u012998680/article/details/107713952
2.2.2.訓練模型
@Test
public void IDFModelFit() throws Exception {
IDFModelOption option = new IDFModelOption()
.setMinFrequencey(2)
.setDir("data/")
.setModelDir("model/IDF/");
IDFModel model = new IDFModel(option);
model.fit();
}
2.2.3.呼叫方法
@Test
public void ldaTest() throws Exception {
Option option = new Option()
.setMetric(Metric.AVERAGE)
.setStrategies(StrategyMetrics.IDF)
.setModelOptions(new IDFModelOption())
.setFilter(MyStopRecognition.getInstance());
LabelHelper helper = new LabelHelper(option).build();
String str = "6個小動作 讓你秒秒都能瘦 這是一套小動作組成的瘦身操。看過之後你會覺得,原來真的可以無處不在,生活中的任何一個細節,都可以抓緊機會鍛鍊和減肥的,真是太簡單了。 1、 門框斜壓收內側贅肉方法:身體離門框約1步距離,手摸門框下壓,左右各3秒鐘。 效果:平日運動不到的身體內側可以得到很好的拉伸。 2、刷杯子瘦手臂 方法:手臂儘量抬高,做刷杯子的動作,換手再做10分鐘。 效果:收緊手臂,緊緻乳房。 3、 反手拿重物提臀瘦手臂方法:雙手在身體後面做提拉重物動作。 效果:一週臀線上升2,手臂纖細2。 4、 讀書收腹減腿法方法:坐在椅子上讀書的時候雙膝之間夾毛巾,保持毛巾不掉下來即可。 效果:收緊肚子、大腿贅肉。 5、開門瘦四肢方法:。雙手交換做開拉門的動作;。雙腳交換做開拉門的動作。 效果:拉伸四肢贅肉,雕塑四肢線條。 // 6、金雞獨立穿鞋瘦腰 動作:單腳站立做穿鞋的動作。 效果:伸拉腰部贅肉,直接瘦腰。 (實習編輯:李紫嫣) ";
List<KeywordLabel> labels = helper.predict(str, 10);
for (KeywordLabel keywordLabel : labels) {
System.out.println(keywordLabel);
}
}
2.2.4.結果
門框=3.664074638671668
拉門=3.6097760747158785
穿鞋=3.040698275381654
小動作=2.5687126373035953
四肢=2.5614579554770067
斜壓=2.553252568940863
贅肉=2.5139555911034943
重物=2.3745791096209836
杯子=2.3572229308186
讀書=2.2068687144082118
手摸=2.1985823826579303
2.3.詞跨度演算法
2.3.1.理論:
詞跨度是指一個詞或者短語字文中首次出現和末次出現之間的距離,詞跨度越大說明這個詞對文字越重要,可以反映文字的主題。一個詞的跨度計算公式如下:
其中,lasti表示詞i在文字中最後出現的位置, firsti表示詞 i 在文字中第一次出現的位置,sum表示文字中詞的總數。
詞跨度被作為提取關鍵詞的方法是因為在現實中,文字中總是有很多噪聲(指不是關鍵詞的那些詞),使用詞跨度可以減少這些噪聲。
2.3.2.呼叫方法
@Test
public void ldaTest() throws Exception {
Option option = new Option()
.setMetric(Metric.AVERAGE)
.setStrategies(StrategyMetrics.SPAN)
.setModelOptions(new WordSpanModelOption())
.setFilter(MyStopRecognition.getInstance());
LabelHelper helper = new LabelHelper(option).build();
String str = "6個小動作 讓你秒秒都能瘦 這是一套小動作組成的瘦身操。看過之後你會覺得,原來真的可以無處不在,生活中的任何一個細節,都可以抓緊機會鍛鍊和減肥的,真是太簡單了。 1、 門框斜壓收內側贅肉方法:身體離門框約1步距離,手摸門框下壓,左右各3秒鐘。 效果:平日運動不到的身體內側可以得到很好的拉伸。 2、刷杯子瘦手臂 方法:手臂儘量抬高,做刷杯子的動作,換手再做10分鐘。 效果:收緊手臂,緊緻乳房。 3、 反手拿重物提臀瘦手臂方法:雙手在身體後面做提拉重物動作。 效果:一週臀線上升2,手臂纖細2。 4、 讀書收腹減腿法方法:坐在椅子上讀書的時候雙膝之間夾毛巾,保持毛巾不掉下來即可。 效果:收緊肚子、大腿贅肉。 5、開門瘦四肢方法:。雙手交換做開拉門的動作;。雙腳交換做開拉門的動作。 效果:拉伸四肢贅肉,雕塑四肢線條。 // 6、金雞獨立穿鞋瘦腰 動作:單腳站立做穿鞋的動作。 效果:伸拉腰部贅肉,直接瘦腰。 (實習編輯:李紫嫣) ";
List<KeywordLabel> labels = helper.predict(str, 20);
for (KeywordLabel keywordLabel : labels) {
System.out.println(keywordLabel);
}
}
2.3.3.呼叫方法
贅肉=0.82
效果=0.72
動作=0.58
方法=0.56
拉伸=0.53
身體=0.3
雙手=0.28
收緊=0.27
手臂=0.21
四肢=0.16
2.4.LDA主題模型演算法
2.4.1.理論:
參考:https://blog.csdn.net/u012998680/article/details/108853280
2.4.2.訓練模型
@Test
public void LDAModelFit() throws Exception {
LDAModelOption option = new LDAModelOption()
.setDir("data/") //訓練檔案
.setModelDir("model/LDA/") //模型儲存資料夾
.setModelName("model-final")//模型多次迭代,預設選擇最後一輪結果
.setNiters(100)//迭代輪次
.setTwords(20)//top詞數
.setK(100);//主題數量
LDAModel model = new LDAModel(option);
model.fit();
}
2.4.3.呼叫方法
@Test
public void ldaTest() throws Exception {
Option option = new Option()
.setMetric(Metric.AVERAGE)
.setStrategies(StrategyMetrics.LDA)
.setModelOptions(new LDAModelOption());
LabelHelper helper = new LabelHelper(option).build();
String str = "6個小動作 讓你秒秒都能瘦 這是一套小動作組成的瘦身操。看過之後你會覺得,原來真的可以無處不在,生活中的任何一個細節,都可以抓緊機會鍛鍊和減肥的,真是太簡單了。 1、 門框斜壓收內側贅肉方法:身體離門框約1步距離,手摸門框下壓,左右各3秒鐘。 效果:平日運動不到的身體內側可以得到很好的拉伸。 2、刷杯子瘦手臂 方法:手臂儘量抬高,做刷杯子的動作,換手再做10分鐘。 效果:收緊手臂,緊緻乳房。 3、 反手拿重物提臀瘦手臂方法:雙手在身體後面做提拉重物動作。 效果:一週臀線上升2,手臂纖細2。 4、 讀書收腹減腿法方法:坐在椅子上讀書的時候雙膝之間夾毛巾,保持毛巾不掉下來即可。 效果:收緊肚子、大腿贅肉。 5、開門瘦四肢方法:。雙手交換做開拉門的動作;。雙腳交換做開拉門的動作。 效果:拉伸四肢贅肉,雕塑四肢線條。 // 6、金雞獨立穿鞋瘦腰 動作:單腳站立做穿鞋的動作。 效果:伸拉腰部贅肉,直接瘦腰。 (實習編輯:李紫嫣) ";
List<KeywordLabel> labels = helper.predict(str, 10);
for (KeywordLabel keywordLabel : labels) {
System.out.println(keywordLabel);
}
}
2.4.4.結果
動作=3.8887724510139923
身體=2.661365600884695
運動=2.3764437116685673
雙手=1.49493318442435
鍛鍊=1.469841001945945
手臂=1.0400248680048332
大腿=0.9809437721154729
編輯=0.700652470796032
實習=0.6795867783590948
雙腳=0.6585776522809864
三、應用分析
四個工具的關鍵詞提取效果其實差距不大,總體來看 TextRank≈SPAN > LDA > TF-IDF,執行速率也無明顯差別,可根據專案需求選用(個人推薦TextRank、SPAN,不用訓練模型).
相關文章
- 關鍵詞提取
- NLP segment-03-基於 TF-IDF 實現關鍵詞提取 java 開源實現Java
- 中文NLP筆記:3. 關鍵詞提取的幾個方法筆記
- 織夢標籤標題關鍵詞描述的調取方法
- 如何用Python提取中文關鍵詞?Python
- java—— finall 關鍵詞Java
- scrum敏捷開發工具leangoo標籤Scrum敏捷Go
- 數倉中指標-標籤,維度-度量,自然鍵-代理鍵等各名詞解析及關係指標
- 易優cms網站likearticle功能:透過前3個TAG標籤或前3個關鍵詞,檢索整站文件標題中含有tag標籤或者關鍵詞的相關文件-Eyoucms網站
- HanLP 關鍵詞提取演算法分析詳解HanLP演算法
- PbootCMS呼叫搜尋頁和標籤頁的關鍵詞及數量boot
- 自然語言處理工具hanlp關鍵詞提取圖解TextRank演算法自然語言處理HanLP圖解演算法
- Java關鍵詞synchronized解讀Javasynchronized
- 使用GPT-3為你的產品生成SEO等關鍵詞或標籤GPT
- 【python學習手冊】02|使用Python提取中文關鍵詞?Python
- 關鍵詞加粗和插入關鍵詞
- Chrome 開發者工具 performance 標籤頁的用法ChromeORM
- 開發必備詞典:Mysql保留關鍵字MySql
- jieba 基於 TF-IDF 演算法的關鍵詞提取Jieba演算法
- Java中用正則從HTML標籤中提取文字2種方法JavaHTML
- 高效的關鍵詞替換和敏感詞過濾工具
- 數倉中指標-標籤,維度-度量,自然鍵-代理鍵等各名詞術語深度解析指標
- Java的關鍵詞和註釋符Java
- robot 關鍵詞
- java關鍵字列表,Java開發面試題Java面試題
- NLP——史丹佛分詞工具簡單使用分詞
- 匹配關鍵詞和敏感詞
- JSTL標籤工具類JS
- 網站關鍵詞堆砌後,處理關鍵詞堆砌方法網站
- 如何做好文字關鍵詞提取?從三種演算法說起演算法
- 影音娛樂應用開發,這些關鍵詞請查收
- Java jvm級別native關鍵詞、JNI詳解JavaJVM
- mybaties 標籤相關BAT
- 什麼是長尾關鍵詞?如何找到長尾關鍵詞?
- 高亮:單關鍵詞、多關鍵詞、多組多關鍵詞,從簡單到複雜實現滿足多方面需求的頁面關鍵詞高亮
- 如何優化多個關鍵詞?分享多關鍵詞優化心得優化
- 什麼是關鍵詞策略?網站關鍵詞佈局重要嗎?網站
- 關鍵詞感知檢索