Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “填写”搜索词的NLP算法_Python_Nlp_N Gram - Fatal编程技术网

Python “填写”搜索词的NLP算法

Python “填写”搜索词的NLP算法,python,nlp,n-gram,Python,Nlp,N Gram,我正在尝试编写一个算法,我假设它将依赖自然语言处理技术来“填充”搜索词列表。这类事情可能有一个名字我不知道。这类问题叫什么?什么样的算法会给出以下行为 输入: docs = [ "I bought a ticket to the Dolphin Watching cruise", "I enjoyed the Dolphin Watching tour", "The Miami Dolphins lost again!", "It was good goi

我正在尝试编写一个算法,我假设它将依赖自然语言处理技术来“填充”搜索词列表。这类事情可能有一个名字我不知道。这类问题叫什么?什么样的算法会给出以下行为

输入:

    docs = [
    "I bought a ticket to the Dolphin Watching cruise",
    "I enjoyed the Dolphin Watching tour",
    "The Miami Dolphins lost again!",
    "It was good going to that Miami Dolphins game"
    ], 
    search_term = "Dolphin"
输出:

["Dolphin Watching", "Miami Dolphins"]
它应该基本上知道,如果海豚出现在所有,它几乎总是要么在大公海豚观看或迈阿密海豚。首选Python解决方案。

我在大学的NLP课上使用了,取得了不错的成功。我认为它有一些标记器可以帮助你确定哪些是名词,并帮助你把它解析成一棵树。我不太记得了,但我会从那里开始

它应该基本上知道,如果海豚出现在所有,它几乎总是要么在大公海豚观看或迈阿密海豚

听起来你想确定海豚出现在什么地方。搭配查找有多种方法,最常用的方法是计算语料库中术语之间的PMI,然后选择PMI最高的术语。你可能还记得我之前建议的PMI


NLTK as中包含了各种搭配查找方法的Python实现。1999年对该区域进行了一些深入的研究,但该主题仍然是最新的。

您如何知道海豚是bigrams海豚观察组织或迈阿密海豚组织的一部分?是不是因为每个二字格中的两个词都是大写的?或者你有另一个包含所需bigrams的列表吗?@RobertHarvey:一个好的NLP算法应该能够将[迈阿密海豚]作为一个术语解析出来。和[看海豚]一样。当你把每一个短语都当作一个问题来思考时,会更容易。问:你喜欢看什么巡演?A:[观看海豚]巡回赛],问:谁输了这场比赛?答:【迈阿密海豚】。您必须将其解析为一棵树,以查看哪些内容属于哪些内容。无论如何,这不是一个容易的问题……但你可以得到一些准确的结果。@RobertHarvey我有一个特定单词的列表,所以我知道海豚肯定在那里的某个地方。