gpt4 book ai didi

python - NLP 句子意义提取方法

转载 作者:行者123 更新时间:2023-12-01 09:04:07 25 4
gpt4 key购买 nike

我想知道从文本中提取含义的最佳方法是什么。我给了NLTK读了一下,它确实给了我一些关于 NLP 基础知识的好信息。

我是 nlp 的新手,所以我很难决定我的方向应该是什么。阅读 NLTK 文本后,我想到什么可以解决我的问题:

这是我的理想目标和例句:

输入:

Do X on 8/29/2018 until 9/12/2018 (every Wednesday) and 9/10/2018 (Monday)

以粗体输出词性标记(至少是我的设想):

Do X on 8/29/2018(Date) until(Range) 9/12/2018(Date) (every(Frequency) Wednesday(Day) and 9/10/2018(Date) (Monday)(Day)

接下来,我将循环遍历词性标签并删除文本。我希望在适本地对文本进行分块之后,我需要进行一些额外的处理,以便找出用户到底想要什么。这是我认为从句子中成功提取含义后的输出:

8/29/2018 - 9/12/2018, Wednedays

9/10/2018, Monday

我意识到通过正则表达式可以轻松找到一个月中的日子、日期和日期等。

但我的问题是 NLTK 方法 nltk.pos_tag 方法对我不起作用。 (对于那些不熟悉的人,该方法是词性标记器,标记名词、动词等单词。)我很可能必须自定义我自己的 pos_tag方法?

这是我的问题。首先标记每个标记化的单词,然后将标签中的句子分块是否被认为是提取含义的最佳实践?

我猜我需要某种人工智能分类来学习分块部分,以便将来我可以从多个句子中提取含义。

我的方法合理吗?我疯了吗? :)

最佳答案

虽然你还没有发疯(可能:),但这是一个非常普遍的问题,(可能)很快就会被管理员标记为不适合 SO,因为它太宽泛了。 “提取句子的含义”基本上是每个从事 NLP 工作的人已经研究了几十年的事情。大多数(商业上/实践上)可行的方法之所以存在,只是因为它们的应用领域相对有限。想象一下用于酒店预订的聊天机器人(具有可明确定义的到达/出发日期、位置等时段)、允许语音输入的汽车导航系统(“我想去 X,避开高速公路”)等。

由于您的示例输出针对的是日期和时间,这确实不是 pos-tagger 的用途,因此某些时间分析模块可能更适合您的用例。我想到的唯一一个工具包是 https://github.com/HeidelTime/heideltime ,它使用 TimeML 方案(您可能也想看看)来指示具体的时间点和时间间隔,并尝试将其标准化为机器可读的时间点。

就 NLP 模块而言,您还需要哪些内容取决于您的输入。如果它相对严格(不同表达方式的数量很少),那么手动编写一个简单的语法可能是您最好的选择。然而事情很容易变得更加复杂。自然语言中的“从 dd-mm-yyyy 到 dd-mm-yyyy,每周一执行 X”同样可以表达为“每周一执行 X,从 dd-mm-yyyy 开始,到 dd-mm-yyyy 结束”。了解您的用户将使用哪种语言确实很有帮助。一个开箱即用的包或工具包通常可以从句子中提取含义(对于英语,更不用说其他 6000 种左右官方认可的语言之一(无论哪个机构决定):) 尚未被发现/开发.

除了 NLTK(我发现它对于教育目的非常有值(value),并且使用起来相对灵活,但现在也有点过时),您可以查看 https://spacy.io/ 。在某种程度上,它的目的是做同样的事情,但使用更现代的方法和数据集。

关于python - NLP 句子意义提取方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52213335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com