【问题标题】:Find course name using nltk and python [closed]使用 nltk 和 python 查找课程名称 [关闭]
【发布时间】:2016-09-07 18:35:30
【问题描述】:

我是 NLTK 的新手。 我有一个包含非结构化文本的文件。我想从文本中提取定义课程名称或教育的短语。

例如: 文本 1:我是一名机械工程师 TEXT 2:我已经完成了计算机科学工程专业的毕业

我想提取的词只有“机械工程师”和“计算机科学工程”。

如何做到这一点? 如果可能,如何构建正则表达式进行匹配?

【问题讨论】:

    标签: python regex nltk stanford-nlp


    【解决方案1】:

    如果您只想提取“机械工程师”和“计算机科学工程”,则只需导入re(不是NLTK)并搜索:"[mM]echanical [eE]ngineer""[cC]computer [sS]cience [eE]ngineering".

    另一方面,如果您想为大学提供的每个专业都这样做,请给WordNet 看看。它支持标记化/词形还原 ngram(跨越多个单词的想法)。

    【讨论】:

      【解决方案2】:

      您的要求没有捷径可走。单从你举的例子就可以看出,仅仅看句子上下文是无法挖掘专业的。 (“我是一名机械工程师”看起来就像“我是一名加拿大高尔夫球手”。)所以你需要一个基于词库的方法。

      我首先会收集一些来自不同大学的专业列表(或者,如果您的所有数据都来自一个地方,请收集适用的列表)。然后,您可以努力搜索这些名称,但通常有一些非正式的方式来指代专业(“CSE”、“biochem”等)。要获得这些列表,您要么需要不同的名称来源,要么需要从您拥有的数据中手动注释重要的语料库。 然后您可以担心如何匹配列表中的名称,以及如何识别变体。

      【讨论】:

        猜你喜欢
        • 2015-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-14
        • 2015-09-03
        • 1970-01-01
        相关资源
        最近更新 更多