我想解析教科书的索引,但格式始终不一致。关于如何处理这些条目的任何建议。
字字
话,##-###
罗嗦的话,###
父词,##
子词,##
没有 parent 的话就毫无意义,###
更多没有意义的单词 w/out parent, ##, ##
话,
##, ###-###, ###
育儿词,###-###
子词,##
专有名词与育儿有关,但除此之外没有任何意义,###
目标是能够通过首先出现的页码对它们进行排序,并将子文本附加到父文本并使用子文本的页码;代替老 child 。这样 Parenting Word child words, ##
存在。
最佳答案
我会回来编辑订单并上传图表。
- 如果条目有页码(只对有 child 的 parent 很重要)
- 如果词条前后的词条是按字母顺序排列的(会捕捉到一些专有名词)
- 如果条目是大写的(捕获除专有名词以外的所有内容)
- 在找到一个新的可能的 parent 时填写 parent 和 child 的信息(大写字母,而不是最后一个 child 的字母顺序,可能会查看页码是否存在较大差距)
- 页码只能附加“f”以表示数字。 <- 用浮点符号滥用它。
- 建立 parent 的链表(以帮助捕捉溜走的专有名词)
- parent 信息应该是动态的,这样如果一个专有名词在应该是 child 的时候确实被归类为 parent ,它可以快速转换为正确的 parent 。
为了帮助确定它是否是专有名词,请比较页码,如果在前任 parent 或 parent 的子女中提到了相同的页码或在合理范围内,则将其标记为可能的专有名词以供人工审核。
- 将分隔符设置为逗号,并在其周围添加一些魔法,以在其后和前查找“[0-9]”。我们知道 [0-9]f?\n[A-Z] 结束条目。
这一点也不快,但是对于 <10,000 行文本,应该不会太困难。蛮力!
关于algorithm - 解析教科书索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52908776/