Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql数据库上的数据挖掘_Php_Mysql_Data Mining - Fatal编程技术网

Php mysql数据库上的数据挖掘

Php mysql数据库上的数据挖掘,php,mysql,data-mining,Php,Mysql,Data Mining,我从文本挖掘开始。 我有两个包含数千个数据的数据库表 “技能”表和“技能类别”表 每个“技能”都属于一个技能类别 “skill”是数据库中的一个varchar(200)字段,其中有一些描述该技能的文本 以下是从技能表中提取的一些技能: PHP(高级)、Java(中级)、C++ “PHP5” “项目管理和质量管理” “开始使用Javascript” “水工程” “dfsdf-zerze-rzer” “cibling客户” 我想做的是从这些领域中提取知识,我的意思是只提取真正的技能,而忽略其他无

我从文本挖掘开始。 我有两个包含数千个数据的数据库表

“技能”表和“技能类别”表

  • 每个“技能”都属于一个技能类别
  • “skill”是数据库中的一个varchar(200)字段,其中有一些描述该技能的文本
以下是从技能表中提取的一些技能:

PHP(高级)、Java(中级)、C++ “PHP5” “项目管理和质量管理” “开始使用Javascript” “水工程” “dfsdf-zerze-rzer” “cibling客户”

我想做的是从这些领域中提取知识,我的意思是只提取真正的技能,而忽略其他无用的文本。 对于上面的示例,我只希望得到一个具有以下内容的数组:

“PHP” “Java” “C++” “PHP5” “项目管理” “质量管理” “Javascript” “水工程” “cibling客户”

我应该怎么做才能从大量数据中提取技能? 你知道具体的算法吗?例:k-意思是


提前谢谢

我将使用Regex解析每一行数据,首先用逗号(,)进行拆分,然后删除括号内的任何文本以及指向这些括号的空格。至于删除垃圾药典,也许与公认的单词列表相比


我还注意到,关键字“AND”表示两种不同的技能,根据您想要的输出。使用这种处理方法的结果可能有点粗略,因为数据不一定都是相同的格式。

很难从头开始

我会从某个地方解析一些技能集的数据,并将它们加载到一个表中,并将该表用作参考表,尝试匹配该表中的数据。否则,你无法确定这些单词或短语是否有意义

对于每个短语,我将使用以下算法

假设你有一个5个单词的短语

 "one two three four five"
首先,我要检查我的表中是否存在这个,如果存在,请保留它并转到下一个,如果不存在,请检查

 "one two three four" and "two three four five"
如果两者都不匹配,请检查

  "one two three", "two three four", "three four five"
等等

我知道这是一个有点混乱和漫长的道路,但它是第一件事在我脑海中出现


希望能有所帮助

您能展示一些真实世界的数据示例吗?有没有可行的解决方案?
<?php
$white_list = array(); // Add acceptable words and/or characters
$black_list = array(); // Add unacceptable words and/or characters

$s = '"PHP (good level), Java (intermediaite), C++" "PHP5" "project management and quality management" "begining Javascript" "water engineering" "dfsdf zerze rzer" "cibling customers"';

$words = explode(" ",$s);

$primary = array();
$secondary = array();
foreach($words as $word) {
    $new_word = trim(str_replace($black_list, "", $word));
    if (in_array($new_word,$white_list) == true) {
        $primary[] = $new_word;
    } else {
        $secondary[] = $new_word;
    }
}

$collected = '"' . implode('" "',$primary) . '"';