当前位置: 首页 > 科技观察

大数据中非结构化数据的挖掘:文本

时间:2023-03-20 02:21:41 科技观察

1、点击流中的非结构化文本数据有哪些?首先,让我们来描述一下什么是非结构化文本数据。这里指的是点击流的原始数据中以文本形式显示的数据,包括原始的LOG日志和一些已经结构化到数据库中的数据,比如AdobeAnalytics的DataFeed。Webtrekk中的原始数据。当然,有些数据虽然是文本或者字符串的形式,但并不是真正的非结构化,比如浏览器类型信息、推荐来源等。值虽然是文本,但是值是有规律的。这些数据在大多数数据库中都作为外键(FK)与维度表相关,因此严格意义上不属于非结构化数据。真实的非结构化文本数据,包括:搜索词:我们永远无法准确定义用户的搜索词是什么;完整的URL地址:特别是包含特定监控标签的地址;具体监控标签:通常以URLTags的形式给出监控情况;页面名称:名称的规范化取决于系统配置信息;用户自定义标签:如用户自己的评价标签——维安、高富帅等;文章专有信息:如文章摘要、关键词等,其次是Like用户,文章信息只是因为文章;用户评论和咨询内容:绝对非结构化段落;唯一设备号:如IMEI、MAC等(这部分通常作为关联主键和唯一识别标志,不会作为规则字段提取);该信息的特点是:①取值通常为文本或字符串,②长度不一致,单个取值结果的长度可能为1字节甚至1000字节,③没有明确的取值范围范围。2.这些数据从何而来?这些数据通常是用户定义的,也包括系统生成或收集的非结构化数据本身。自定义非结构化文本数据。这些信息通常是从工具中的自定义维度获取的,比如webtrends中的metea,AdobeAnalytics中的自定义Prop和eVar,UA中的Dimension等。比如AdobeAnalytics中Prop的字段是varchar(100),表示如果需要采集数据的单个结果长度超过100字节,结果将被截断;而eVar的字段格式和Prop一样,只是度数更长,为255,所以从底层数据支持的角度来看,如果自定义维度,尽量使用eVar来定义,不用考虑路径应用。系统获取的非结构化文本数据。比如会以Adobe分类规则生成器、处理规则或者JS自动复制变量值的形式生成。3、非结构化文本数据的应用场景有哪些?一般情况下,非结构化数据可以像结构化数据一样应用于各种报表或OLAP作为分析的维度;但这只能起到很小的作用,因为它仅依赖于固定维度的常规分析,难以挖掘非结构化数据中隐藏的知识点,因此需要借用数据挖掘的相关技术。以搜索词为例,基本上每个工具都会监控站点的搜索词,但是搜索词的一般应用场景大多集中在以下几种:对于操作系统,看用户最常搜索哪些词最近,哪些词有什么样的变化趋势,结合转化效果来指导搜索词的操作;对于采购和销售系统,挖掘用户通常使用哪些词来搜索某些类别,从而提高搜索结果在这些显示结果页面上的排名,以获得更好的展示和点击,创造销售机会;搜索产品开发,用户搜索后的结果数、排序功能、过滤等功能,用户触发了哪些连锁反应,为产品功能优化提供参考;对于SEO和SEM,站内搜索词可以作为站外SEM选词、匹配规则调整、站内页面SEO优化的参考……这些场景固然有用实用,但有一个问题,除了SEO和SEM对于key的选词和扩容方面,可以全量应用,其他业务系统不能直接复用。也就是说,SEO和SEM可以使用所有的关键词,而其他业务部门只能使用其中的一部分,因为大量的关键词并不能简单地从字面上挖掘出深层价值。例如,对于家电采购和销售,需要通过搜索某些关键字词根,过滤掉某个时间段内与家电相关的搜索词,然后使用正则匹配或模糊匹配来搜索结果并进行进一步分析,但总有很大一部分时间是business无法提取的值,比如:“Samsung”和“note2”,没有经验的人不知道这两者有什么关系?如果你搜索“三星”,你不知道他要找的是三星手机还是三星电视;一次面试搜了n多字,到底想找什么,还是随便看看?作为家电品类的目标客户,您通常会搜索哪些词?隐藏在用户搜索词中的具体需求是什么——例如超薄、红色或商务类?4.非结构化文本数据挖掘。默认情况下,我们以数据馈送或原始数据的形式进行挖掘。因此这里省略了数据监控采集和存储的过程,我们只从数据挖掘的角度来讨论。1.基于关联规则的文本挖掘最常用的关联规则是Apriori,其核心是基于两阶段频率集思想的递归算法。在事务性挖掘规则中(所谓事务性规则是事件之间的关联,没有事件的概念),比如哪两个事件或事物通常在一个事件中一起发生。这种关联规则的问题是缺乏时间因素,只能判断同一时期发生的事件。例如,关联规则的问题可能是:搜索三星的用户也搜索了苹果。这种结果应用在搜索功能体验上没有问题,但是如果应用在时间关系比较强的场景下使用,就会出现问题:A.B的两篇文章是上下文的两部分。这两部分通过关联规则肯定是很强相关的,但是里面的推荐逻辑是看完A(上图)之后再看B(下图),而不是先推荐它。B,再看A;A和B强相关,假设A是鼠标,B是笔记本,通常先买笔记本,再买鼠标。如果买了笔记本再买鼠标,显示器就失去了逻辑关系。像这样的应用场景很多,核心就是要考虑事情发生的先后顺序。因此,关联规则通常适用于没有明显时间序列的业务应用场景。此外,支持度和置信度的设置必须根据实际业务经验进行调整。support和confidence太低的规则是没有意义的,support和confidence太高了。该设置带来的规则太少。关联规则比其他数据挖掘模型更简单,更易于理解和应用于业务。他们通常会解释“做某事后会发生什么”,例如:用户搜索某个关键字后还会搜索什么?用户在查看页面/文章/评论后还会看什么?从某个渠道进入后,你一般从哪个渠道进入?2.时序模式挖掘时序模式挖掘与解释的关系与关联模型相同,只是考虑了时间因素。算法包括三类:Apriori-like算法:典型代表GSP算法、SPADE算法;基于分区模式的增长算法:典型代表有FreeSpan和PrefixSpan算法;基于序列比较的算法:代表是Disc-all;总体来说,PrefixSpan和Disc-all在算法效率和性能上会更好,同时考虑到业务的时间限制,比如我们分析发现用户的留存期只有1年,所以我们只想对1年内有重复行为的用户进行针对性的处理,1年是我们的约束条件。这也是基于时间序列需要考虑的因素。3、文本聚类挖掘聚类分析是业务进入数据挖掘场景最基本的需求。通常的要求是描述某类用户的基本特征。同时,这些特征可以作为进一步挖掘分析的基础条件。聚类分析中最常用的算法是K-MEANS聚类和两步聚类。由于聚类方法简单实用,这里分析一下两者的区别和主要应用点:K-MEANS聚类:客户特征整体分组分析,对大量会员或用户进行分组,不同群体的突出特点被发现。特点:①噪声过滤(但过滤的程度无法控制),②组数可自动或指定,③通过标准化减少极值的影响。两步聚类:两步聚类符合K-means的应用场景。特点:①需要指定组数,有一定的经验要求,②受极值和噪声点影响大,无法设置,③数据量大时,开销资源大,④受极值和噪声点影响大,④初始粒子选择的分类。通常我们使用文本中的字段作为聚类变量来挖掘某类用户的具体特征。文本聚类常见的业务场景是:对用户进行分类,然后查看某类用户中哪些特征比较明显,然后有针对性地进行进一步的切分和挖掘,例如:将购买的用户分为3类(指定或可以被系统自动分类),然后找出每一类用户的突出特征,比如A类用户对优惠券和折扣高度敏感,那么可以结合其他特征定义为价格型客户;B类用户产品需求集中度高,但受价格波动等因素影响较小,属于产品导向型;C类用户在评论、咨询、分享等方面的参与率较高,明显影响其购买决策,因此该类用户具有舆论导向性。将这些用户简单归类后,再深入挖掘每类用户受每个变量影响的程度,比如结合决策列表和决策树,挖掘其购买决策的影响因素,找出最终影响其购买决策的因素影响某类用户的决策。4、文本规则抽取所谓文本规则抽取,是指以文本作为用户抽取规则的变量。决策树、SVM和SLRM通常用于提取业务规则。哪些需求点、规则可以通过以下方式提取:决策树:决策树挖掘模式通常使用C5.0、C&RT、CHAID、QUEST等,决策树模型的特点是将规则以树的形式展现,并按照规则对目标分支的影响程度,非常有利于业务理解和规则抽取。文本规则抽取通常也称为分类,是指在具有某类目标的用户中抽取影响因素最大的若干条规则。这是业务应用程序最常用的数据挖掘模型。常用于:在已经找到的目标用户群中找到流失用户的集中特征。例如,上次购买之间的间隔超过6个月。数月的用户在损失前恢复;推广A类产品,可以对购买过A类产品的用户进行规则挖掘,可能会发现上次购买的是C类产品,同时收入高于1000,地区为北京地区用户,直接提取符合精准营销规则的用户;筛选出25岁以下的“新品首发”女性用户后,通过这些规则对用户进行精准营销,肯定会有很好的效果和推广效果;将客户分为A/B/C后,找到A类客户评论、标签、关键词中的Key字段,找到各类用户的典型情感标签。以上四类是文本数据挖掘中最常用的场景。由于文本的限制,文本不能参与数据挖掘中变量类型要求与数据值相关的字符集的建模。但是,文本经过处理后可以作为建模的重要变量,而且这个变量由于其非结构化属性而具有更多的颜色。在文本挖掘中,挖掘文本段落和提取关键词充满了挑战。例如,如何提取用户评论中大段文字中的关键词标签是关键。当然,值得欣慰的是国内有一些公司有实力做文本关键词提取,结合SEO手段基本上可以有效提取大段文本中的关键词。但另一个挑战是文本的“语义”。由于中文文本色彩丰富,判断文本的情感属性需要结合上下文,比如“很好”这个词,通常是褒义词,但如果像前面提到的那样是否定词上面,结合这个词,明显是有讽刺意味的。文本语义挖掘在用户舆论风向标、用户评价积极性、用户满意度和好感度方面的应用极为重要。目前还没有有效的机器解决方案。目前,机器算法与人工识别相结合是主流解决方案。当然,随着机器学习算法的深入研究和CPU性能的提升,机器很可能达到甚至超过人脑的能力。到时候,语言的判断可能就实现了。此外,通过人工干预预设固定场景和学习路径,或许可以解决中文语境问题。