比如有如下短語
短語1:㈠ ㈡ ㈢ ㈣ ㈤ ㈥
短語2:㈠ ㈡ ㈢
短語3:㈣ ㈤
短語4:㈠ ㈡ ㈠
短語5:㈠ ㈢ ㈡
統計出如上短語里連續出現詞組(至少2個單詞以上)的次數。
結果應該是:
㈠ ㈡ ㈢ 出現2次
㈣ ㈤ 出現2次
㈠ ㈡ 出現3次
嘗試用N叉樹廣度遍歷構建樹,深度演算法解決詞頻,碰到節點線路變成環形,暫時還找不到解決辦法。
uj5u.com熱心網友回復:
要統計的資料發一份樣例出來,不同資料的統計方法區別很大uj5u.com熱心網友回復:
我問題里只是提個簡單的demo。需求是針對一篇英文文章,統計文章里單詞連續出現2次以上的單詞組成。
比如短文是:i am a man, i am a programmer. i am on programming now.
結果:
i am a(2次)
i am (3次)
uj5u.com熱心網友回復:
https://stackoverflow.com/questions/42752356/create-a-dictionary-with-word-groupsuj5u.com熱心網友回復:
帖子回復是用了預先預置的關鍵詞或短語字典,
最后一個回復是用了python的一些類別庫,不知道能否解決問題,另外,python如果熟悉,能否幫我轉成java?
謝謝
meaningful_text = 'As a Data Scientist, you will focus on machine
learning and Natural Language Processing'
from nltk.collocations import *
bigram_measures = nltk.collocations.BigramAssocMeasures()
finder = BigramCollocationFinder.from_words(word_tokenize(meaningful_text))
scored = finder.score_ngrams(bigram_measures.raw_freq)
sorted(scored, key=lambda s: s[1], reverse=True)
uj5u.com熱心網友回復:
目前用逐行拆詞,然后重組(2~n)個詞組,和后面行進行比較是否包含詞組,可以實作所要功能,1萬個短句子,差不多1秒內也能統計得出來,這么寫的演算法,感覺有點矬,有沒有對演算法熟悉的,提供更優的演算法?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/285054.html
標籤:Java相關
上一篇:增強for回圈
下一篇:請教JDBC批量插入的性能,謝謝
