我有一些来自文字的标签和属性。 我正在寻找这些文档中的标签和属性的模式(在许多文档中出现的键值对的组合)。
我应该研究什么样的算法和工具?我想根据相关性和重要性对这些模式进行评分,而不仅仅是字符串匹配。
任何形式的投入都会很棒。 感谢
答案 0 :(得分:0)
我认为使用正则表达式和字符串匹配(一组规则,按优先级排序)是您的最佳选择。否则,您应该使用复杂的语言处理工具,这些工具需要大量的培训和庞大的数据集来确定您尝试挖掘的数据的概念。
答案 1 :(得分:0)
取决于。如果键是自然类,则使用标签作为数据对键进行分类(反之亦然)。如果不是,请使用聚类,hierchical(树形图)或flat( k -means)。
在聚类的情况下,字符串匹配是你的朋友,因为你可以将那些具有低距离的字符串聚集在一起(Levenshtein,LCS, n -gram重叠)。除了您可以想到的任何其他功能外,您还可以使用它。
答案 2 :(得分:0)
如果我正确理解你的问题,你就是在谈论关联挖掘。示例:attr1 == value1 ==> label = label1(95%percision)
有几种算法,其中一种是Apriori。
您的问题的第二种解释是特征选择,即选择对标签预测影响最大的属性。在那里你可以检查infogain / chi ^ 2选择所有你在Weka(www.cs.waikato.ac.nz/ml/weka)找到的工作人员。
如果您不想使用此类算法并实现它们,那么大多数简单实现将如下所示:
attributes = new SortedSet()
for a in attributes:
for label in labels:
for value in posible_values(a)
prob = count(a,value, label)/count(label) //this is propability cireteria, chi^2 works better
if(count(a)>MIN_SUPPORT) //not too rare
attrbutes.add(prob, (a, value, label))
print(attributes)