小编Tra*_*lio的帖子

针对多列的hstore用例

我在决定使用哪种方法时遇到了一些麻烦.

我有几个实体"类型",让我们称它们为A,B和C,它们共享一定数量的属性(大约10-15).我创建了一个名为ENTITIES的表,以及每个常用属性的列.

A,B,C也有一些(大部分)唯一属性(所有布尔值,可以是10到30左右).我不确定在对表建模时遵循的最佳方法是什么:

  1. 在ENTITIES表中为每个属性创建一个列,这意味着不共享该属性的实体类型将只具有空值.
  2. 对每个实体类型的唯一属性使用单独的表,这有点难以管理.
  3. 使用hstore列,每个实体都将在此列中存储其唯一标志.
  4. ???

我倾向于使用3,但我想知道是否有更好的解决方案.

postgresql database-design hstore

6
推荐指数
1
解决办法
2063
查看次数

从非结构化文本中提取信息

我收集了一些"文章",每篇文章长1到10个句子,用嘈杂的非正式英语(即社交媒体风格)写成.我需要从每篇文章中提取一些信息,如可用的日期和时间.我还需要了解文章的内容以及谁是主要的"演员".

举例说明:"从明天早上10点30分开始,每个人都需要出席,讨论公司的财务预测." ,我需要提取:

  • 日期/时间=>"明天早上10.30".
  • 话题=>"公司的财务预测".
  • 演员=>"每个人".

据我所知,可以在不使用NLP技术的情况下提取日期和时间,但我没有在Python中找到与Natty(http://natty.joestelmach.com/)一样好的东西.

在阅读了NLTK书的一些章节并观看了Coursera上NLP课程的一些视频后,我对如何继续进行的理解如下:

  1. 使用部分数据创建带注释的语料库.由于文本的非正式性质(例如拼写错误,无法提供信息的大写,单词缩写等等),我无法使用现成的语料库.
  2. 手动(叹气......)使用Penn TreeBank标签集中的标签为每篇文章添加注释.有没有办法自动执行此步骤并检查/修复结果?
  3. 在带注释的文章上训练POS标记器.我发现NLTK-trainer项目似乎很有希望(http://nltk-trainer.readthedocs.org/en/latest/train_tagger.html).
  4. Chunking/Chinking,这意味着我将不得不使用IOB表示法再次手动注释语料库(...).不幸的是,根据这个错误报告,n-gram chunkers被破坏了:https://github.com/nltk/nltk/issues/367.这似乎是一个重大问题,让我想知道我是否应该继续使用NLTK,因为它已经超过一年了.
  5. 在这一点上,如果我已经正确地完成了所有事情,我假设我会在块中找到actor,topic和datetime.正确吗?

我可以(暂时)跳过1,2和3并产生一个有效但可能具有高错误率的实现吗?我应该使用哪种语料库?

我还在考虑一个预处理步骤,以纠正常见的拼写错误或快捷方式,如"yess","c u"和其他可恶的错误.我已经存在的任何东西都可以利用吗?

简而言之,问题是:我解决这个问题的方法是否正确?如果没有,我做错了什么?

nlp nltk

6
推荐指数
1
解决办法
1435
查看次数

读取用户输入并将字符串匹配结果分配给参数

我需要编写一个读取用户输入的谓词。如果输入为“yes”(理想情况下为“yes”或“y”),则必须为参数分配“yes”,如果有任何不同,则必须分配“no”。

askContinue(Answer) :-
    write("Would you like to continue ?  "), read(Input), nl,
    (Input = "yes" -> Answer = true ; Answer = false).
Run Code Online (Sandbox Code Playgroud)

输出是:

?- askContinue(A).
Would you like to continue ? yes.

A = false.

?- askContinue(A).
Would you like to continue ? no.

A = false.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?

prolog

3
推荐指数
1
解决办法
281
查看次数

标签 统计

database-design ×1

hstore ×1

nlp ×1

nltk ×1

postgresql ×1

prolog ×1