10/10/2018, 11:22

Hỏi cách tìm 1 từ lặp lại ít nhất 2 lần trong 1 bài viết bằng PHP

Chào các bác, mình đang giải quyết 1 thuật toán khó như thế này (bằng PHP)

- Tìm các từ lặp lại ít nhất 2 lần trong 1 bài viết

Các từ có thể là từ đơn (ví dụ "tôi", "bạn"), và từ đôi (ví dụ "thế giới", "xã hội"). Từ đôi ko nhất thiết phải có nghĩa.

Mình tìm các class viết bằng php để giải quyết vấn đề này mà vẫn chưa tìm được (đối với bài viết bằng tiếng Việt). Bác nào có thể cho mình hướng để giải quyết không nhỉ. (Có thể xài ngôn ngữ khác, ko nhất thiết là PHP, hoặc nếu PHP thì càng tốt). Cảm ơn các bác trước.
bvnguyen viết 13:36 ngày 10/10/2018
tìm từ đơn thì dùng cái link dưới xem

http://devlup.com/programming/php/ho...tringphp/1276/
bluewayvn viết 13:23 ngày 10/10/2018
Từ đôi thì cũng tương tự vậy thôi, sau khi tách ra thành các từ thì cứ 2 từ lập thành 1 word là được.
bka viết 13:27 ngày 10/10/2018
Được gửi bởi seaurchin
Chào các bác, mình đang giải quyết 1 thuật toán khó như thế này (bằng PHP)

- Tìm các từ lặp lại ít nhất 2 lần trong 1 bài viết

Các từ có thể là từ đơn (ví dụ "tôi", "bạn"), và từ đôi (ví dụ "thế giới", "xã hội"). Từ đôi ko nhất thiết phải có nghĩa.

Mình tìm các class viết bằng php để giải quyết vấn đề này mà vẫn chưa tìm được (đối với bài viết bằng tiếng Việt). Bác nào có thể cho mình hướng để giải quyết không nhỉ. (Có thể xài ngôn ngữ khác, ko nhất thiết là PHP, hoặc nếu PHP thì càng tốt). Cảm ơn các bác trước.
bạn xem cái class này xem , mình thấy nó thỏa mãn ham muốn của bạn

Code:
http://www.phpclasses.org/package/3245-PHP-Automatically-suggest-keywords-from-content-text.html
y5cafe viết 13:38 ngày 10/10/2018
Được gửi bởi bvnguyen
tìm từ đơn thì dùng cái link dưới xem

http://devlup.com/programming/php/ho...tringphp/1276/
bạn thử sử dụng cách của bvnguyen
mình thấy giải quyết đc vấn đề rồi đó
Code:
<?php
//define the string
$str="Devlup is the part of G2 Networks g2";
//trim the whitespace
$str=trim($str);
//compress the whitespace
$str=ereg_replace('[[:space:]]+', ' ',$str);
//decompose the string into array of words
$words=explode(' ',$str);
//count occurence of each word
foreach($words as $w)
{
$wordstats[strtolower($w)]++;
}
//print all duplicate words
foreach($wordstats as $k=>$v)
{
	if($v>=2)
	{
		print "$k \r\n";
	}
}
?>
Bài liên quan
0