确定两行中是否是标题

时间:2018-12-20 17:12:21

标签: python python-3.x algorithm nlp

我正在尝试执行一个很容易由人类完成的任务:检测两行的第一行是否为标题行。这是示例输入的示例:

示例1:是

name,age
bob,12

示例2:是

first,last
bob,jones

Example3:否

1,2
8,hi

Example4:否

bob,jones
tom,smith

我对从何处开始进行有根据的猜测感到迷茫。它不一定是完美的(80%会很好),但是确定上述条件的捷径算法可能是什么?我在想一些事情:

# header is usually always strings (wrong in case 4)
for val in header:

    is val.replace(',','').replace('.','').replace('-','').isdigit():
        header = False
    else:
        header = True

2 个答案:

答案 0 :(得分:1)

一种方法是在您的行中具有要搜索的预设关键字列表;例如['name', 'age', 'first', 'last']。当然,这应该在您的数字检查之外。
如果您有一个或多个匹配项,则将其称为标头。

答案 1 :(得分:0)

似乎单词是数据标题中的普通名词。您可以使用诸如TextBlob之类的NLP框架来进行POS(词性)工作,以识别单词是名词还是人的名字。