首页 > 解决方案 > 创建同义词数据框

问题描述

我正在尝试从具有单词条目及其同义词的同义词库创建一个数据框。我想为每个基本单词有多个条目,条目数对应于词库中显示的条目数。

例如,我在下面发布了一段文字。这里的基本词是放弃,我希望为这个词创建一个包含 3 个条目的数据框。同义词将位于相应的列中。

abandon = "abandon   v.  1 give up or over, yield, surrender, leave, 
cede, let go,    deliver (up), turn over, relinquish. 2 depart from,              
leave, desert, quit, go away from.  3 desert, forsake, jilt, walk out on.  
4 give up, renounce; discontinue, forgo,              drop, desist, 
abstain from.              --n.  
5 recklessness, intemperance, wantonness, lack of             
 restraint, unrestraint.    abandoned adj.  1 left alone, forlorn, 
forsaken, deserted, neglected;              rejected, shunned, cast 
off or aside, jilted, dropped, outcast. Totally              alone, 
she felt abandoned by her friends. 2 bad, immoral,              amoral, 
wicked, sinful, evil, corrupt, unprincipled,              unrestrained, 
uninhibited, reprobate; loose, wanton, debauched,\n              wild, 
dissolute, dissipated, profligate; depraved, lewd,\n              lascivious, 
flagitious.  "

df = pd.DataFrame([abandon.split(".")])
df.head()

这段代码给了我一个 1 行 11 列的数据框。我需要的是 - 1 表示放弃(动词),1 表示放弃(名词),1 表示放弃(形容词)。这将给出空列,因为对于某些条目,同义词列表比其他条目长。

我的想法是这样的:替换“v”。, 'n.' 和“调整”。带有一些字符'*'

abandon_1 = abandon.replace('n. ', '*').replace(' v. ' , '*').replace(' adj. ' , '*')
abandon_1

但是我怎样才能正确使用 split 函数来获得具有我想要的结构的数据帧呢?我迷失了这一点。请记住,我的目标是将解决方案合并到作用于整个词库文本的循环中。

标签: pythonpandasdataframenlp

解决方案


推荐阅读