当前位置: 首页 > 面试题库 >

匹配POS标签和单词序列

陈瀚
2023-03-14
问题内容

我有以下两个带有POS标签的字符串:

Sent1 :“ 类似作家专业或 词组工作方式的 东西真的很酷。

[(’something’,’NN’),(’like’,’IN’),(’how’,’WRB’),(’writer’,’NN’),(’pro’,’NN’)
,(或),(CC),(短语学,NN),(作品,NNS),(would,MD),(be,VB)
,(’really’,’RB’),(’cool’,’JJ’),(’。’,’。’)]

Sent2 :“ 像语法编辑器这样的更多选项会很好

[(’more’,’JJR’),(’options’,’NNS’),(’like’,’IN’),(’the’,’DT’),(’syntax’,’NN’)
,(’editor’,’NN’),(’would’,’MD’),(’be’,’VB’),(’nice’,’JJ’)]

我正在寻找一种方法来检测(返回True)是否存在以下序列:这些字符串中的“ would” + be” +形容词(无论形容词的位置如何,只要其位于“
would”“ be”之后)在第二个字符串中,形容词“ nice”紧跟在“ would be”之后,但在第一个字符串中不是这样。

琐碎的情况(形容词前没有其他词; “会很好”)
在我的较早问题中得到了解决:检测POS标签模式以及指定的词

我现在正在寻找一种更通用的解决方案,其中在形容词之前可以出现可选单词。我是NLTK和Python的新手。


问题答案:

首先nltk_cli按照说明安装:https :
//github.com/alvations/nltk_cli

然后,这是中的一个秘密函数nltk_cli,也许您会发现它很有用:

alvas@ubi:~/git/nltk_cli$ cat infile.txt 
something like how writer pro or phraseology works would be really cool .
more options like the syntax editor would be nice
alvas@ubi:~/git/nltk_cli$ python senna.py --chunk2 VP+ADJP infile.txt 
would be    really cool
would be    nice

为了说明其他可能的用法:

alvas@ubi:~/git/nltk_cli$ python senna.py --chunk2 VP+VP infile.txt 
!!! NO CHUNK of VP+VP in this sentence !!!
!!! NO CHUNK of VP+VP in this sentence !!!
alvas@ubi:~/git/nltk_cli$ python senna.py --chunk2 NP+VP infile.txt 
how writer pro or phraseology works would be
the syntax editor   would be
alvas@ubi:~/git/nltk_cli$ python senna.py --chunk2 VP+NP infile.txt 
!!! NO CHUNK of VP+NP in this sentence !!!
!!! NO CHUNK of VP+NP in this sentence !!!

然后,如果您要检查句子中的短语并输出True / False,只需读取并遍历输出nltk_cli并检查if-else条件即可。



 类似资料:
  • 我一直在使用Stanford POS Tagger标记句子中的词性。我从stackoverflow上的留档和其他问题中学到的是,下面的代码给出了句子的POS标记 但我想要的是获得单个单词的POS标签。一种可能的方法是分解输入字符串并逐字逐句地向Tagger提供输入,但它似乎并不优雅,我认为它增加了出错的机会。Javadoc说应用函数可以返回标记单词的数组列表,但我无法成功调用此函数。任何想法,我怎

  • A well-known tag balancing: searches for tag or tag's content bounds from current caret position and selects it. It will expand (outward balancing) or shrink (inward balancing) selection when called m

  • tl;dr.我怎样才能将词根和词性标签组合成一个完全修改过的单词? 例如:

  • 我正在尝试执行一个bash文件,该文件执行以下操作: 从文件夹中,仅提取文件名中包含干净单词的文件夹。 从这些中,如果其中有一个1,那么取那个和下面的。 现在,我站在这一点上: 我对if语句有问题,因为我不知道如何表达它 谢谢

  • 问题内容: 我想在python中使用wordnet lemmatizer,并且我了解到默认pos标记为NOUN,并且除非为pos标记明确指定为VERB,否则它不会为动词输出正确的引理。 我的问题是,为了准确地进行上述词素化,什么是最好的镜头? 我使用了pos标记,但是迷失了将树库pos标记集成到wordnet兼容pos标记中的信息。请帮忙 我得到了NN,JJ,VB,RB中的输出标签。如何将它们更改

  • 我想在python中使用wordnet lemmatizer,我了解到默认的pos标记是NOUN,并且它不会为动词输出正确的引理,除非pos标记明确指定为动词。 我的问题是什么是最好的镜头,以便准确地执行上述表达? 我使用做了pos标记,我迷失在将树库pos标记集成到wordnet兼容pos标记中。请帮助 我得到了NN、JJ、VB、RB中的输出标签。如何将这些更改为与wordnet兼容的标签? 我