我曾使用过Spacy,到目前为止,我发现其在自然语言处理方面非常直观和强大。
我正在尝试制作文本句子搜索,它既是基于
我有如下文本: 在计算机科学中,人工智能(AI),有时称为机器智能,是由机器展示的智能,不同于人类和动物展示的自然智能。领先的AI教科书将该领域定义为“智能代理”的研究:任何感知其环境并采取行动以最大化成功实现其目标的设备[1]。口语上,术语“人工智能”通常用于描述模仿与人类思维相关的“认知”功能(例如“学习”和“问题解决”)的机器(或计算机)。[2]
随着机器变得越来越有能力,被认为需要“智能”的任务经常从AI的定义中删除,这种现象称为AI效应[3]。特斯勒定理中的一个俏皮话说:“AI是尚未完成的任何事情。”[4]例如,光学字符识别经常被排除在被认为是AI的事物之外[5],因为它已经成为一种例行技术[6]。现代机器的能力通常被归类为AI,包括成功理解人类语音[7],在战略游戏系统中(如象棋和围棋)竞争[8],自主驾驶汽车,在内容交付网络中进行智能路由和军事模拟[9]。
人工智能于1955年作为一门学科创立,在此后的几年中经历了几波乐观主义[10][11],随后失望和资金损失(称为“AI寒冬”)[12][13],然后是新的方法、成功和再次获得资金[11][14]。在其大部分历史上,AI研究一直分为子领域,这些子领域经常无法相互沟通[15]。这些子领域基于技术考虑,例如特定目标(例如“机器人学”或“机器学习”)[16],使用特定工具(“逻辑”或人工神经网络),或者存在深刻的哲学差异[17][18][19]。子领域也基于社会因素(特定机构或特定研究人员的工作)[15]。
现在,我希望提取多个完整的句子,这些句子包含多个单词或字符串匹配。例如,我想搜索
是否有任何方法,导入Spacy模型,使用它可以检测短语匹配,例如查找所有包含智能和机器学习的单词并打印出来?同时,是否还可以以搜索机器学习的方式,提示深度学习、人工智能、模式识别等?
单词
也是基于内容类型
的搜索,但到目前为止,我没有找到任何使用Spacy的解决方案。我有如下文本: 在计算机科学中,人工智能(AI),有时称为机器智能,是由机器展示的智能,不同于人类和动物展示的自然智能。领先的AI教科书将该领域定义为“智能代理”的研究:任何感知其环境并采取行动以最大化成功实现其目标的设备[1]。口语上,术语“人工智能”通常用于描述模仿与人类思维相关的“认知”功能(例如“学习”和“问题解决”)的机器(或计算机)。[2]
随着机器变得越来越有能力,被认为需要“智能”的任务经常从AI的定义中删除,这种现象称为AI效应[3]。特斯勒定理中的一个俏皮话说:“AI是尚未完成的任何事情。”[4]例如,光学字符识别经常被排除在被认为是AI的事物之外[5],因为它已经成为一种例行技术[6]。现代机器的能力通常被归类为AI,包括成功理解人类语音[7],在战略游戏系统中(如象棋和围棋)竞争[8],自主驾驶汽车,在内容交付网络中进行智能路由和军事模拟[9]。
人工智能于1955年作为一门学科创立,在此后的几年中经历了几波乐观主义[10][11],随后失望和资金损失(称为“AI寒冬”)[12][13],然后是新的方法、成功和再次获得资金[11][14]。在其大部分历史上,AI研究一直分为子领域,这些子领域经常无法相互沟通[15]。这些子领域基于技术考虑,例如特定目标(例如“机器人学”或“机器学习”)[16],使用特定工具(“逻辑”或人工神经网络),或者存在深刻的哲学差异[17][18][19]。子领域也基于社会因素(特定机构或特定研究人员的工作)[15]。
现在,我希望提取多个完整的句子,这些句子包含多个单词或字符串匹配。例如,我想搜索
intelligent
和machine learning
,并打印出所有包含这两个给定字符串的完整句子。是否有任何方法,导入Spacy模型,使用它可以检测短语匹配,例如查找所有包含智能和机器学习的单词并打印出来?同时,是否还可以以搜索机器学习的方式,提示深度学习、人工智能、模式识别等?
import spacy
nlp = spacy.load("en_core_web_sm")
from spacy.matcher import PhraseMatcher
phrase_matcher = PhraseMatcher(nlp.vocab)
phrases = ['machine learning', ''intelligent, 'human']
patterns = [nlp(text) for text in phrases]
phrase_matcher.add('AI', None, *patterns)
sentence = nlp (processed_article)
matched_phrases = phrase_matcher(sentence)
for match_id, start, end in matched_phrases:
string_id = nlp.vocab.strings[match_id]
span = sentence[start:end]
print(match_id, string_id, start, end, span.text)
我尝试过使用这个方法,但是它只提供了包含匹配ID号码的单词而不是完整的句子。
简而言之,
- 我正在尝试使用多个单词输入进行搜索,并找到完整的句子,这些句子包含任一输入单个字符串或所有字符串。
- 我正试图使用训练模型来找出建议的句子。