spaCy:词语、短语、名字和概念的检索

spaCy是一个先进且广受欢迎的自然语言处理Python库。

spaCy安装

spaCy入门

  • 使用spacy.blank来创建一个空白的("zh")的nlp对象。
  • 创建doc并打印其中的文本。

返回结果如下

文本(documents), 跨度(spans)和词符(tokens)

  • 使用spacy.blank来创建一个nlp对象。
  • 处理文本,然后在doc变量中创建一个Doc对象的实例。
  • 选取Doc中的第一个词符并打印出它的text

返回结果如下

  • 使用spacy.blank来创建一个中文的nlp对象。
  • 处理文本,然后在doc变量中创建一个Doc对象的实例。
  • Doc中截取其部分的词符”老虎”和”老虎和狮子”。

返回结果如下

词汇属性

  • 检查词符的text属性是否是人民币符号”¥“。
  • 获取文档中紧接着当前词符的词符。doc中下一个词符的索引是token.i + 1
  • 使用词符属性like_num来检查下一个doc中的词符是否构成一个数字。

返回结果如下

调用流程

  • 使用spacy.load来调用一个比较小的中文流程"zh_core_web_sm"
  • 处理文档并打印出文档中的文字。

安装流程包,代码如下(安装中文小报)

返回结果如下

语言学标注的预测

返回结果如下

  • 处理文本创建一个doc对象。
  • doc.ents做遍历,打印出实体的文本以及label_属性。

返回结果如下

命名实体在场景中的预测

  • 使用nlp对象来处理文本
  • 对所有实体进行遍历,打印出实体的文本和标注。
  • 看上去模型并没有预测出”iPhone X”。为这几个词符创建一个跨度(span)。

返回结果如下

Matcher的使用

  • spacy.matcher中导入Matcher
  • nlp对象中共享的vocab来初始化它。
  • 创建一个模板使它可以和"iPhone""X"这两个词符的"TEXT"值匹配。
  • 使用matcher.add方法把模板加入到matcher里面。
  • doc上面调用matcher,把结果存储在matches变量中。
  • 遍历所有的match,得到从索引start到索引end的匹配结果的跨度。

返回结果如下

匹配模板的书写

一个模板,只匹配到所有提及完整iOS版本的部分: “iOS 7”,“iOS 11”和”iOS 10”。

返回结果如下

  • 一个模板,只匹配到不同格式的”download”词(词符的原词是”download”), 后面跟着一个词性是"PROPN"(专有名词)的词符。

返回结果如下

  • 一个模板,匹配到形容词("ADJ") 后面跟着一两个名词"NOUN"(一个名词和另一个可能有的名词)。

返回结果如下

LEAVE A REPLY

游客评论不支持回复他人评论内容,如需回复他人评论内容请