如何通过 NLTK 提取我想要的信息

Posted

技术标签:

【中文标题】如何通过 NLTK 提取我想要的信息【英文标题】:how to extract information I want by NLKT 【发布时间】:2016-06-15 09:53:20 【问题描述】:

我想提取几个主题的相关信息。例如:

产品信息 客户的购买体验 家人或朋友的推荐

在第一步中,我从其中一个网站中提取信息。例如:

作为我的比较,我认为 AIA 提供更好的人寿保险 公司比较,最重要的还有医疗保险 在我看来,是的,有一些代理商会卖给你的计划 他们的佣金很高......不用担心你从公司购买保险 发生任何事情你都可以联系公司也可以......更好 找一个可靠的代理人,而不仅仅是为佣金工作 目前,他们将来可能不会为您服务...谢谢您的爱戴安娜 ""

然后通过在VS2015中使用NLTK,我尝试拆分单词。

toks = nltk.word_tokenize(text)

通过使用 pos_tag 我可以标记我的 toks

postoks = nltk.tag.pos_tag(toks)

从这部分我不确定我应该怎么做? 以前,我使用 IBM 文本分析。在这个软件中,我用来创建字典,然后创建一些模式,然后分析数据。例如 :

字典示例:insurance_cmp : AIA, IMG, SABB

模式示例:

insurance_cmp + Good_Feeling_Pattern

insurance_cmp + ['purchase|Buy'] + Bad_Feeling_Pattern

Good_Feeling_Pattern = [好,喜欢,好]

Bad_Feeling_Pattern = [不好,更糟,不好,后悔]

我想知道我可以在 NLKT 中进行同样的模拟吗? chunker 和 create 语法可以帮助我提取我要查找的内容吗?请问您有什么提高自己的想法吗?

grammar = r"""
    NBAR:
        <NN.*|JJ>*<NN.*>  # Nouns and Adjectives, terminated with Nouns

    NP:
        <NBAR>
        <NBAR><IN><NBAR>  # Above, connected with in/of/etc...
"""
chunker = nltk.RegexpParser(grammar)

tree = chunker.parse(postoks)

请帮助我实现目标的下一步是什么?

【问题讨论】:

【参考方案1】:

你只需要关注这些video

或阅读此blog。

【讨论】:

以上是关于如何通过 NLTK 提取我想要的信息的主要内容,如果未能解决你的问题,请参考以下文章

7 从文本提取信息

如何使用 NLTK ne_chunk 提取 GPE(位置)?

如何使用 nltk 正则表达式模式来提取特定的短语块?

如何使用 nltk 从大文本语料库中仅提取英文单词?

nltk book的下载

通过python从HTML中提取特定信息