首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将文本解析为数据模型

将文本解析为数据模型
EN

Stack Overflow用户
提问于 2018-05-02 20:02:41
回答 1查看 151关注 0票数 1

我正试图将文本解析为我创建的数据模型,特别是怪物和RPG书籍。我从pdf中提取文本,如下所示:

代码语言:javascript
复制
Dire Rat
From age to age, dire rats vary in size. In this age, they're only half
as big as they sometimes get, but they're also twice as vicious.
1
st
 level mook [beast ]
Initiative: +2
Infected bite +5 vs. AC-4 ongoing damage
AC 15
PD 15  HP 6 (mook)
MD 10
Mook: Kill one dire rat mook for every 6 damage you deal to the mob.

下面是我想要的数据模型,碰巧是用C#编写的:

代码语言:javascript
复制
public interface IMonsterData
    {
        string Name { get; }
        int Level { get; set; }
        string Role { get; set; }
        string Type { get; set; }
        int Initiative { get; set; }
        int ArmorClass { get; set; }
        int PhysicalDefense { get; set; }
        int MentalDefense { get; set; }
        int HealthPoints { get; set; }
    }

期望的结果如下所示:

代码语言:javascript
复制
Name = Dire Rat
Level = 1
Role = mook
Type = beast
Initiative = 2
ArmourClass = 15
PhysicalDefense = 15
MentalDefense = 10
HealthPoints = 6

源文本将这些怪物分散在一本书的某一节中,所以大多数页面都没有怪物,然后出现了一个带有怪物的部分。有些适合在一页,有些是分裂,但我认为这并不重要,因为我已经把书中的所有文本作为字符串使用我找到的工具。

我使用C#和.Net进行手动解析,通过but查找只有"st,nd,rd,th“的行,并在这些行之间找到AC、PD,但我觉得这是一个很好的案例,可以用文本挖掘或其他形式的机器学习来解决。

问题是,我对机器学习或正确的算法(从文本挖掘到这里)一无所知,而且我只能在不知道任何关键字的情况下进行搜索。

我应该使用什么样的库、算法或类似的方法来实现我的目标?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-02 20:13:41

这看起来是个案子,要由老一辈的法官来解决。我对此的处理方式如下:

  • 过滤掉那些无用的记录(那些不包含相关字段的记录)。
  • 将这些相关记录中的每一条平平成一行,以便使用regex查询很容易地进行解析。
  • 尝试使用regex查询生成器(如 )来提取字段并将它们放置到模型中。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50142664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档