簡體   English   中英

在ActiveRecord中尋找常用詞/短語

[英]Seeking Common Words/Phrases in ActiveRecord

在生產中使用PG進行Rails開發,在開發中使用SQLite3。 應用程式是一項有幾個問題的問卷調查。 每個問題的回答都有一個模型。 我有一個查詢,可分別提取每個問題的答案。

我希望能夠從該ActiveRecord結果中挑選出常見的單詞和/或短語來構建類似“單詞雲”的內容。 有沒有寶石可以做到這一點? 否則,將有一個貫穿此的代碼示例/教程。 我不確定要尋找答案的搜索內容,但是搜索“詞雲”似乎會彈出前端設計技巧。 我更關心獲取數據。

您可以將字計數邏輯卸載到PSQL:
此查詢應返回some_column中的some_table每個單詞以及其出現的次數。

SELECT word, count(*) AS word_count
FROM ( 
  SELECT regexp_split_to_table(some_column, '\s') as word
  FROM some_table
) t
GROUP BY word

這可以通過ActiveRecord執行,如下所示:

result = ActiveRecord::Base.connection.exec_query(query)

您可以將其與magic_cloud gem( https://github.com/zverok/magic_cloud )結合使用以生成單詞cloud作為圖像,如下所示:

words = result.map {|k, v| [v['word'], v['word_count'] ]} #untested
cloud = MagicCloud::Cloud.new(words, rotate: :free, scale: :log)

或者,將單詞返回為JSON並使用您喜歡的任何JS可視化庫進行處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM