利用python写一段句子主谓宾成分抽取代码,并将结果以dataframe的形式表达
时间: 2024-05-13 19:13:26 浏览: 19
以下是利用Python实现句子主谓宾成分抽取的代码,并将结果以DataFrame的形式表达:
```python
import pandas as pd
import spacy
nlp = spacy.load("en_core_web_sm")
def extract_svo(sentence):
doc = nlp(sentence)
subject = ""
verb = ""
obj = ""
for token in doc:
if "subj" in token.dep_:
subject = token.text
elif "ROOT" in token.dep_:
verb = token.text
elif "obj" in token.dep_:
obj = token.text
return subject, verb, obj
sentences = ["I ate an apple", "The cat chased the mouse", "She is writing a book"]
svo_list = []
for sentence in sentences:
svo = extract_svo(sentence)
svo_list.append(svo)
df = pd.DataFrame(svo_list, columns=["Subject", "Verb", "Object"])
print(df)
```
输出结果如下:
```
Subject Verb Object
0 I ate apple
1 cat chased mouse
2 She writing book
```
该代码使用了spaCy库进行自然语言处理,通过遍历句子中的每个token,找到主语、谓语和宾语,并将其以DataFrame的形式输出。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)