Nlp 从句子中提取关系概念

Nlp 从句子中提取关系概念,nlp,word2vec,word-embedding,information-extraction,relationship-extraction,Nlp,Word2vec,Word Embedding,Information Extraction,Relationship Extraction,是否有当前的模型,或者我如何训练一个包含两个主题的句子的模型,如: [减数分裂]是一种[细胞分裂] 决定一个是另一个的孩子还是父母?在这种情况下,细胞分裂是减数分裂的母体。受试者是否已经确定,即,你是否事先知道每个句子中哪些单词或单词序列代表受试者?如果你这样做,我认为你在寻找的是关系提取 无监督方法 一种简单的无监督方法是使用词性标记查找模式,例如: 首先,您标记并获取每个句子的PoS标记: sentence = "Meiosis is a type of cell division." to

是否有当前的模型,或者我如何训练一个包含两个主题的句子的模型,如:

[减数分裂]是一种[细胞分裂]


决定一个是另一个的孩子还是父母?在这种情况下,细胞分裂是减数分裂的母体。

受试者是否已经确定,即,你是否事先知道每个句子中哪些单词或单词序列代表受试者?如果你这样做,我认为你在寻找的是关系提取

无监督方法

一种简单的无监督方法是使用词性标记查找模式,例如:

首先,您标记并获取每个句子的PoS标记:

sentence = "Meiosis is a type of cell division."
tokens = nltk.word_tokenize("Meiosis is a type of cell division.")
tokens
['Meiosis', 'is', 'a', 'type', 'of', 'cell', 'division', '.']

token_pos = nltk.pos_tag(tokens)
token_pos
[('Meiosis', 'NN'), ('is', 'VBZ'), ('a', 'DT'), ('type', 'NN'), ('of', 'IN'),
 ('cell', 'NN'), ('division', 'NN'), ('.', '.')]
然后构建一个解析器,根据PoS标记解析特定模式,这是一种调解两个主题/实体/名词之间关系的模式:

verb = "<VB|VBD|VBG|VBN|VBP|VBZ>*<RB|RBR|RBS>*"
word = "<NN|NNS|NNP|NNPS|JJ|JJR|JJS|RB|WP>"
preposition = "<IN>"
rel_pattern = "({}|{}{}|{}{}*{})+ ".format(verb, verb, preposition, verb, word, preposition)
grammar_long = '''REL_PHRASE: {%s}''' % rel_pattern
reverb_pattern = nltk.RegexpParser(grammar_long)
如果解析器输出一个REL_短语,则两个主题之间存在关系。然后,您需要分析所有这些模式,并确定哪些模式表示关系的父关系。实现这一点的一种方法是对它们进行聚类

监督方法

如果你的句子已经标记了主语/实体和关系类型,即监督场景,那么你可以构建一个模型,其中特征可以是两个主语/实体之间的单词和标签上的关系类型

sent: "[Meiosis] is a type of [cell division.]"
label: parent of

您可以构建
是一种
类型的向量表示,并训练分类器来预测的父标签
。为此,您需要许多示例,这还取决于您有多少不同的类/标签。

谢谢!对于有监督的方法,您建议我使用什么单词嵌入进行聚类?您可以简单地添加每个单词的单词嵌入,可能会删除形容词/停止词;我不赞成任何特定的嵌入方法,更重要的是域,如果可能的话,在数据域上训练嵌入。好的,对于无监督的方法,一旦我有了模式,我如何对它们进行聚类?我也需要一个单词嵌入吗?嵌入只是一个表示,你可以使用任何你想要的,一个热编码TF-IDF加权的单词和嵌入;i、 你需要提出一个向量表示,然后应用一个聚类算法
sent: "[Meiosis] is a type of [cell division.]"
label: parent of