【技能篇】python读取文件、实体抽取
时间: 2024-01-11 08:14:47 浏览: 74
可以使用Python中的内置函数open来读取文件。下面是一个读取文件内容的示例代码:
```python
def read_file(file_path):
try:
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
return content
except FileNotFoundError:
print('文件不存在')
return None
file_path = 'example.txt' # 文件路径
content = read_file(file_path)
if content:
print(content)
```
上述代码中,read_file函数接收一个文件路径作为参数,然后使用with语句打开文件,并使用read方法读取文件内容。最后将内容返回。
实体抽取是指从文本中提取出特定类型的实体,例如人名、地名、组织机构名等。在Python中可以使用第三方库如NLTK、spaCy等进行实体抽取。以下是使用NLTK库进行人名实体抽取的示例代码:
```python
import nltk
def extract_person_names(text):
sentences = nltk.sent_tokenize(text) # 将文本分割成句子
tokenized_sentences = [nltk.word_tokenize(sentence) for sentence in sentences] # 对句子进行分词
tagged_sentences = [nltk.pos_tag(sentence) for sentence in tokenized_sentences] # 对分词后的句子进行词性标注
person_names = []
for tagged_sentence in tagged_sentences:
for chunk in nltk.ne_chunk(tagged_sentence): # 使用命名实体识别
if hasattr(chunk, 'label') and chunk.label() == 'PERSON': # 过滤出人名实体
person_names.append(' '.join(c[0] for c in chunk.leaves()))
return person_names
text = 'John and Lisa are good friends. They work at Google.'
person_names = extract_person_names(text)
print(person_names)
```
上述代码中,extract_person_names函数接收一个文本作为参数,首先将文本分割成句子,然后对每个句子进行分词和词性标注,接着使用命名实体识别来抽取人名实体。
阅读全文