簡體   English   中英

使用php從mysql動態創建關鍵字

[英]creating keywords dynamically from mysql using php

我的結構:在每個類別中都有文本。 這些文本是其自己的條目。 因此,表“類別”和表“文本”。 每個類別中大約有90個文本,每個文本大約300個字符。

我想做的是為類別創建元標記(關鍵字)。 如何>獲取所有相關的“文本”,並對所有單詞進行排名,並選擇前10個單詞。 這些前10名將是該類別的關鍵字元標記。

現在,技巧>如何檢索前10個單詞。 當前>我已經將每個文本(是全文)分成每個單詞的數組。 這個數組(在php中)將相當長。 之后,我將每個單詞的頻率和頻率再次排序。 Voila排名前10位。

我尚未測試此過程,但我想可能需要一點時間。 它將被緩存,因此它只需要每周運行一次,但是,我仍然不想超時。

你們有什么秘訣嗎? 任何幫助表示贊賞。

謝謝,

莫里斯

好的,現在我在上面的評論中說了我的平安,我將介紹您的算法。

有幾種方法可以做到這一點,我將重點介紹大量使用PHP的方法,而讓其他SOer進行其他一些操作。

我假設您已經查詢了數據庫,並將所有單詞以空格分隔的列表存儲在變量$ texts中

// Sample data in $texts
$texts      = "orange orange apple apple apple banana";
$withCounts = array_count_values( explode( ' ', $texts ) );

asort( $withCounts );
$topTen = array_keys( array_reverse( array_slice( $withCounts, -10 ) ) );

print_r( $topTen );

暫無
暫無

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

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