Parsing 修复拼写错误并在凌乱的文本中查找地址 我正在做一个清理混乱的社交媒体和电子商务订单文本数据的项目,我想仔细检查一下我的方法,看看是否有我需要考虑的库和其他资源。

Parsing 修复拼写错误并在凌乱的文本中查找地址 我正在做一个清理混乱的社交媒体和电子商务订单文本数据的项目,我想仔细检查一下我的方法,看看是否有我需要考虑的库和其他资源。,parsing,text,nlp,Parsing,Text,Nlp,我正在处理数十万个英文文本片段,但它们不是完整的句子,包含人名、商号、联系信息、邮寄地址和社交媒体帖子的内容,包括Twitter和Instagram等社交媒体句柄的链接和句柄。我得到的文本只是一团无格式、无结构的文本。我要指出的是,文本通常是由短语和单词组成的,因此不能被认为是完整的英语句子;我之所以提到这一点,是因为我认为这可能会限制我使用标准NLP和词性标记技术进行语义分析的数量(但我不确定这一点) 我的目标是对每个文本片段实施以下修复和增强: 如果我可以自信地修复拼写错误,但如果没有可靠的

我正在处理数十万个英文文本片段,但它们不是完整的句子,包含人名、商号、联系信息、邮寄地址和社交媒体帖子的内容,包括Twitter和Instagram等社交媒体句柄的链接和句柄。我得到的文本只是一团无格式、无结构的文本。我要指出的是,文本通常是由短语和单词组成的,因此不能被认为是完整的英语句子;我之所以提到这一点,是因为我认为这可能会限制我使用标准NLP和词性标记技术进行语义分析的数量(但我不确定这一点)

我的目标是对每个文本片段实施以下修复和增强: 如果我可以自信地修复拼写错误,但如果没有可靠的替换项,请保留现有标记。请注意,我的文本中有一些多余的换行符,有时还缺少空格,因此拼写错误有三种:1)经常拼写错误(例如,“bananna”);无空格拼写错误:(例如,“yellowbanana”);额外空间拼写错误:(例如,“ban ana”) 标记地址和地名,这样我就可以对它们进行地理编码并链接到那个地方的地图

以下是一些虚构但具有代表性的例子:

例1:

7pcs  gillette razors and 1 mens cardi
gan sweater 231 E Front St Missoula 
MT Order total $34.39 shipping ground UPS
在本例中,我想修复“羊毛衫”的拼写错误,并注意到“231 E Front St Missoula MT”是一个邮寄地址

例2:

6600 cartons yellowbanana for @metmuseum 
Marpa was a seminal figure of early Tibetan Bud
dhism and principal teacher of Milarapa 
在这个例子中,我想修复“yellowbanana”的拼写错误和“Pharmacy”的拼写错误

虽然我当然可以编写一堆规则和正则表达式,但我正试图利用现有的NLP和其他工具来避免大量的特殊大小写。到目前为止,我正在研究以下实用程序:

  • 是Google Chrome、Firefox和许多其他项目使用的拼写检查器
  • 它构建在NLTK之上,似乎有许多不同的功能,尽管我不确定它是否可以处理我的非句子文本数据来解决上述问题。这看起来很强大,但我不确定如何利用它解决我的问题
  • 例如2,我发现它无法获取完整地址(尽管它确实获得了Missoula MT)。看起来也很有趣,虽然它只适用于美国和加拿大,而且我需要能够解析世界各地的地址。不幸的是,我不知道每个文本片段在哪个国家

如果你能给我一些建议,让我知道我是否走上了正确的道路,我将不胜感激。谢谢。

从NLP的角度来看,您的问题中有多个问题(或需要解决的数据挖掘问题):1)拼写更正,2)实体提取(在您的案例中是地址提取)

我要说的是,首先关注问题1,即拼写更正,然后将拼写更正后的文本传递给解决上述问题2的信息提取器模型

对于您的拼写更正,最好的选择是从数据(特别是您的数据)中学习的概率框架。目前最好的基于概率/机器学习的拼写矫正器是基于深度神经网络的模型。请看这里——这是代码(以及对它的改进)。您可以从标准拼写更正数据开始,然后可能添加一些您自己手工制作的训练数据,以针对您的特定情况调整模型


现在,对于实体提取,考虑到它的文本格式不好,从训练社交媒体文本(如twitter)和其他在线论坛(如和)的模型开始,然后从那里开始,通过添加您自己的标记数据和参数调整来调整它们

您在geocoder.ca上的第一个示例: $34.39%20装运%20地面%20 UPS

作出以下回应: 比赛地点 1
x在此行中找到了3个位置:

7件吉列剃须刀和1件男式开襟羊毛衫231 E1 Front1 St1 Missoula1 MT订单总额$34.39运费地面服务

  • 密苏里州米苏拉前东街399号(置信度:0.32)

  • 密苏里州米苏拉前大街西399号(置信度:0.32)

  • 蒙大拿州米苏拉前圣东(置信度:0.31)