algorithm - 解析教科书索引

标签 algorithm sorting

我想解析教科书的索引,但格式始终不一致。关于如何处理这些条目的任何建议。

字字
话,##-###
罗嗦的话,###
父词,##
子词,##
没有 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/

相关文章:

java - 对 Java ArrayList 的一部分进行排序

java - 如何按内部键降序排序嵌套映射,然后按内部值升序排序?

javascript - 重新排序对象数组,使数组的每个位置都有一个特定的键/值对

algorithm - SystemML 决策树 - "NUMBER OF SAMPLES AT NODE 1.0 CANNOT BE REDUCED TO MATCH 10"

algorithm - 在图中查找具有最少红色顶点数的路径

algorithm - 检测给定图片是否为人脸的方法是什么?

arrays - MIPS 钻石分选

algorithm - 为什么基数排序是 O(nd) 而归并排序不是 O(d*nlogn)?

python - 一个点在图的内部还是外部(顶点和边)?

bash - 在 bash 中对 csv 文件中的十进制数进行排序