2012-10-13 37 views
1

所有的文字都是小case英語,沒有標點符號和短語被定義爲連續3個字來查找senetences列表最常見的詞組,這樣 如果一個句子是:我是傑西卡追捕如何使用哈希表的

這樣的短語是「我是傑西卡」和「是傑西卡追捕」

一個短語是常見的,如果它在文件中的所有句子目前

請幫我這一個適當的散列函數問題

+0

您上面的定義不包括終止* *句子*的規範*;你只能指定一個'短語'是什麼。此外,這個問題與關於哈希的數據分組一樣多,所以您需要認爲這對解決您的問題至關重要。 – WhozCraig

+0

句尾終止後 所以 你好你好嗎 好吧這很酷 是2句 –

回答

0

一切皆有。我將以(3 * a + 5 * b + 7 * c)開始,其中{a,b,c}是三個連續詞的詞數(或散列值)。 (ofcourse所有無符號和模字長)

  • tokenise成單詞,忽略空白和標點符號
  • 把所得的話爲哈希表(字典)
  • 步驟通過文件,保持了滑動窗口用於計算三令牌散列
  • 並將這些置換/更新到第二散列表中。
  • 對於衝突解決,這第二個哈希表需要有(指針,索引)訪問原始的三個單詞。
0

Jessica, 我想你需要一個n-gram hasher而不是第一句(這幾乎是相同的)。 我已經寫在C超快的n-gram鬆土,可以免費下載在: http://www.sanmayce.com/Downloads/index.html#Leprechaun

妖精會破掉「句」「我是傑西卡追捕」下調至這兩個3克: i_am_jessica am_jessica_hunt

也許n-gramming是你的事情。