【问题标题】:How to classify unseen text data?如何对看不见的文本数据进行分类?
【发布时间】:2023-03-14 03:23:01
【问题描述】:

我正在为地址训练一个文本分类器,以便给定句子是否是地址。

Sentence examples :- 
(1) Mirdiff City Centre, DUBAI United Arab Emirates 
(2) Ultron Inc. <numb> Toledo Beach Rd #1189 La Salle, MI <numb>
(3) Avenger - HEAD OFFICE P.O. Box <numb> India

由于地址可以有 n 种类型,因此很难制作这样的分类器。是否有任何用于相同或任何其他非 ML 方式的预训练模型或数据库。

【问题讨论】:

  • 您是想对某物是否具有地址形式(例如42 wallaby way Sydney)进行分类,或者该地址是否真的存在于现实世界中?
  • 真实存在的实际地址
  • 看看https://smartystreets.com/articles/does-google-parse-standardize.
  • 您有需要分类的数据集吗?如果您可以将它(或至少部分)上传到某个地方,我们会更好地了解我们正在处理的数据类型。我们还可以测试我们提出的方法的准确性。

标签: python machine-learning keras deep-learning text-classification


【解决方案1】:

当我上次这样做时,问题非常困难,尤其是。因为我有国际地址,而且各国之间的差异很大。再加上人为添加的变异,即使对人类来说,问题也变得相当困难。

我最终构建了一个启发式方法(包含一些类似 PO BOX、一个可能的国家名称(grep wikipedia)、可能是城市名称),然后将所有剩余的可能地址放入谷歌地图 API。 GM 是一个很好的识别地址,但即使这样也会有误报,所以很可能需要手动检查。

我没有使用 ML,因为我的地址数据库“大”但不足以进行训练,尤其是。我们缺少带标签的训练数据。

【讨论】:

  • 我也在为更多的类进行分类,所以这会使推理变慢
【解决方案2】:

当您要求推荐文学作品时(顺便说一句,这个问题可能对这个地方来说太宽泛了),我可以向您推荐两个链接: https://www.reddit.com/r/datasets/comments/4jz7og/how_to_get_a_large_at_least_100k_postal_address/

https://www.red-gate.com/products/sql-development/sql-data-generator/

https://openaddresses.io/

您需要像@Christian Sauer 已经提到的那样构建标记数据,其中您有带有地址的示例。并且可能您还需要使用错误的地址制作虚假数据!因此,例如,您必须仅使用电话号码或其他任何内容来造句。但无论如何,这将是一个非常不平衡的数据集,因为您将拥有很多正确的地址,而只有少数不是地址。总的来说,您需要大约 1000 个示例才能有一个起点。

另一种选择是手动识别基本地址并进行相似性分析以识别与其相近的句子。

【讨论】:

    【解决方案3】:

    如前所述,验证地址是否有效 - 可能更好地形式化为信息检索问题,而不是机器学习问题。 (例如使用服务)。

    但是,从您提供的示例来看,您似乎有几种重复出现的实体类型,例如组织和位置。

    我建议使用 NER 来丰富数据,例如 spacy,并将实体类型用于特征或规则。

    请注意,命名实体识别器比典型的词袋分类器更多地依赖上下文,并且通常对看不见的数据更稳健。

    【讨论】:

      【解决方案4】:

      正如 Uri Goren 所说,问题在于命名实体识别,而市场上有很多经过训练的模型。尽管如此,最好的还是斯坦福NER。

      https://nlp.stanford.edu/software/CRF-NER.shtml 它是一个条件随机场 NER。它在 java 中可用。

      如果您正在寻找相同的 python 实现。看一下: How to install and invoke Stanford NERTagger?

      在这里,您可以从多个标签序列中收集信息,例如 , , 或任何其他类似的序列。如果它没有给你正确的东西,它仍然会以某种方式让你更接近整个文档中的任何地址。这是一个良好的开端。

      谢谢。

      【讨论】:

        猜你喜欢
        • 2019-10-26
        • 2019-10-08
        • 1970-01-01
        • 1970-01-01
        • 2019-09-18
        • 2015-09-13
        • 1970-01-01
        • 2016-11-30
        • 2021-02-08
        相关资源
        最近更新 更多