텍스트 파일을 사전 처리하려고합니다. 각 행은 해당 문서의 빈도가있는 문서의 바이 그램 단어입니다. 여기서 각 라인의 예이다 : I는 전체 언어 자료로부터 사전을 생성하는 것을 처리 1사전에서 문서 용어 행렬을 만듭니다.
i_like 1 you_know 2 .... not_good. 이제 행별로 코퍼스를 읽고 사전을 가지고 문서 행렬을 만들고 행렬의 각 요소 (i, j)가 문서 "i"의 용어 "j"의 빈도가 되길 원합니다.
텍스트 파일을 사전 처리하려고합니다. 각 행은 해당 문서의 빈도가있는 문서의 바이 그램 단어입니다. 여기서 각 라인의 예이다 : I는 전체 언어 자료로부터 사전을 생성하는 것을 처리 1사전에서 문서 용어 행렬을 만듭니다.
i_like 1 you_know 2 .... not_good. 이제 행별로 코퍼스를 읽고 사전을 가지고 문서 행렬을 만들고 행렬의 각 요소 (i, j)가 문서 "i"의 용어 "j"의 빈도가 되길 원합니다.
사전 사용하여 각 단어에 대해 정수 인덱스를 생성하는 함수 생성 :
Dictionary<string, int> m_WordIndexes = new Dictionary<string, int>();
int GetWordIndex(string word)
{
int result;
if (!m_WordIndexes.TryGet(word, out result)) {
result = m_WordIndexes.Count;
m_WordIndexes.Add(word, result);
}
return result;
}
결과 행렬이다
List<List<int>> m_Matrix = new List<List<int>>();
처리 된 텍스트 파일의 각 행은 하나 개의 행을 생성을 매트릭스 :
List<int> ProcessLine(string line)
{
List<int> result = new List<int>();
. . . split the line in a sequence of word/number of occurences . . .
. . . for each word/number of occurences . . .{
int index = GetWordIndex(word);
while (index > result.Count) {
result.Add(0);
}
result.Insert(index, numberOfOccurences);
}
return result;
}
한 번에 한 줄씩 텍스트 파일을 읽고,각 줄에을 추가하고 결과 목록을 m_Matrix에 추가합니다.
문서의 이름은 어디에서 알 수 있습니까? 아니면 각 문서에 대한 텍스트 파일이 있습니까? – MiMo
텍스트 파일의 각 줄은 문서를 나타냅니다. (전체 텍스트 파일은 코퍼스입니다.) 그리고 각 문서가 제공되는 형식은 위 예제에서 쓴 것입니다. 희망이 지금은 분명합니다 – Angel