2

我有一个从传入消息中提取信息的应用程序。这些消息都包含相同的信息,但它们具有不同的形式,具体取决于发送它们的来源。

例子:

来自源 A 的消息:

A: You spent $50.00 at Macy's on 2/20/12

来自源 B 的消息:

Purchase, $50.00, Macy's, 2Feb2012, Balance $5000.00

但是,来自单一来源的每条消息都具有相同的形式。所以目前,我正在通过编写一组正则表达式来首先识别我正在尝试解码的消息(即它来自什么来源,所以我知道消息的形式是什么),然后提取消息中的必要信息(在上面的示例中,我想知道交易金额、交易发生的商店和日期)。如果我发现消息的新来源,或者消息来源更改了他们的消息格式(不经常发生,但可能发生),我需要手动编写该消息的正则表达式。不过,我确信我可以使用某种机器学习技术自动执行此操作。我只是不太了解机器学习,而且我不知道 甚至不知道从哪里开始寻找适用于我的问题的技术。我希望有人能指出我从哪里开始阅读的正确方向。

4

1 回答 1

3

为了检测和标记金额、日期、人名和类似信息,您可以使用一种称为命名实体识别的技术。斯坦福命名实体识别器带有经过预训练的即用型模型。您还可以使用迄今为止生成的任何标记数据来为您的应用程序学习自定义模型。用于此目的的标准技术是条件随机场或序列感知器。有许多实现这些模型的工具包,包括:

  • Wapiti - 一个简单快速的判别序列标记工具包。
  • Sequor - 基于柯林斯 (2002) 感知器的序列标记器。
于 2012-07-22T13:04:39.267 回答