Spark应用 —— 文本分析

本文介绍了如何使用Spark进行大规模文本分析,特别是在实体解析方面。通过词袋模型和TF-IDF权重来计算文本相似性,并利用Cosine相似性评估不同来源数据中的实体匹配度。内容包括字符串标记化、TF-IDF计算以及使用Cosine相似性度量文本间距离。
摘要由CSDN通过智能技术生成

实体解析在数据清理和融合中是一个普遍但困难的问题。这里我们将展示如何使用Spark来进行强大可扩展的文本分析技巧并执行跨数据集的实体解析。被用来描述结合来自不同数据源的记录表述同一实体的过程,另外一些常用的说法有实体连接、重复侦测、记录匹配、对象识别、数据融合等等。它指在数据集中找到跨不同数据源(例如数据文件、图书、网站、数据库)的同一实体的记录。

这里我们要处理来自两个不同数据库的记录,其中Amazon的记录为:

"id","title","description","manufacturer","price"

Google的记录为:

"id","name","description","manufacturer","price"
import re
DATAFILE_PATTERN = '^(.+),"(.+)",(.*),(.*),(.*)'

def removeQuotes(s):
    return ''.join(i for i in s if i!='"')

def parseDatafileLine(datafileLine):
    match = re.search(DATAFILE_PATTERN, datafileLine)
    if match is None:
        print 'Invalid datafile line: %s' % datafileLine
        return (datafileLine, -1)
    elif match.group(1) == '"id"':
        print 'Header datafile line: %s' % datafileLine
        return (datafileLine, 0)
    else:
        product = '%s %s %s' % (match.group(2), match.group(3), match.group(4))
        return ((removeQuotes(match.group(1)), product), 1)
现在载入数据文件

import sys
import os
from databricks_test_helper import Test

data_dir = os.path.join('databricks-datasets', 'cs100', 'lab3', 'data-001')

GOOGLE_PATH = 'Google.csv'
GOOGLE_SMALL_PATH = 'Google_small.csv'
AMAZON_PATH = 'Amazon.csv'
AMAZON_SMALL_PATH = 'Amazon_small.csv'
GOLD_STANDARD_PATH = 'Amazon_Google_perfectMapping
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值