iT邦幫忙

0

Golang 自動搜尋文章關鍵字

Ks 2021-02-04 10:03:261217 瀏覽

請問如何在文章自動搜尋出關鍵字Tag這樣的東西?

後端使用的是Golang, 有沒有什麼library庫可以用呢?

目前想要做從文章標題和內容自動 > 找出資料庫 article_keyword table > 裡面匹配的關鍵字

謝謝各位

/images/emoticon/emoticon13.gif

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
japhenchen
iT邦超人 1 級 ‧ 2021-02-04 10:26:08
最佳解答

python有jieba結巴中文分詞庫可以使用,依詞性把文章中相關詞句分解,並以詞句詞性跟拼注音編碼存入資料庫或dict,搜尋時也是以分詞後進行搜尋

會這樣做的原因是......不要把想搜尋的人輸入的關鍵字當做完全正確輸入才能搜尋,錯字落字或加入不必要的感嘆句什麼的,都會影響正確性

或用商用的全文檢索來做吧

看更多先前的回應...收起先前的回應...
Ks iT邦新手 3 級 ‧ 2021-02-04 10:36:03 檢舉

如果是英文的也能行嗎 謝謝 因為我們的網站基本就是英文的

英文沒有分詞的必要,因為每個字之間都有空白或標點,中文才需做分詞

但!還是最好能做成字典,讓你的用戶在輸入時可以做autocomplete做自動修正,因為打錯字而找不到關鍵的情況也蠻常發生的

Ks iT邦新手 3 級 ‧ 2021-02-04 10:41:19 檢舉

明白, 就是說英文我們只需要看看用哪些算法來找出匹配的就行了嗎

至於演算法,這就交給全文檢索咯

Ks iT邦新手 3 級 ‧ 2021-02-04 10:45:53 檢舉

好的, 我再研究看看全文搜索, 謝謝, 目前在看著這算法, 因為大學的時候沒好好努力, 算法的東西都還給老師了
/images/emoticon/emoticon02.gif
https://www.jianshu.com/p/24895aca0459

https://www.golangprograms.com/golang-program-for-implementation-of-rabin-karp.html

froce iT邦大師 1 級 ‧ 2021-02-04 11:10:51 檢舉

jieba只是分詞用的,分詞完後基本上你得先篩選出這個詞重不重要(要不然你怎麼決定tag,總不可能所有分出來的詞都是tag吧?),TF-IDF就是這裡用的。

另外英文也要分詞,基本上TF-IDF用在英文更準,中文因為詞性不好分,加上斷詞不容易,所以不會很準。

然後全文搜尋可以看看Elasticsearch,這屆鐵人賽有贊助剛好很多教學文可以看。

建議叫使用者乖乖建tag比較實在。(茶

jieba可以把詞性分出來,還有預設權重,通常是愈常用的字詞權重愈大,關於結巴跟TF-IDF的資料,可參考前輩的鐵人賽文章
https://ithelp.ithome.com.tw/articles/10204535

我個人是有作一套智能音響raspberry版,用小鍵盤自製拼音輸入法(注音可對應),及麥克風語音在無螢幕界面(純CLI無GUI)下進行關鍵字輸入及搜尋隨身碟裡的萬首MP3/Youtube線上播放,分詞就顯的非常重要,中英文全文搜索真的很不一樣,碰壁久了還是要做下去

我要發表回答

立即登入回答