Giả sử tôi có một chuỗi các từ: 'a b c d e f'
. Tôi muốn tạo một danh sách các thuật ngữ nhiều từ từ chuỗi này.Làm cách nào để tạo các cụm từ nhiều từ theo cách đệ quy?
Thứ tự từ quan trọng. Thuật ngữ 'f e d'
không được tạo từ ví dụ trên.
Chỉnh sửa: Ngoài ra, không nên bỏ qua các từ. 'a c'
hoặc 'b d f'
không được tạo.
Những gì tôi có ngay bây giờ:
doc = 'a b c d e f'
terms= []
one_before = None
two_before = None
for word in doc.split(None):
terms.append(word)
if one_before:
terms.append(' '.join([one_before, word]))
if two_before:
terms.append(' '.join([two_before, one_before, word]))
two_before = one_before
one_before = word
for term in terms:
print term
Prints:
a
b
a b
c
b c
a b c
d
c d
b c d
e
d e
c d e
f
e f
d e f
Làm thế nào tôi có thể làm cho này một hàm đệ quy để tôi có thể vượt qua nó một số lượng tối đa biến các từ mỗi học kỳ?
Ứng dụng:
tôi sẽ sử dụng này để tạo điều kiện nhiều từ từ văn bản có thể đọc được trong tài liệu HTML. Mục tiêu tổng thể là một phân tích ngữ nghĩa tiềm ẩn của một kho văn bản lớn (khoảng hai triệu tài liệu). Đây là lý do tại sao giữ các vấn đề trật tự từ (Xử lý ngôn ngữ tự nhiên và điều gì đó).
Để đơn giản, tôi đã thay thế các chữ cái đơn cho các từ. – tgray
ý của bạn là "số lượng cụm từ tối đa có thể thay đổi cho mỗi từ"? bởi vì nó không có ý nghĩa với tôi ở dạng hiện tại. – SilentGhost
Tôi nghĩ câu hỏi thực sự ở đây là, nó có cần phải đệ quy để thực hiện công việc không? Có yêu cầu đệ quy ở đây không? –